python编写WAF与Sqlmap结合实现指纹探测

作者:巡安似海 时间:2022-05-23 08:10:17 

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

编写探测识别WAF脚本

00x1:WAF的特征

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

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

寻找关键字:如safedog

python编写WAF与Sqlmap结合实现指纹探测

python编写WAF与Sqlmap结合实现指纹探测

00x2:测试

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

python编写WAF与Sqlmap结合实现指纹探测

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

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

python编写WAF与Sqlmap结合实现指纹探测

没有发现特别明显的特征

接着利用sql语句触发Waf

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

python编写WAF与Sqlmap结合实现指纹探测

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

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

python编写WAF与Sqlmap结合实现指纹探测

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

测试一下,莫得问题

python编写WAF与Sqlmap结合实现指纹探测

00x3:收集waf

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

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

Waf.txt内容为:

safedog|safedog
   eventID|qianxin
   yunsuo_session|yunsuo

通过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

python编写WAF与Sqlmap结合实现指纹探测

方便调用:

python编写WAF与Sqlmap结合实现指纹探测

完善验证机制:

python编写WAF与Sqlmap结合实现指纹探测

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

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

批量验证网站是否存在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.py -u "http://www.xxx.com" --identify-waf --batch

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

C:\Python27\sqlmap\thirdparty\identywaf

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

python编写WAF与Sqlmap结合实现指纹探测

Company :哪家公司产品

Name:waf名称

regex:正则匹配

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

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

python编写WAF与Sqlmap结合实现指纹探测

原理:

Sqlmap会自动执行sql语句 来触发waf

我们只需要写入特征

修改之前:

python编写WAF与Sqlmap结合实现指纹探测

修改之后:

python编写WAF与Sqlmap结合实现指纹探测

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

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

来源:https://blog.csdn.net/XunanSec/article/details/124684863

标签:python,Sqlmap,WAF,指纹探测
0
投稿

猜你喜欢

  • python 判断一个进程是否存在

    2021-06-21 02:19:24
  • asp如何让页面过时并指定一个过时时间?

    2010-05-13 16:40:00
  • pjblog3相关日志功能(支持生成静态模式)

    2008-11-20 13:41:00
  • python实现对一个完整url进行分割的方法

    2021-09-09 06:57:37
  • python数据可视化plt库实例详解

    2022-11-30 21:23:28
  • 基于Python实现围棋游戏的示例代码

    2022-08-21 07:56:39
  • python实现输入三角形边长自动作图求面积案例

    2023-08-12 01:47:49
  • python一些性能分析的技巧

    2023-07-24 17:55:36
  • 教你用Python matplotlib库制作简单的动画

    2021-08-20 02:58:49
  • Javascript将string类型转换int类型

    2023-09-17 00:05:37
  • FrontPage2002简明教程四:网页超级链接

    2008-09-17 11:23:00
  • pycharm中显示CSS提示的知识点总结

    2023-11-02 02:56:00
  • 讲解MaxDB数据库和MySQL数据库的主要差别

    2009-01-04 13:04:00
  • 使用apiDoc实现python接口文档编写

    2023-10-23 21:28:40
  • Python中Flask-RESTful编写API接口(小白入门)

    2023-02-07 10:47:46
  • python3 简单实现组合设计模式

    2023-06-12 19:15:50
  • python机器学习算法与数据降维分析详解

    2023-09-20 19:40:27
  • php巧获服务器端信息

    2023-10-04 02:18:39
  • python3 使用ssh隧道连接mysql的操作

    2023-09-01 19:15:11
  • 处理Python中的URLError异常的方法

    2021-06-04 03:33:15
  • asp之家 网络编程 m.aspxhome.com