首页 > 其他分享 >红队老子养成记4 - 不要遇到403就放弃,学会403绕过,找到别人找不到的接口!!(全网最多绕过!)

红队老子养成记4 - 不要遇到403就放弃,学会403绕过,找到别人找不到的接口!!(全网最多绕过!)

时间:2024-10-23 13:17:18浏览次数:9  
标签:HTTP 1.1 GET Request 别人找 403 绕过 Response

 大家好,我是Dest1ny!

今天继续更新我们的redteam系列!

这次主要的方向是撕开口子,找接口。

接口万一可以未授权或者rce,那妥妥的一个0day到手了啊!

也希望大家多多点赞支持!!这对我是最大的鼓励!


请求绕过技术与示例详解

1. 更改请求方法绕过

更改请求的HTTP方法(如从GET改为POSTPUTDELETE等)有时可以绕过对特定方法的限制。不同的HTTP方法可能触发不同的响应行为,尤其在API接口场景下,某些方法可能未受限制。

示例

  • 修改前

    Request: GET /test HTTP/1.1
    Response: HTTP/1.1 403 Forbidden
    
  • 修改后

    Request: POST /test HTTP/1.1
    Response: HTTP/1.1 200 OK
    

扩展说明:

有些服务器对POSTPUT请求的安全性校验不如GET严格,利用这一点可以发送修改数据的请求来尝试获取访问权限。


2. 更换协议版本绕过

HTTP协议版本的不同(如HTTP/1.1 vs HTTP/1.0 vs HTTP/2)可能会触发不同的服务端行为。尝试更换协议版本,某些服务可能在不同版本下的配置不一致,导致绕过验证。

示例

  • 修改前

    Request: GET /test HTTP/1.1
    Response: HTTP/1.1 403 Forbidden
    
  • 修改后

    Request: GET /test HTTP/1.0
    Response: HTTP/1.0 200 OK
    

扩展说明:

HTTP/1.0和HTTP/1.1的连接管理和缓存机制有区别,有时可以通过降级到HTTP/1.0绕过缓存机制,或者通过HTTP/2.0多路复用尝试绕过服务端限制。


3. 修改User-Agent头绕过

某些应用程序会检测User-Agent字段来区分是否为合法请求,比如区分爬虫和正常浏览器请求。通过伪造User-Agent字段,可以假装请求是由合法的浏览器发出,绕过防护机制。

示例

  • 修改前

    User-Agent: curl/7.68.0
    Response: HTTP/1.1 403 Forbidden
    
  • 修改后

    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
    Response: HTTP/1.1 200 OK
    

扩展说明:

通过伪造如Googlebot或常见的浏览器User-Agent可以绕过某些基于反爬虫的检测机制。通常这种检测较为简单,仅依赖User-Agent字段的匹配。


4. 使用特殊头部字段(X-Original-URL, X-Rewrite-URL)绕过

某些Web服务器允许使用特定的头部字段来重新指定请求的路径。通过发送X-Original-URLX-Rewrite-URL,可以覆盖请求中的URL路径,从而绕过访问限制。

示例

  • 修改前

    Request: GET /test HTTP/1.1
    Response: HTTP/1.1 403 Forbidden
    
  • 修改后

    Request: GET / HTTP/1.1
    X-Original-URL: /test
    Response: HTTP/1.1 200 OK
    

扩展说明:

这种方法适用于某些支持内部重写机制的Web服务器或反向代理服务,如Nginx、Apache等,可以通过这些头部字段强制重写请求路径。


5. Referer头部绕过

某些服务器依赖Referer头部来检查请求的来源,以验证是否为内部页面发出的请求。通过修改Referer头部,可以欺骗服务器认为请求来自合法来源。

示例

  • 修改前

    Request: GET /test HTTP/1.1
    Host: example.com
    Response: HTTP/1.1 403 Forbidden
    
  • 修改后

    Request: GET /test HTTP/1.1
    Host: example.com
    Referer: https://example.com/test
    Response: HTTP/1.1 200 OK
    

扩展说明:

Referer头部用于记录请求的来源页面,很多站点依赖此头部字段来进行CSRF保护、页面跳转验证。伪造Referer可以绕过这些简单的验证机制。


6. Host头部绕过

某些情况下,服务端只允许来自特定域名的请求。通过修改Host头部为子域名或IP地址,可以绕过这些域名验证限制。

示例

  • 修改前

    Request: GET /admin HTTP/1.1
    Host: example.com
    Response: HTTP/1.1 403 Forbidden
    
  • 修改后

    Request: GET /admin HTTP/1.1
    Host: sub.example.com
    Response: HTTP/1.1 200 OK
    

扩展说明:

部分站点对不同的子域名或IP地址可能存在不同的安全策略,修改Host字段可以绕过主域名的安全策略。


7. 端口绕过

如果服务器开放了多个端口,而仅有部分端口配置了防护机制,可以尝试通过未防护的端口访问受限资源。通常是运维配置疏忽导致的安全漏洞。

工具推荐:

  • 使用nmap等工具扫描开放端口。
    nmap -p 1-65535 example.com
    

8. IP伪造绕过(X-Forwarded-For等)

使用如X-Forwarded-ForX-Real-IP等头部字段,伪造请求的来源IP,欺骗服务器认为请求来自可信IP地址(如本地127.0.0.1)。

示例

  • 修改前

    Request: GET /admin HTTP/1.1
    Response: HTTP/1.1 403 Forbidden
    
  • 修改后

    Request: GET /admin HTTP/1.1
    X-Forwarded-For: 127.0.0.1
    Response: HTTP/1.1 200 OK
    

