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

使用Python编写探测WAF指纹脚本,再结合到Sqlmap中,这样以后再探测网站时,如果识别到此WAF指纹,就会显示出来。本文属于巡安似海PyHacker系列课程

编写探测识别WAF脚本

00×1:

首先我们要了解WAF,寻找WAF的特征

比如安全狗,当访问不存在的页面

寻找关键字:如safedog

00×2:

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

没毛病,我们再去找一个waf,加入进去

以云锁为例,还是首先分析

没有发现特别明显的特征

接着利用sql语句触发Waf

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

云锁竟然没用自己的产品…

那就以奇安信云防护为例,老规矩,查看源代码寻找特征

这一块可以当做特征(eventID”>eventID)

测试一下,莫得问题

00×3:

那我们还可以把特征,全部放入字典中,或者txt文本加载

这样可以方便收集waf,这里以txt为例

Waf.txt内容为:

safedog|safedog    eventID|qianxin    yunsuo_session|yunsuo

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

方便调用:

完善验证机制:

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

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

批量验证网站是否存在WAF:

到这我们脑子里就有个概念了,WAF指纹识别如何寻找的,如何粗略的编写的,接下来就结合到Sqlmap中,让它在检测网站时存在此WAF指纹能够识别到。

Pyhacker 之 编写SQLMAP Waf探测

以前,sqlmap 是专门有一个WAF的目录,来进行探测waf

命令:(已变成自动检测)

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

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

C:\Python27\sqlmap\thirdparty\identywaf

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

Company :哪家公司产品

Name:waf名称

regex:正则匹配

那我们来进行修改,以刚才的奇安信为例:

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

原理:

Sqlmap会自动执行sql语句 来触发waf我们只需要写入特征

修改之前:

修改之后:

已经可以探测到WAF了,这更方便于我们进行下一步操作

你可以去收集更多的waf特征,来进行匹配啦。

喜欢关注一下叭~

Original: https://www.cnblogs.com/XunanSec/p/pyhacker-waf.html
Author: 巡安似海
Title: 【PyHacker】编写WAF指纹探测与Sqlmap相结合

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/603117/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球