zoukankan      html  css  js  c++  java
  • DWVA系列-2-csrf Medium等级 绕过refer的csrf 有点小曲折

    打算从0到1,重新做一遍DWVA靶场,复习各个技巧并记录下思路和总结。

     重复使用low等级的方式,会提示不正确的请求。

    是怎么回事呢?查看源代码

    而burp生成的poc中并没有refer数据,导致csrf未能成功。

     开始绕过。

    首先我百度了一下,有人说在攻击服务器上将我们的POC传上去,然后将POC命名为靶机的ip,也就是172.16.230.160.html,就可以将refer改成靶机IP进行绕过,那么这么做行不行呢?

    我直接在vps中按照步骤去做了,然后点击访问

     当我填入http://149.28.28.195/172.16.230.160.html此路径时,然后enter

    我发现我的界面变成了这样,点击submit抓包,refer竟然还是我vps的ip,这明显是在框我?

     

     我透了,这是在逗我么?谁说这种方式可以绕过的?

    我决定放弃burp生成的poc,自己写。

    <img src="http://172.16.1.178/DVWA/vulnerabilities/csrf/?password_current=password&password_new=111&password_conf=111&Change=Change&user_token=651abed3d232c64a3040a7303daf2ffe" border="0" style="display:none;"/>
    
    <h1>404<h1>
    
    <h2>file not found.<h2>

    而当我访问时,成了

     退出重新登录,成功。

    所以是我的poc写的有问题,这种方式是可以伪造refer的。那么问题出现哪里呢?

    为什么burp生成的poc就没有带上我们想要伪造的refer呢?

    我认为是访问burp生成的poc时,它需要点一下submit,在此之前,它并没有发出任何请求,而浏览器一定是有一个省略机制,比如你访问index.html,它自动把index.html给省掉了,所以当点击提交按钮,它就当你是url栏中的地址发出的,所以地址也就是vps的IP。而我后来自己写的poc,是当访问这个页面时就立马把请求发出了,而且是在带有靶机IP的时候发出的,所以refer中就带了靶机的IP。

    很神奇。

    未完待续......

  • 相关阅读:
    javascript 自定义事件
    javascript 实现HashTable(哈希表)
    NHibernate输出SQL语句
    Asp.net MVC Comet推送
    MySQL 数据备份与还原
    Mysql -- 慢查询
    cookie 的HttpOnly 和 Secure 属性
    Ubuntu -- 反射shell nc
    docker 访问宿主机网络
    k8s 配置文件 详解
  • 原文地址:https://www.cnblogs.com/miniboom/p/11855827.html
Copyright © 2011-2022 走看看