在进行SRC挖掘时,我们经常会遇到各种无法访问的页面,例如403、401、404、405和500等状态码。在遇到这些页面时,我们应该考虑是否直接跳过下一个,还是使用工具(如dirsearch)等对目录进行深入扫描呢。带着疑问我们进行今天的403绕过指南。
我们在渗透测试时总会遇到一些无法访问的页面,这里列举一些常见的报错代码和其含义:
- 401 Unauthorized - 表示请求未提供有效的身份验证凭证,用户未被授权访问该页面。
- 403 Forbidden - 表示服务器理解请求,但拒绝执行该请求,用户没有权限访问该资源。
- 404 Not Found - 表示服务器无法找到请求的页面,可能是因为URL不正确或页面被删除。
- 405 Method Not Allowed - 表示请求中使用的HTTP方法(如GET、POST等)被服务器禁止,可能是该资源不允许使用特定的方法进行操作。
- 500 Internal Server Error - 表示服务器内部出现错误,无法完成请求,可能是代码错误或服务器配置问题。
- 502 Bad Gateway - 表示服务器作为网关或代理时,收到了无效的响应,通常是与上游服务器的通信出现问题。
- 503 Service Unavailable - 表示服务器暂时无法处理请求,通常是由于过载或维护。
- 504 Gateway Timeout - 表示服务器作为网关或代理时未能及时从上游服务器获取响应,可能是后端服务器超时。
- 410 Gone - 表示请求的资源已经被永久删除,且不会再可用。
- 307 Temporary Redirect - 表示请求的资源临时移动到其他位置,可能会在后续请求中被重定向。
从中可以看出403其实是用户发出了正确的请求,服务器也能识别该请求。但是服务器端发现请求参数中没有他想要的验证参数,或者这不是普通用户或正常用户有权限访问的接口。他和401的权限不足也有明显区别,401指请求未提供有效的身份认证凭证,而403则意味着服务器理解请求但拒绝执行,即使提供了有效的凭证也无法访问该资源。
我们知道了403报错的原理就很容易知道怎么绕过它了。只需要找到他想要的验证参数或者是足够的权限即可。
1.修改请求方法
修改HTTP请求方法可能绕过403状态的限制,因为Web服务器可能对不同方法的权限配置不一致,允许某些方法访问受限制的资源。例如,某些资源可能对GET请求是开放的,而对POST请求则受到保护。通过修改请求方法,可能会触发允许访问的路径。这里给出常见的请求方法:
2.更换协议版本
更换协议版本(如HTTP/1.1到HTTP/2或HTTP/3)可能绕过403状态的原因在于某些Web服务器或应用可能对不同协议版本的请求处理存在差异,导致权限控制或验证逻辑的漏洞,从而允许访问原本被限制的资源
3.更换useer-agent
某些Web服务器或应用根据User-Agent字符串实施访问控制策略。有些服务器可能在检测到特定的User-Agent(如已知的爬虫、攻击工具或脚本)时会主动拒绝请求,而更改User-Agent使其看起来像是合法的浏览器或用户代理,可以避开这些限制,从而获得对受限资源的访问。
4.请求覆盖绕过
请求覆盖绕过403状态的关键在于利用服务器对请求验证及权限控制不一致的处理方式。通过精确修改请求中的一些参数或头部信息,攻击者能够让Web应用错误地评估请求的合法性,从而获得对被保护资源的访问。进行这类尝试时,请确保在合法和授权的环境下进行。
修改前:
修改后 :
5.Referer表头饶过
Referer头的绕过技巧主要是通过伪造或修改Referer信息,使得请求从表面上看像是合法的来源,从而绕过Web应用的访问控制。这类技术的有效性和可行性依赖于服务端的配置和实现方式。
6.Host绕过
Host头绕过403的原理主要在于利用服务器对请求路径和代理的处理差异,通过伪造 Host 头以获得对特定资源的未授权访问。例如把域名改为IP等
7.端口绕过
通过更改端口进行的绕过技术主要依赖于目标Web服务在不同端口上可能存在的安全配置差异。攻击者可以通过请求非标准端口尝试访问被保护的资源,从而绕过403 Forbidden的限制。
8.Http头部绕过
通过修改HTTP头部绕过403 Forbidden限制的技术主要依赖于伪造请求中的特定头,使服务器误认为请求来自有效或被允许的位置。
9.自动化工具或插件绕过
https://github.com/iamj0ker/bypass-403
https://github.com/yunemse48/403bypasser
https://github.com/carl1l/f403
在进行SRC挖掘时,403错误往往意味着请求被拒绝访问,通过多种绕过手段(如修改请求方法、Headers、协议版本、端口等),我们可以尝试继续探索受限资源,造成漏洞的产出。最后祝各位师傅天天出高危。
到此这篇codependence什么意思(codependent)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/26909.html