脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - python编写WAF与Sqlmap结合实现指纹探测

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

2023-01-27 13:22巡安似海 Python

这篇文章主要为大家介绍了python编写WAF指纹探测并与Sqlmap结合的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

使用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特征,来进行匹配啦。

以上就是python编写WAF与Sqlmap结合实现指纹探测的详细内容,更多关于python WAF指纹探测的资料请关注服务器之家其它相关文章!

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

延伸 · 阅读

精彩推荐
  • Pythonpython基于http下载视频或音频

    python基于http下载视频或音频

    这篇文章主要为大家详细介绍了python基于http下载视频或音频,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    panda-star5252021-03-06
  • Python深入源码解析Python中的对象与类型

    深入源码解析Python中的对象与类型

    这篇文章主要介绍了深入源码解析Python中的对象与类型,涉及到对象的引用计数方法和类型的定义等深层次内容,需要的朋友可以参考下 ...

    凌岳_wklken2492020-08-04
  • Python5分钟 Pipenv 上手指南

    5分钟 Pipenv 上手指南

    这篇文章主要介绍了5分钟 Pipenv 上手指南,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    FOOFISH-PYTHON之禅6452021-05-05
  • Python基于DataFrame改变列类型的方法

    基于DataFrame改变列类型的方法

    今天小编就为大家分享一篇基于DataFrame改变列类型的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    无痛学习11062021-03-20
  • Python非常有用的Python技巧

    非常有用的Python技巧

    今天给大家介绍一个非常有用的Python技巧,一起来看一下吧。...

    马哥Linux运维2652020-10-30
  • PythonPython语法学习之正则表达式的使用详解

    Python语法学习之正则表达式的使用详解

    要想成功的进行字符串的匹配需要使用到正则表达式模块,正则表达式匹配规则以及需要被匹配的字符串。本文详细为大家介绍了如何利用正则表达式实现...

    渴望力量的哈士奇10072022-11-30
  • Python通过代码实例了解Python异常本质

    通过代码实例了解Python异常本质

    这篇文章主要介绍了通过代码实例了解Python异常本质,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以...

    Xujie_05283202020-09-16
  • Python2020最新pycharm汉化安装(python工程狮亲测有效)

    2020最新pycharm汉化安装(python工程狮亲测有效)

    这篇文章主要介绍了2020最新pycharm汉化安装(python工程狮亲测有效),文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    python工程狮289602020-06-07