XSS挑战赛 --前13关

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

2、xss的分类
 
xss根据其特性和利用方式能够分为三大类:反射型xss,存储型xss,DOM型xss
 
一、反射型xss
反射型xss通常出如今URL参数中及网站搜索栏中,因为须要点击包含恶意代码的URL才能够触发,而且只能触发一次,因此也被称为“非持久性xss”。
 
二、存储型xss
存储型xss一出如今网站留言板,评论处,我的资料处,等须要用户能够对网站写入数据的地方。好比一个论坛评论处因为对用户输入过滤不严格,致使攻击者在写入一段窃取cookie的恶意JavaScript代码到评论处,这段恶意代码会写入数据库,当其余用户浏览这个写入代码的页面时,网站从数据库中读取恶意代码显示到网页中被浏览器执行,致使用户cookie被窃取,攻击者无需受害者密码便可登陆帐户。因此也被称做“持久性xss”。持久性xss比反射型xss危害要大的多。
 
三、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全编码


三:javascript

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

参考答案:java