扩展说明:

服务器可能使用头部字段来信任反向代理传递的IP信息,伪造这些字段可使服务器误判请求来源,认为请求来自内部网络。


9. 模糊路径测试绕过

通过在URL路径中引入特殊字符、大小写变换或URL编码等方法,可以尝试绕过路径验证规则,访问受限资源。

示例

  • 修改前

    Request: GET /admin HTTP/1.1
    Response: HTTP/1.1 403 Forbidden
    
  • 修改后

    Request: GET /admin/./ HTTP/1.1
    Response: HTTP/1.1 200 OK
    

常见的模糊路径示例:

  • /admin/./
  • /admin/%2e/
  • /admin%20/
  • /admin/././

扩展说明:

不同的Web服务器在处理URL路径时的规则可能有所不同,通过添加特殊符号或编码,可以绕过路径验证机制。


10. 403状态码绕过工具

可以使用专门的工具自动化尝试绕过403状态码的限制,通过修改请求头、路径等方式进行测试。

工具推荐:

  • f403: 用于自动化403绕过尝试的工具。
    ./f403 -u http://example.com/admin -a 'cookie:123,Referer:https://example.com'
    
  • 403bypasser: 另一个功能类似的工具,支持自定义规则绕过。

11. API版本绕过

某些API接口的不同版本可能存在不同的权限设置,可以通过降级到旧版本的API绕过访问限制。常见于RESTful API中。

示例

  • 修改前

    Request: GET /v3/users_data/1234
    Response: HTTP/1.1 403 Forbidden
    
  • 修改后

    Request: GET /v1/users_data/1234
    Response: HTTP/1.1 200 OK
    

扩展说明:

某些API版本被废弃但仍然存在,通过访问旧版本可能可以绕过权限控制或者获得更多数据。

标签:HTTP,1.1,GET,Request,别人找,403,绕过,Response
From: https://blog.csdn.net/m0_70065235/article/details/143181619

相关文章

  • 2024-2025-1 20241403《计算机基础与程序设计》第四周学习总结
    学期(如2024-2025-1)学号(如:20241403)《计算机基础与程序设计》第四周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第四周作业)这个作业的目标门电......
  • 20222403 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    |1.实验内容1.1实践目标(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)(2)使用socat获取主机操作Shell,任务计划启动(3)使用MSFmeterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(4)使用MSFmeterpreter(或其他软件)生成获取目标......
  • sql注入盲注详解以及绕过waf方法
    盲注mysql函数普及exists():用于判度条件是否满足,满足返回True,否则返回Falseif(条件,为真返回的值,为假返回的值):根据条件真假返回指定的值length(string):计算出长度string可以是任何字符串字面量或者字段名。substr(string,子字符串开始的位置,要提取的子字符串长......
  • python - 分享绕过验证码登录的方法
    一、通过webdriver启动浏览器:二、添加cookie:三、切换到目标地址: #ThisisasamplePythonscript.fromseleniumimportwebdriverimporttime#PressShift+F10toexecuteitorreplaceitwithyourcode.#PressDoubleShifttosearcheverywhereforclas......
  • 记一次有趣的发现-绕过堡垒机访问限制
    前言    在某一次对设备运维管理的时候,发现的某安全大厂堡垒机设备存在绕过访问限制的问题,可以直接以低权限用户访问多个受控系统,此次发现是纯粹好奇心驱使下做的一个小测试压根没用任何工具。因为涉及到了很多设备和个人信息,所以尽量少放演示图片,且都进行了厚码。第......
  • 【bypass】bash绕过waf 的小技巧
    原创良辰红队笔记录无意中看到推特上面有个老外分享的一条命令$0<<<$\'\\$(($((1<<1))#10011010))\\$(($((1<<1))#10100011))\'其实这个命令就是ls搜了一下原来是这个意思$((1<<1))将1左移1位,得到2。2#10011010将二进制数10011010转换为十进制数154。同理2#1......
  • 403错误跳到网站首页
    处理403错误(禁止访问错误)并跳转到网站首页,可以通过几种不同的方式来实现,具体取决于您使用的编程语言和框架。下面我将分别给出几种常见Web开发环境下的示例:1.PHP在PHP中,可以使用header()函数来重定向页面:<?phpif($user_not_authorized){header('HTTP/1.1403Forbi......
  • Windows 11 绕过 TPM 方法总结,24H2 通用免 TPM 镜像下载 (Updated Oct 2024)
    Windows11绕过TPM方法总结,24H2通用免TPM镜像下载(UpdatedOct2024)在虚拟机、Mac电脑和TPM不符合要求的旧电脑上安装Windows11的通用方法总结请访问原文链接:https://sysin.org/blog/windows-11-no-tpm/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org......
  • sqli-labs less-23 注释符绕过
    注释符绕过来到23关,提示我们用id查询查询:http://192.168.140.130/sq/Less-23/?id=1页面回显正常,构造http://192.168.140.130/sq/Less-23/?id=1'报错Warning:mysql_fetch_array()expectsparameter1toberesource,booleangiveninC:\phpStudy_64\phpstu......
  • sqli-labs less-26 空格绕过
    空格绕过过滤空格用Tab代替空格%20%09%0a%0b%0c%0d%a0//()绕过空格注释符绕过//–%20//#–±--;%00;空白字符绕过SQLite3——0A,0D,0c,09,20MYSQL09,0A,0B,0B,0D,A0,20PosgressSQL0A,0D,0C,09,20Oracle_11g00,0A,0D,0C,09,20MSSQL01,02,03,04,05,06,0......