【PyHacker】编写WAF指纹探测与Sqlmap相结合
使用Python编写探测WAF指纹脚本,再结合到Sqlmap中,这样以后再探测网站时,如果识别到此WAF指纹,就会显示出来。本文属于巡安似海PyHacker系列课程
编写探测识别WAF脚本
00x1:
首先我们要了解WAF,寻找WAF的特征
比如安全狗,当访问不存在的页面
寻找关键字:如safedog
00x2:
ok,分析完毕,我们来测试一下
没毛病,我们再去找一个waf,加入进去
以云锁为例,还是首先分析
没有发现特别明显的特征
接着利用sql语句触发Waf
https://www.yunsuo.com.cn/%20and%201=1
云锁竟然没用自己的产品...
那就以奇安信云防护为例,老规矩,查看源代码寻找特征
这一块可以当做特征(eventID">eventID)
测试一下,莫得问题
00x3:
那我们还可以把特征,全部放入字典中,或者txt文本加载
这样可以方便收集waf,这里以txt为例
Waf.txt内容为:
safedog|safedogeventID|qianxinyunsuo_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
方便调用:
完善验证机制:


请求 /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行)
Company :哪家公司产品
Name:waf名称
regex:正则匹配
那我们来进行修改,以刚才的奇安信为例:
"regex": "Server: eventID|493",
原理:
Sqlmap会自动执行sql语句 来触发waf我们只需要写入特征
修改之前:

修改之后:

已经可以探测到WAF了,这更方便于我们进行下一步操作
你可以去收集更多的waf特征,来进行匹配啦。
【PyHacker】编写WAF指纹探测与Sqlmap相结合的更多相关文章
- WAF指纹探测及识别技术<freebuf>
Web应用防护系统(也称:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HT ...
- WAF指纹探测及识别技术
Web应用防护系统(也称:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HT ...
- Web安全--XSS现代WAF规则探测及绕过技术
XSS现代WAF规则探测及绕过技术初始测试 1.使用无害的payload,类似<b>,<i>,<u>观察响应,判断应用程序是否被HTML编码,是否标签被过滤,是否过 ...
- 【PyHacker编写指南】打造URL批量采集器
这节课是巡安似海PyHacker编写指南的<打造URL批量采集器> 喜欢用Python写脚本的小伙伴可以跟着一起写一写呀. 编写环境:Python2.x 00x1: 需要用到的模块如下: ...
- WAF指纹识别和XSS过滤器绕过技巧
[译文] -- “Modern Web Application Firewalls Fingerprinting and Bypassing XSS Filters” 0x1 前言 之前在乌云drop ...
- [转]XSS现代WAF规则探测及绕过技术
初始测试 1.使用无害的payload,类似<b>,<i>,<u>观察响应,判断应用程序是否被HTML编码,是否标签被过滤,是否过滤<>等等: 2.如果 ...
- 自己动手写waf指纹识别
import requests import re def target_url(scan_url): xssstring = '<script>alert(1)</script&g ...
- sqlmap Tamper脚本编写
sqlmap Tamper脚本编写 前言 sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL, Oracle, Postg ...
- SQLMAP源码分析-目录结构
-----------------------------------------------------------------------------│ README.md│ sqlmap.c ...
随机推荐
- 机器学习之linear_model (线性回归算法模型)
1.matplotlib 首先看一下这个静态图绘制模块 静态图形处理 数据分析三剑客 Numpy : 主要为了给pandas提供数据源 pandas : 更重要的数据结构 matplotlib : 静 ...
- Netty学习摘记 —— 再谈ChannelHandler和ChannelPipeline
本文参考 本篇文章是对<Netty In Action>一书第六章"ChannelHandler和ChannelPipeline",主要内容为ChannelHandle ...
- MCU选型
含义: MCU(Micro Controller Unit)中文名称为微控制单元,又称单片微型计算机(Single Chip Microcomputer),是指随着大规模集成电路的出现及其发展,将计算 ...
- VueJs单页应用实现微信网页授权及微信分享功能
在实际开发中,无论是做PC端.WebApp端还是微信公众号等类型的项目的时候,或多或少都会涉及到微信相关的开发,最近公司项目要求实现微信网页授权,并获取微信用户基本信息的功能及微信分享的功能,现在总算 ...
- Java中使用最频繁及最通用的Java工具类
在Java中,工具类定义了一组公共方法,Java中使用最频繁及最通用的Java工具类. 一. org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流.so ...
- typora简单使用手册
typora简单使用手册讲解`` 下载网站 网址:https://typoraio.cn/ 苹果电脑:https://typora.en.softonic.com/ 正版呢当然是收费 破解版自行百度 ...
- 为何数据库连接池不采用IO多路复用?
今天我们聊一个不常见的 Java 面试题:为什么数据库连接池不采用 IO 多路复用? 这是一个非常好的问题.IO多路复用被视为是非常好的性能助力器.但是一般我们在使用 DB 时,还是经常性采用c3 ...
- 关于 background-image 渐变gradient()那些事!
大家好,我是半夏,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注 点赞 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师-关注公众号:搞前端的半夏,了解更多前端知 ...
- 6.2 计划任务crond
创建.编辑计划任务的命令为crontab -e,查看当前计划任务的命令为crontab -l,删除某条计划任务的命令为crontab -r. 参数 作用 -e 编辑计划任务 -u 指定用户名称 -l ...
- docker:compose安装
compose:独立于docker的程序,可以做多容器app 安装docker-compose: 下载docker-compose文件: curl -L https://github.com/dock ...