首页 > 其他分享 >CSRF篇

CSRF篇

时间:2023-10-16 15:24:11浏览次数:35  
标签:请求 token referer CSRF 攻击者 数据包

CSRF

CSRF(Cross-Site Request Forgery)漏洞是一种Web应用程序安全漏洞,它利用了用户在已登录的Web应用程序上的身份验证状态。攻击者通过欺骗用户使其执行非预期的操作,从而利用用户的权限发起恶意请求。

无任何防护网站CSRF攻击:

  1. 先抓取到那个你要实现的功能的那个数据包(比如说你要让网站莫名出现一个管理员,那你就要把正常创建管理员的那个请求数据包整个给copy下来,然后把包放在自己的电脑上,等待触发,只要一触发不就代表又在发送创建管理员账号的请求了吗)
  2. 数据包可以在信息收集的过程中,去找到网站的相同源码。然后自己搭建一个相同的网站,把功能数据包抓取下来。可能性不大
  3. 可以用BP工具把那个数据包包装成html页面,只要访问这个html页面既是发送了此请求
  4. 全部匹配就是严谨的对比,匹配对比就属于不严谨的对比

全部匹配的严谨过滤绕过思路:

  1. 如果是全部匹配的严谨过滤可以配合xss和文件上传来进行攻击,不是会判断来源于哪个域名下来判断操作合理吗,因为是html文件,上传或许是可以的;那么我把这个请求数据包上传到对方自己的服务器下面,进行访问。那就是可以绕过全部匹配的,因为这请求源本身就来自于对方自己的域名下
  2. 目标代码可能存在如果referer值为空,则直接返回true;因为有些正常操作就是直接访问本身就没有来源,在本地上的正常的操作就没有来源这一值
  3. :让数据包没有referer头

不严谨的匹配绕过思路:

更改referer头的值,不严谨就是说只要referer头里的值,存在既定好的那个地址就可以通过,那我们可以在伪造的数据包里的referer头里直接添加网站的路径地址即可。

防范CSRF攻击的方法:

  1. 检测Referer字段是否同源,遵循同源策略,确保只有同一来源的请求才能访问敏感操作。这有助于防止来自其他域的恶意请求。 ($_SERVER[‘HTTP_REFERER’])获取referer头

    • 判断Referer字段的值存在两种可能,第一种是全部匹配,就要要更既定好的字符一模一样才行;第二种就是匹配对比,只要referer的值有既定的那串字符存在就好。
  2. 如果设置了token,csrf攻击事先保存的那个数据包里的token,和受害人发送的那次数据包里的token会不匹配的,就可以防御csrf攻击了。

    • Tokne验证可能存在三个问题:复用,删除,置空;怎么去测试目标网站是否有这三个token验证问题的存在呢?

      1. 删除问题就在我们请求的数据包里把token这个连头带值直接删除,如果能成功响应,那就是存在此问题;
      2. 置空就是把token头留下,但值删除如果能正常响应那就是有置空问题;
      3. 复用的问题,就是你两次发送数据包都用一样的token值如果能正常响应,那就是有token校验问题。
  3. 使用HTTP头部: 设置HTTP头部中的SameSite属性,限制第三方站点对Cookie的访问,从而降低CSRF攻击的风险。

  4. 双重身份验证: 引入双重身份验证,即使攻击者能够发起一些操作,但仍需要额外的身份验证步骤。

  5. Token不是放在请求参数中,而是放在了cookie中,这样攻击的请求同样会带上这个token(浏览器会将cookie自动带上),就达不到防攻击的作用了

如果存在CSRF漏洞的话能做什么:

  1. 更改用户密码 通过构造特定的CSRF请求,攻击者可能能够更改用户的密码,将其锁定出帐户。
  2. 执行资金转移攻击者可能尝试发起未经授权的资金转移。
  3. 更改用户设置 攻击者可以修改用户的个人设置、权限或偏好,导致不良影响。
  4. 发起恶意操作 例如,攻击者可能在用户不知情的情况下发起恶意操作,比如发布不当内容、删除数据等。

CSRF漏洞挖掘:

  1. 抓取一个正常请求的数据包,如果没有Referer字段和token,那么极有可能存在CSRF漏洞
  2. 如果有Referer字段,但是去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。
  3. 分析目标应用程序: 仔细了解目标应用程序的功能和交互。特别关注那些对用户状态敏感的操作,比如修改密码、发起支付等。
  4. 检查请求参数: 查看应用程序中的请求,注意是否有明显的CSRF防护机制,如同源检查(SameSite Cookie属性)、Token等。
  5. CSRF PoC: 创建一个CSRF攻击的PoC,验证攻击是否成功。这可以通过手动执行攻击或使用自动化工具来实现。
  6. 自动化工具: 使用专门的漏洞扫描工具,如Burp Suite,来扫描应用程序,检测潜在的CSRF漏洞。

