XSS(Cross Site Scipting),即跨站脚本攻击。是目前Web漏洞中最常见的,没有之一。
XSS原理
例如下面的一段textbox代码
1 | <input type="text" name="address1" value="XXX"> |
XXX是来自用户的输入,但是这段代码没有对XXX进行过滤,直接嵌入在代码中,如果用户输入的是
1 | "/><script>alert(document.cookie)</script><!- |
观察一下效果:
1 | <input type="text" name="address1" value=""/> |
这样,当事件被触发的时候,JavaScript代码将会被执行。
XSS漏洞的原理就是用户输入的数据变成了代码。其实这也是几乎所有漏洞产生的原因————未能区分数据和代码。
xss工具
暂时保留
xss类型
- 反射型XSS之Dom-Based XSS
- 存储型XSS
#####Dom-Based XSS:
*tip:普通反射型XSS(现代浏览器拦截):
用DVWA尝试一下普通的反射性XSS:
查看网页源代码:搜索一下name
根据闭合情况构造如下的用户输入
1 | ""</pre><script>alert(document.cookie)</script><!- |
发现什么都没有。
再次查看网页源代码:
在网页中右键点击检查,发现console选项卡中出现了如下情况,是chrome浏览器对反射型xss进行了过滤。
当然如果用户用的是古老版本的IE浏览器,是可以成功的,但是现在有谁还在用呢。。
下面切入正题:DOM-Based XSS:
基本上,DOM-Based XSS的攻击过程就是Bob先建立一个网站,用来偷盗信息,然后再利用XSS构造一个恶意的url,通过各种手段骗取Alice点击这个url,Alice的cookie等信息就会发送到这个url执行。
演示暂时保留。