freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

如何使用Forbidden绕过4xx HTTP响应状态码
Alpha_h4ck 2022-01-05 13:14:16 363200
所属地 广西

关于Forbidden

Forbidden是一款基于PycURL开发的网络安全工具,该工具可以帮助广大研究人员轻松绕过4xx HTTP响应状态码。

Forbidden使用了多线程机制,并基于暴力破解实现其功能,因此工具可能存在一些误报。除此之外,该脚本还支持色彩高亮输出。

工具处理结果支持按HTTP响应状态代码升序排列、内容长度降序排列和ID升序排列。

如果需要过滤误报信息,请使用项目提供的cURL命令手动检查每个内容长度。如果处理结果表明没有实现4xx HTTP响应状态码绕过,只需要直接忽略具有相同内容长度的所有其他结果即可。

测试

范围

各种HTTP方法

方法

各种带有'Content-Length: 0' Header的HTTP方法

方法

使用HTTP TRACE和TRACK方法的跨站追踪(XST)

方法

使用HTTP PUT方法的文件上传

方法

各种HTTP方法覆盖

方法覆盖

各种HTTP Header

header

各种URL覆盖

header

使用两个“Host” Header覆盖URL

header

各种URL路径绕过

路径

各种URL方案覆盖

方案覆盖

基础认证/包含空会话的认证

认证

存在问题的URL解析器

解析器

注意:该工具目前已在Kali Linux v2021.4(64位)平台进行过测试。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/ivan-sincek/forbidden.git

工具运行

打开你熟悉的终端窗口,切换至项目的/src/目录下,然后运行下列相关命令。

安装所需的依赖工具:

apt-get install -y curl

安装所需的代码包:

pip3 install -r requirements.txt

运行工具脚本:

python3 forbidden.py

注意:考虑到访问频率限制,如果你只想针对同一个域名进行测试并期望获取更好的结果,请在运行脚本时多给一些间隔时间。

某些网站可能需要设置用户代理Header,你可以从【这里】下载一个用户代理列表。

工具自动化使用

绕过“403 Forbidden” HTTP响应状态码:

count=0; for subdomain in $(cat subdomains_403.txt); do count=$((count+1)); echo "#${count} | ${subdomain}"; python3 forbidden.py -u "${subdomain}" -t method,method-override,header,path,scheme-override -f GET -o "forbidden_403_results_${count}.json"; done

绕过“401 Unauthorized” HTTP响应状态码:

count=0; for subdomain in $(cat subdomains_401.txt); do count=$((count+1)); echo "#${count} | ${subdomain}"; python3 forbidden.py -u "${subdomain}" -t auth -f GET -o "forbidden_401_results_${count}.json"; done

检查存在问题的URL解析器:

count=0; for subdomain in $(cat subdomains_live_long.txt); do count=$((count+1)); echo "#${count} | ${subdomain}"; python3 forbidden.py -u "${subdomain}" -t parser -f GET -o "forbidden_parser_results_${count}.json"; done

支持的HTTP方法

ACL

ARBITRARY

BASELINE-CONTROL

BIND

CHECKIN

CHECKOUT

CONNECT

COPY

DELETE

GET

HEAD

INDEX

LABEL

LINK

LOCK

MERGE

MKACTIVITY

MKCALENDAR

MKCOL

MKREDIRECTREF

MKWORKSPACE

MOVE

OPTIONS

ORDERPATCH

PATCH

POST

PRI

PROPFIND

PROPPATCH

PUT

REBIND

REPORT

SEARCH

SHOWMETHOD

SPACEJUMP

TEXTSEARCH

TRACE

TRACK

UNBIND

UNCHECKOUT

UNLINK

UNLOCK

UPDATE

UPDATEREDIRECTREF

VERSION-CONTROL

支持的HTTP Header

覆盖HTTP Header:

X-HTTP-Method

X-HTTP-Method-Override

X-Method-Override

HTTP Header:

Client-IP

Cluster-Client-IP

Connection

Contact

Forwarded

Forwarded-For

Forwarded-For-Ip

From

Host

Origin

Referer

Stuff

True-Client-IP

X-Client-IP

X-Custom-IP-Authorization

X-Forward

X-Forwarded

X-Forwarded-By

X-Forwarded-For

X-Forwarded-For-Original

X-Forwarded-Host

X-Forwarded-Server

X-Forward-For

X-Forwared-Host

X-Host

X-HTTP-Host-Override

X-Original-URL

X-Originating-IP

X-Override-URL

X-ProxyUser-IP

X-Real-IP

X-Remote-Addr

X-Remote-IP

X-Rewrite-URL

X-Wap-Profile

X-Server-IP

X-Target

HTTP Header方案覆盖:

X-Forwarded-Proto

X-Forwarded-Protocol

X-Forwarded-Scheme

X-Url-Scheme

X-URLSCHEME

URL路径

通过带斜杠和不带斜杠在URL路径的前面、后面以及前面和后面实现注入:

/

//

%09

%20

%2e

.

..

;

.;

..;

;foo=bar;

在URL路径结尾处注入:

~

~~

~~random

*

**

**random

#

##

##random

?

??

??random

在URL路径结尾处注入(如果URL路径不以“/”结束)

.php

.jsp

.jspa

.jspx

.jhtml

.html

.sht

.shtml

.xhtml

.asp

.aspx

.esp

处理结果数据样例

[

   {

      "id":501,

      "url":"http://example.com:80/admin",

      "method":"GET",

      "headers":[

         "Host: 127.0.0.1"

      ],

      "agent":"Forbidden/5.4",

      "proxy":null,

      "data":null,

      "command":"curl -m 5 --connect-timeout 5 -i -s -k -L --path-as-is -H 'Host: 127.0.0.1' -H 'User-Agent: Forbidden/5.4' -X 'GET' 'http://example.com:80/admin'",

      "code":200,

      "length":255408

   },

   {

      "id":541,

      "url":"http://example.com:80/admin",

      "method":"GET",

      "headers":[

         "Host: 127.0.0.1:80"

      ],

      "agent":"Forbidden/5.4",

      "proxy":null,

      "data":null,

      "command":"curl -m 5 --connect-timeout 5 -i -s -k -L --path-as-is -H 'Host: 127.0.0.1:80' -H 'User-Agent: Forbidden/5.4' -X 'GET' 'http://example.com:80/admin'",

      "code":200,

      "length":255408

   }

]

工具运行截图

项目地址

Forbidden:GitHub传送门

参考资料

https://webtechsurvey.com/common-response-headers

https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt

# HTTP响应码 # 响应码
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1020 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录