浅谈nginx - 飘渺红尘✨
2021-9-16 16:43:0 Author: www.cnblogs.com(查看原文) 阅读量:10 收藏

    以nginx为例子,nginx现在企业都用,测试版本1.12.0

   example1:

    nginx.conf:

    location /flag/ {
        deny all;
        return 403;
    }
    location /baidu/ {
        proxy_pass http://baidu.com;
    }
    
    location /qq {
        proxy_pass http://qq.com;
    }

  重启生效:

  测试访问:

  http://119.45.227.86:8080/flag/

  

 直接403拦截:

  输入不存在目录:

  

  仍然显示拦截,遇到这种情况,最好的解决方法就是不要递归爆破这个目录了,大概率无用功,不要浪费时间在这里.

  想要访问目录,需要代理转发到tomcat容器,那么可以使用..;/

  例如这样:

  

  example2:

    location /baidu/ {
        proxy_pass http://baidu.com;
    }
    
    location /qq {
                proxy_pass http://qq.com;
        }
    
    location /flag/read {
        proxy_pass http://119.45.227.86/readfile/test2.php;
    }

  访问http://119.45.227.86:8080/flag/

  

访问不存在的目录:

  

 这种情况就值得目录爆破,目录爆破极有可能存在东西:

  

  假设已经被入侵,存在某个漏洞,但是暂时无法从代码层修复,那么需要缓解措施?

  缓解措施两个保证(1)保证部分用户能访问 (2)杜绝外部ip访问

  修改nginx.conf:

    location /baidu/ {
        proxy_pass http://baidu.com;
    }
    
    location /qq {
                proxy_pass http://qq.com;
        }
    
    location /flag/read {
        proxy_pass http://119.45.227.86/readfile/test2.php;
        allow 外部信任ip;
        deny all;
    } 

  burp挂上外部代理访问:

  

使用信任ip访问,取消外部代理:  

  

 被信任的ip被访问到

  怎么判断是否是nginx:

  (1)安装插件:

  

  (2)通过http请求标识符:

   

   (3)全部隐藏了怎么办?

  通过网页跳转等手段:

  nginx大多数基于正则表达式:

  example:

    location /baidu/ {
        proxy_pass http://baidu.com;
    }
    
    location /qq {
                proxy_pass http://qq.com;
        }
    
    location /flag/read {
        proxy_pass http://119.45.227.86/readfile/test2.php;
        allow 222.72.216.6;
        deny all;
    }    

  访问/qq:

  

   qq后面跟任意字符串:

  如果仍然可以跳转,说明是nginx,因为他基于规则匹配到了qq,所以跳转到了qq.com

  

  其实nginx限制的手段有很多,有基于ip的,也有基于浏览器的,需要额外关注,本人简单记录下,挺有意思的呵呵,对极端漏洞挖掘情况下,nginx的防护绕过,是有可行性的,有机会聊聊实战案例

  参考文章:https://www.acunetix.com/blog/articles/a-fresh-look-on-reverse-proxy-related-attacks/


文章来源: https://www.cnblogs.com/piaomiaohongchen/p/15294175.html
如有侵权请联系:admin#unsafe.sh