【PyHacker】编写WAF指纹探测与Sqlmap相结合

Python 投稿 66500 0 评论

【PyHacker】编写WAF指纹探测与Sqlmap相结合

使用Python编写探测WAF指纹脚本,再结合到Sqlmap中,这样以后再探测网站时,如果识别到此WAF指纹,就会显示出来。

编写探测识别WAF脚本 

00x1:首先我们要了解WAF,寻找WAF的特征比如安全狗,当访问不存在的页面寻找关键字:如safedog 

 00x2:ok,分析完毕,我们来测试一下

没毛病,我们再去找一个waf,加入进去以云锁为例,还是首先分析

没有发现特别明显的特征接着利用sql语句触发Waf

云锁竟然没用自己的产品...那就以奇安信云防护为例,老规矩,查看源代码寻找特征

这一块可以当做特征(eventID">eventID)测试一下,莫得问题

00x3:那我们还可以把特征,全部放入字典中,或者txt文本加载这样可以方便收集waf,这里以txt为例Waf.txt内容为:

通过Python打开Waf.txt 查看每个Waf的识别规则

    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

方便调用: 完善验证机制: 

 

请求 /and 1=1.php,触发waf

 批量验证网站是否存在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指纹识别如何寻找的,如何粗略的编写的,接下来就结合到Sqlmap中,让它在检测网站时存在此WAF指纹能够识别到。

Pyhacker 之 编写SQLMAP Waf探测以前,sqlmap 是专门有一个WAF的目录,来进行探测waf命令:(已变成自动检测)

 到现在,sqlmap已经进行了修改,路径也变了

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

Company :哪家公司产品Name:waf名称regex:正则匹配那我们来进行修改,以刚才的奇安信为例:

 

原理:

修改之前:

 

修改之后:

已经可以探测到WAF了,这更方便于我们进行下一步操作你可以去收集更多的waf特征,来进行匹配啦。 

喜欢关注一下叭~

编程笔记 » 【PyHacker】编写WAF指纹探测与Sqlmap相结合

赞同 (115) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