当前位置: 首页 > article >正文

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

 大家好,我是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://www.kler.cn/news/362083.html

相关文章:

  • 宣恩文旅微短剧双作开机,融合创新助力城市经济发展
  • U盘文件或目录损坏且无法读取:原因、恢复与预防全攻略
  • uniapp项目结构基本了解
  • Python语法基础
  • LeetCode刷题日记之贪心算法(五)
  • Lua repeat-until循环
  • UG NX12.0建模入门笔记:1.0 UG NX12.0安装教程
  • 计算机视觉在疲劳检测中的应用
  • MySQLDBA修炼之道-开发篇(一)
  • webAPI中的触屏事件、轮播图、插件以及本地存储
  • 鸿蒙系统 VS 安卓系统,谁将引领未来移动操作系统?
  • 十九、Python基础语法(字典(dict))
  • Tftpd.exe源代码分析----TftpdIoPostReceiveBuffer函数分析
  • 10月22日,每日信息差
  • 基础学习-centos修改本地语言
  • 【C++】vector(1)
  • Linux中文件的读写过程
  • 制造企业数字化转型顶层规划案例(55页满分PPT)
  • Vue学习笔记(四、v-bind指令)
  • 复旦大学全球供应链研究中心揭牌,合合信息共话大数据赋能
  • VMware通过Vcenter升级Esxi
  • 人工智能技术的应用与未来展望
  • 电子电气架构---中央/准中央+区域架构已成为OEM主机厂降本利器
  • 059_基于python智能文献管理系统
  • MySQL 创新版9.1.0有哪些功能?
  • 摩熵数科数据产品阵容BCPM