sqlmap tamper脚本_Sqlmap_tamper脚本分析及编写

0x00 sqlmap tamper简介

sqlmap是一个自动化的SQL注入工具,而tamper则是对其进行扩展的一系列脚本,主要功能是对本来的payload进行特定的更改以绕过waf。

0x01 一个最小的例子

为了说明tamper的结构,让我们从一个最简单的例子开始

34678ce6ab401d3dbf16c0365c68442d.png

不难看出,一个最小的tamper脚本结构为priority变量定义和dependencies、tamper函数定义。

priority定义脚本的优先级,用于有多个tamper脚本的情况。

dependencies函数声明该脚本适用/不适用的范围,可以为空。

tamper是主要的函数,接受的参数为payload和**kwargs
返回值为替换后的payload。比如这个例子中就把引号替换为了\\'。

0x02 详细介绍

第一部分完成了一个最简单的tamper架构,下面我们进行一个更详细的介绍

tamper函数

tamper是整个脚本的主体。主要用于修改原本的payload。
举个简单的例子,如果服务器上有这么几行代码

4f2266633a4fa110c52179e678adea65.png

dependencies函数

dependencies函数,就tamper脚本支持/不支持使用的环境进行声明,一个简单的例子如下:

2497a77a5224b0fad06454e0f771ef82.png

0x3 结语

tamper的编写远不止这些,本文只就其最基本的结构进行探讨。作为sqlmap的扩展,在编写tamper时几乎所有的sqlmap内置的函数、变量都可以使用,本文不一一列出。

0x04 一些常用的取值

55b2c1ac08ad4874a36786a04b000cdf.png

0x01 tamper脚本

   当我们下载了【sqlmap】的安装包,解压后到文件夹【sqlmap】,在以下路径,我们可以找到文件夹【tamper】,其中该文件夹有44个脚本分别对44种WAF进行检测。例如360,绿盟WAF,modsecurity.,百度,fortiweb,cloudflare。由此可见老外对国内的WAF也是有了解的,可见他们也会悄悄对国内的WAF进行绕过。

0x02 分析tamper脚本

由于【tamper】文件夹中有众多的tamper脚本,限于篇幅,无法一一分析,故选取其中一个脚本【lowercase.py】作为样本分析

b76c294d641bb1d5e90377ad1800d821.png

到这里,我们可以看出,该脚本实现了将攻击载荷中大写字母转成了小写字母

0x03 编写一个tamper脚本

         在这里,我们尝试写一个绕过安全狗的tamper脚本,毕竟安全狗在服务器安全领域还是挺不错的,竟然还是免费的,在linux和windows上有各种版本,并且一直维护更新中。

f4e02a217cc2d014d76ea8ddf4e2f13e.png

0x04 参考资料

http://sqlmap.org/

https://github.com/sqlmapproject/sqlmap/

https://github.com/sqlmapproject/sqlmap/wiki

https://github.com/sqlmapproject/sqlmap/wiki/FAQ

https://github.com/sqlmapproject/sqlmap/wiki/Third-party-libraries

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值