SQLMap tamper编写
简介
sqlmap
是一个自动化的SQL注入工具,而tamper则是对其进行扩展的一系列脚本,主要功能是对本来的payload
进行特定的更改以绕过waf/ids
可以理解为,sqlmap
在对漏洞网站自动化注入的时候,如果我们使用了tamper
脚本,sqlmap
的每个payload
都会经过tamper
这个包装车间的加工,然后再进行投递。
当我们使用网上公开的tamper
时,这个tamper
是怎么实现的我们不需要知道,只需要按照使用说明使用即可,但渗透测试中环境千变万化,我们总会遇到需要自己编写tamper
的场景,这也是本文的重点
使用方法
sqlmap
的tamper
目录下有一些简单的tamper
脚本,可以进行简单绕过
tamper结构简述
以escapequotes.py
这个tamper文件为例
见名知义,该tamper是用来转义的,将单引号转换成\\'
,双引号转换成 \\"
代码如下:
简单解释一下结构
__priority__
是当前脚本调用优先等级,该优先级用于使用多个tamper时的执行顺序选择
在自带的tamper脚本中一共有以下几种优先级,还可以自定义-100~100
dependencies
函数声明该脚本适用或不适用的范围,可以为空,例如:
tamper
是主要的函数,接受的参数为payload
和**kwargs
,返回值为替换后的payload
这里可以看出返回的是使用了python字符串替换函数replace,将字符串中的单引号和双引号进行转义
而tamper
函数不仅有payload
参数,还有可变长参数**kwargs
kwargs
是一个字典,我们输出出来看一下
其结构为
{'headers': {}, 'delimiter': '&', 'hints': {}}
这里的kwargs['headers']
很明显是我们的请求头,我们可以对其进行自定义
如倾旋
师傅提到这样来执行s2-45
当然我们可以进行更多的自定义
编写一个简单的 bypass WTS-WAF tamper
了解了结构和说明之后,我们来编写一个bypass wts-waf 的 tamper 脚本,思路就跟之前提到的这里相同,只是将其关键字中间添加了%
号:https://www.cnblogs.com/Cl0ud/p/14345881.html
目标站点是asp+Access
,装着不知名版本的wts-waf
我们使用sqlmap
证明漏洞存在,tamper
内容为
输入命令
sqlmap.py -u http://漏洞URL?class=16 --tamper=wts_waf -v 3
这里的-v 3
是为了看到payload
它共有七个等级,默认为1:
- 0、只显示python错误以及严重的信息。
- 1、同时显示基本信息和警告信息。(默认)
- 2、同时显示debug信息。
- 3、同时显示注入的payload。
- 4、同时显示HTTP请求。
- 5、同时显示HTTP响应头。
- 6、同时显示HTTP响应页面。
可以看到这里payload
中的关键字成功被加工
证明漏洞存在
想要通过注入点获取数据和进一步操作需要在简易版tamper
的基础上再进行修改,比如禁用函数关键字的绕过等等,下次再写,另外会写一些绕过最新WAF的文章 :)
参考链接
__EOF__

本文链接:https://www.cnblogs.com/Cl0ud/p/14394627.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!