python編寫WAF與Sqlmap結(jié)合實現(xiàn)指紋探測
使用Python編寫探測WAF指紋腳本,再結(jié)合到Sqlmap中,這樣以后再探測網(wǎng)站時,如果識別到此WAF指紋,就會顯示出來。
編寫探測識別WAF腳本
00x1:WAF的特征
首先我們要了解WAF,尋找WAF的特征
比如安全狗,當訪問不存在的頁面
尋找關(guān)鍵字:如safedog
00x2:測試
ok,分析完畢,我們來測試一下
沒毛病,我們再去找一個waf,加入進去
以云鎖為例,還是首先分析
沒有發(fā)現(xiàn)特別明顯的特征
接著利用sql語句觸發(fā)Waf
https://www.yunsuo.com.cn/%20and%201=1
云鎖竟然沒用自己的產(chǎn)品...
那就以奇安信云防護為例,老規(guī)矩,查看源代碼尋找特征
這一塊可以當做特征(eventID">eventID)
測試一下,莫得問題
00x3:收集waf
那我們還可以把特征,全部放入字典中,或者txt文本加載
這樣可以方便收集waf,這里以txt為例
Waf.txt內(nèi)容為:
safedog|safedog eventID|qianxin yunsuo_session|yunsuo
通過Python打開Waf.txt查看每個Waf的識別規(guī)則
waf = [] def waflist(): file = open('waf.txt') for line in file: str = line.strip().split("|") #去除換行等字符,以|分割 waf_data={} if len(str)==2: #判斷是否屬于waf格式 waf_data['waf']=str[0] waf_data['name'] = str[1] waf.append(waf_data) waflist() print waf
方便調(diào)用:
完善驗證機制:
請求 /and 1=1.php,觸發(fā)waf
req = requests.get(url=u+'/and%201=1.php',headers=headers,verify=False,timeout=3)
批量驗證網(wǎng)站是否存在WAF:
def main(): waflist() print u"\n加載waf完畢\n" f = open('url.txt','r') for url in f: url = url.strip() if 'http' not in url: u = 'http://' + url wafreq(u)
到這我們腦子里就有個概念了,WAF指紋識別如何尋找的,如何粗略的編寫的,接下來就結(jié)合到Sqlmap中,讓它在檢測網(wǎng)站時存在此WAF指紋能夠識別到。
Pyhacker 之 編寫SQLMAP Waf探測
以前,sqlmap 是專門有一個WAF的目錄,來進行探測waf
命令:(已變成自動檢測)
sqlmap.py -u "http://www.xxx.com" --identify-waf --batch
到現(xiàn)在,sqlmap已經(jīng)進行了修改,路徑也變了
C:\Python27\sqlmap\thirdparty\identywaf
我們只需要修改data.json里面的waf特征即可,如:safedog (607行)
Company :哪家公司產(chǎn)品
Name:waf名稱
regex:正則匹配
那我們來進行修改,以剛才的奇安信為例:
"regex": "Server: eventID|493",
原理:
Sqlmap會自動執(zhí)行sql語句 來觸發(fā)waf
我們只需要寫入特征
修改之前:
修改之后:
已經(jīng)可以探測到WAF了,這更方便于我們進行下一步操作
你可以去收集更多的waf特征,來進行匹配啦。
以上就是python編寫WAF與Sqlmap結(jié)合實現(xiàn)指紋探測的詳細內(nèi)容,更多關(guān)于python WAF指紋探測的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列詳解
我們在做數(shù)據(jù)處理的時候遇到pandas列轉(zhuǎn)行的問題,這篇文章主要給大家介紹了關(guān)于pandas如何優(yōu)雅的列轉(zhuǎn)行及行轉(zhuǎn)列的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2021-12-12Python?Pygame實戰(zhàn)之五款童年經(jīng)典游戲合集
本文為大家總結(jié)了五款利用Python+Pygame實現(xiàn)的童年經(jīng)典游戲:推箱子、滑雪、八分音符醬、保衛(wèi)蘿卜和飛機大戰(zhàn),快跟隨小編一起學(xué)習(xí)一下2022-04-04Python的hashlib庫獲取超大文件的md5值實例探究
這篇文章主要為大家介紹了Python的hashlib庫獲取超大文件的md5值實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01Python pydotplus安裝及可視化圖形創(chuàng)建教程
這篇文章主要為大家介紹了Python pydotplus安裝及可視化圖形創(chuàng)建教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10Python代碼實現(xiàn)刪除一個list里面重復(fù)元素的方法
今天小編就為大家分享一篇關(guān)于Python代碼實現(xiàn)刪除一個list里面重復(fù)元素的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04Python3.9最新版下載與安裝圖文教程詳解(Windows系統(tǒng)為例)
這篇文章主要介紹了Python3.9最新版下載與安裝圖文教程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11