标签:请求,token,referer,CSRF,攻击者,数据包
From: https://www.cnblogs.com/xrzxyyds/p/csrf-1x7tyk.html

相关文章

  • burpsuite靶场----CSRF----token验证取决于其是否存在
    burpsuite靶场----CSRF----token验证取决于其是否存在靶场地址https://portswigger.net/web-security/csrf/bypassing-token-validation/lab-token-validation-depends-on-token-being-present正式开始1.登录2.抓包,发现有token3.删掉这个csrf参数,发现无影响但是如果换......
  • burpsuite靶场----CSRF----token验证取决于请求方法
    burpsuite靶场----CSRF----无防御靶场地址https://portswigger.net/web-security/csrf/bypassing-token-validation/lab-token-validation-depends-on-request-method正式开始1.登录2.抓包,发现有一段token3.尝试删掉token,发现不行4.尝试改变请求方式发现也能实现功......
  • burpsuite靶场----CSRF----无防御
    burpsuite靶场----CSRF----无防御靶场地址https://portswigger.net/web-security/csrf/lab-no-defenses正式开始1.登录2.更改email,抓包3.创建poc<html><!--CSRFPoC-generatedbyBurpSuiteProfessional--><body><script>history.pushState(......
  • CSRF 攻击原理与防御
    定义跨站请求伪造,攻击者利用服务器对用户信任,从而欺骗受害者点击vps上的恶意请求链接。与xss的区别xss是利用用户对服务端的信任;csrf利用服务端对用户的信任xss攻击是让脚本在用户浏览器上执行,服务端只是恶意脚本的载体;csrf攻击不需要知道用户cookie,让受害者点击我们准备......
  • [SpringSecurity5.6.2源码分析十二]:CsrfFilter
    前言• Csrf(跨站伪造请求):指的是用户在A网站认证完成后,A网站Cookie保存在了浏览器中,然后用户在B网站点击了钓鱼链接,使其让钓鱼请求带有了A网站的Cookie,从而让A网站认为这是一次正常的请求• 而SpringSecurity采用的是同步令牌模式(SynchronizerTokenPattern)来预防Csrf攻击•......
  • CSRF-介绍
    CSRF:跨站请求伪造(Cross-siterequestforgery)CSRF是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。当用户访问含有恶意代码的网页时,会向指定正常网站发送非本人意愿的数据请求包(如转账给hack,向hack发送API等)如果此时用户恰好登录了该正常网站(也就是身份......
  • DVWA靶场通关-CSRF(跨站请求伪造)
    BruteForce(暴力(破解))、CommandInjection(命令行注入)、CSRF(跨站请求伪造)、     FileInclusion(文件包含)、FileUpload(文件上传)、InsecureCAPTCHA(不安全的验证码)、    SQLInjection(SQL注入)、SQLInjection(Blind)(SQL盲注)、XSS(DOM)(基于DOM树)、    XSS(Reflec......
  • 08CSRFSSRF:为什么避免了XSS,还是“被发送”了一条微博?
    CSRF攻击时如何产生的?当用户在网站上进行登录认证后,网站会为其生成一个会话(session),并为该会话分配一个唯一的标识符(sessionID)。这个标识符通常存储在用户的浏览器的cookie中。当用户点击一个链接或提交一个表单时,浏览器会自动包含当前网站的cookie信息,包括会话标识符。这样,用户......
  • 《Web安全基础》05. XSS · CSRF · SSRF · RCE
    @目录1:XSS1.1:简介1.2:防护与绕过1.2.1:HttpOnly1.2.2:WAF绕过1.3:相关资源2:CSRF3:SSRF4:RCE本系列侧重方法论,各工具只是实现目标的载体。命令与工具只做简单介绍,其使用另见《安全工具录》。靶场参考:XSS-Labs,pikachu,DVWS。1:XSS1.1:简介XSS(Cross-SiteScripting),跨站脚本攻击。......
  • bp利用CSRF漏洞(dvwa)
    打开dvwa,将难度调为low,点击CSRF,打开后发现有一个修改密码的输入框:在这里修改密码,并用bp抓包,在httphistory查看数据包,点击engagementtools中的GenerateCSRFPoc根据请求包生成一个CSRF攻击的网页:在生成的代码中修改密码为12345,点击testinbrowser在浏览器中测试:复制生成网页的UR......