XSS挑战赛 --前13关

一、xss的形成原理
 
xss 中文名是“跨站脚本攻击”,英文名“Cross Site Scripting”。
xss也是一种注入攻击,当web应用对用户输入过滤不严格,攻击者写入恶意的脚本代码(HTML、JavaScript)到网页中时,如果用户访问了含有恶意代码的页面,恶意脚本就会被浏览器解析执行导致用户被攻击。
常见的危害有:cookie窃取,session劫持,钓鱼攻击,蠕虫,ddos等。

二、xss的分类
 
xss根据其特性和利用方式可以分为三大类:反射型xss,存储型xss,DOM型xss
 
1、反射型xss
反射型xss一般出现在URL参数中及网站搜索栏中,由于需要点击包含恶意代码的URL才可以触发,并且只能触发一次,所以也被称为“非持久性xss”。
 
2、存储型xss
存储型xss一出现在网站留言板,评论处,个人资料处,等需要用户可以对网站写入数据的地方。比如一个论坛评论处由于对用户输入过滤不严格,导致攻击者在写入一段窃取cookie的恶意JavaScript代码到评论处,这段恶意代码会写入数据库,当其他用户浏览这个写入代码的页面时,网站从数据库中读取恶意代码显示到网页中被浏览器执行,导致用户cookie被窃取,攻击者无需受害者密码即可登录账户。所以也被称作“持久性xss”。持久性xss比反射型xss危害要大的多。
 
3、dom型xss
DOM xss是基于dom文档对象模型,前端脚本通过dom动态修改页面,由于不与服务端进行交互,而且代码是可见的,从前端获取dom中的数据在本地执行。
常见的可以操纵dom的对象:URL,localtion,referrer等

引起触发的几条语句:
<script>alert('hello,gaga!');</script>
>"'><img src="javascript.:alert('XSS')">
' onmouseover=alert(2) '
" onclick=alert(1) "
"><a href=javascript:alert(1)>ddd
"><img src=# onerror=alert(1)>>
<svg onload=alert(1)>

绕过思路:
1.JS编码
   八进制e   \145
    十六进制   e  \x65  或者  \x0065
    特殊C风格: \n   \r
2.HTML实体编码
   命名实体:<        &lt;
   字符编码:十进制、十六进制 ASCII码或Unicode字符编码
                       样式为:“&#数值;”
                   例如: <    可以编码为  &#060; &#x3c
3.URL编码
       两次URL全编码


三:

xss挑战  网址:
http://xss.tesla-space.com/

参考答案:

 

 

posted on 2019-02-01 18:21  a阿军  阅读(569)  评论(0编辑  收藏  举报

导航