zoukankan      html  css  js  c++  java
  • CSRF总结

    CSRF(Cross-site request forgery )跨站请求伪造

    条件

    • CSRF的攻击建立在浏览器与web服务器的会话中
      • 直接的利用了用户浏览器保存的Cookie 让用户去执行某个动作
    • 欺骗用户访问URL
      • 让用户在同一浏览器中打开恶意URL,该网页会向用户登录的网站,发送请求,而服务器会认为请求是用户发出的,执行后,攻击成功

    如何判断是否存在CSRF漏洞

    • 判断一个网站是否存在CSRF漏洞,其实就是判断其对关键信息(比如密码等敏感信息)的操作(增删改)是否容易被伪造。
    • 要确定web应用的所有功能,哪些操作是敏感的,比如:修改密码,转账、发表留言

    CSRF与XSS的区别

    CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限(如,获取用户Cookie),然后实施破坏

    攻击场景

    get

    • 直接在URL中构造相关参数,诱导用户点击访问URL

    post

    • 可以构造一个form表单,利用JavaScript自动提交表单,(自动执行submit)
      如:

      <script>document.getElementById('submit').click();</script>
      

    伪装

    • 设置跳转页面

    • 设置不跳转页面

      • 利用AJAX

      • 通过form表单的target,如

               <iframe> frameborder="0" name="myiframe" width="0px" height="0px"></iframe>
               <form id="myform" method="post" target="myiframe" action="...">
        
        

    Cookie机制

    • 本地cookie(持久型cookie),设定了Expire字段,存储于本地
    • 临时cookie(session cookie),存储在内存中,关闭浏览器时,失效

    预防CSRF

    • 二次确认
    • Token认证
      • 验证码认证:
      • Token认证:
  • 相关阅读:
    LightOj 1016
    uva 127 "Accordian" Patience 简单模拟
    hdu 1180 诡异的楼梯 BFS + 优先队列
    UVALive 3907 Puzzle AC自动机+DP
    HDU 4001 To Miss Our Children Time DP
    HDU 4000 Fruit Ninja 树状数组
    hdu_1021_Fibonacci Again_201310232237
    hdu_1005_Number Sequence_201310222120
    hdu_1029-Ignatius and the Princess IV_201310180916
    hdu_1020_Encoding_201310172120
  • 原文地址:https://www.cnblogs.com/hacker-snail/p/14106109.html
Copyright © 2011-2022 走看看