zoukankan      html  css  js  c++  java
  • CSRF 认识

    CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。利用受害者尚未失效的身份认证信息(cookie,会话等),诱变点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向服务器发送请求,从而完成非法操作。

    HTTP Referer:   Referer  是  HTTP  请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头信息里有包含  Referer  。Http协议头中的Referer主要用来让服务器判断来源页面, 即用户是从哪个页面来的,通常被网站用来统计用户来源,是从搜索页面来的,还是从其他网站链接过来,或是从书签等访问,以便网站合理定位.

    类型:

      1.GET请求。

        验证时,直接在另一个浏览器上登录账户后访问URL即可。利用时,则将URL放在html标签中进行伪装。

        POC构造:

          <img src="url" border="0" style="display: none;"/>

          <h1>404</h1>

          <h2>file not found.</h2>

      2.POST请求。

        需要构造HTML表单。burp中可以直接构造也可以自己写

         POC构造:

            <!DOCTYPE html>

            <html>
            <body>
            <form name="poc" action="" method="POST" type="hidden">
            <input type="hidden" name="newEmail" value="xx"/>
            <input type="submit" value="submit request" style="display: none;">
            </form>
            </body>
            <script>
            poc.submit();
            </script>
            </html>

    基本绕过

    (1).referer

        (1).是否属于指定域

        (2).指定关键字

        (3)是否有指定域

        (4)为空时

    (2).token

    防护

      (1).验证码

      (2)token :加密,随机令牌

      (3)通过请求头判断请求是否与当前页面同源

      

  • 相关阅读:
    反射
    特性(Attribute)
    简单了解Ado.net(下)
    幸福不会来敲门
    C#网络编程之服务客户模式在控制台下的简单交互
    简单了解Ado.net(上)
    简单实体框架
    自己动手写泛型List<T>
    opencv学习之路(1)
    C语言学习之文件操作(含重庆大学研究生程序设计大赛的题目和解答)
  • 原文地址:https://www.cnblogs.com/pangya/p/8992248.html
Copyright © 2011-2022 走看看