日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

python編寫WAF與Sqlmap結(jié)合實(shí)現(xiàn)指紋探測(cè)_python

作者:巡安似海 ? 更新時(shí)間: 2022-07-08 編程語言

使用Python編寫探測(cè)WAF指紋腳本,再結(jié)合到Sqlmap中,這樣以后再探測(cè)網(wǎng)站時(shí),如果識(shí)別到此WAF指紋,就會(huì)顯示出來。

編寫探測(cè)識(shí)別WAF腳本

00x1:WAF的特征

首先我們要了解WAF,尋找WAF的特征

比如安全狗,當(dāng)訪問不存在的頁面

尋找關(guān)鍵字:如safedog

00x2:測(cè)試

ok,分析完畢,我們來測(cè)試一下

沒毛病,我們?cè)偃フ乙粋€(gè)waf,加入進(jìn)去

以云鎖為例,還是首先分析

沒有發(fā)現(xiàn)特別明顯的特征

接著利用sql語句觸發(fā)Waf

https://www.yunsuo.com.cn/%20and%201=1

云鎖竟然沒用自己的產(chǎn)品...

那就以奇安信云防護(hù)為例,老規(guī)矩,查看源代碼尋找特征

這一塊可以當(dāng)做特征(eventID">eventID)

測(cè)試一下,莫得問題

00x3:收集waf

那我們還可以把特征,全部放入字典中,或者txt文本加載

這樣可以方便收集waf,這里以txt為例

Waf.txt內(nèi)容為:

    safedog|safedog
    eventID|qianxin
    yunsuo_session|yunsuo

通過Python打開Waf.txt查看每個(gè)Waf的識(shí)別規(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)用:

完善驗(yàn)證機(jī)制:

請(qǐng)求 /and 1=1.php,觸發(fā)waf

req = requests.get(url=u+'/and%201=1.php',headers=headers,verify=False,timeout=3)

批量驗(yàn)證網(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)

到這我們腦子里就有個(gè)概念了,WAF指紋識(shí)別如何尋找的,如何粗略的編寫的,接下來就結(jié)合到Sqlmap中,讓它在檢測(cè)網(wǎng)站時(shí)存在此WAF指紋能夠識(shí)別到。

Pyhacker 之 編寫SQLMAP Waf探測(cè)

以前,sqlmap 是專門有一個(gè)WAF的目錄,來進(jìn)行探測(cè)waf

命令:(已變成自動(dòng)檢測(cè))

sqlmap.py -u "http://www.xxx.com" --identify-waf --batch

到現(xiàn)在,sqlmap已經(jīng)進(jìn)行了修改,路徑也變了

C:\Python27\sqlmap\thirdparty\identywaf

我們只需要修改data.json里面的waf特征即可,如:safedog (607行)

Company :哪家公司產(chǎn)品

Name:waf名稱

regex:正則匹配

那我們來進(jìn)行修改,以剛才的奇安信為例:

"regex": "Server: eventID|493",

原理:

Sqlmap會(huì)自動(dòng)執(zhí)行sql語句 來觸發(fā)waf

我們只需要寫入特征

修改之前:

修改之后:

已經(jīng)可以探測(cè)到WAF了,這更方便于我們進(jìn)行下一步操作

你可以去收集更多的waf特征,來進(jìn)行匹配啦。

原文鏈接:https://blog.csdn.net/XunanSec/article/details/124684863

欄目分類
最近更新