一款功能强大的sqlmap tamper脚本处理工具
The following article is from FreeBuf Author Alpha_h4ck
关于SQLmap Tamper-API
SQLmap Tamper-API是一款功能强大的tamper脚本处理工具,在该工具的帮助下,广大研究人员可以选择使用自己最喜欢的编程语言来编写SQLmap的tamper脚本,并在SQLmap中执行。
SQLmap Tamper-API本质上是一个API(应用程序编程接口),它可以解决SQLmap的原生限制,即只能接受Python语言来编写temper脚本。
运行机制
tapmer-api.py脚本会以JSON格式来将Payload和kwargs以参数的形式发送给外来tamper脚本的STDIN,例如{"payload": "", "kwargs": {"headers": {}}}。
接下来,外来tamper脚本会解析JSON数据,并对其处理,然后将其以JSON格式发送给STDOUT,然后taper-api.py会读取并解析这部分数据,然后将其发送给SQLmap。
工具运行机制如下图所示:
工具下载
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/KINGSABRI/sqlmap-tamper-api.git
(向右滑动,查看更多)
工具使用
sqlmap -v3 -u http://example.com/pages.php?page=1 --tamper tamper-api base64encode.rb
(向右滑动,查看更多)
注意事项
1、将tamper-api.py脚本拷贝到sqlmap/tamper目录中;
2、别忘了查看tamper-scripts/[YOUR_LANGUAGE]以了解不同编程语言的参考样例;
参考样例
#!/usr/bin/env ruby
#
# Author: KING SABRI | @KINGSABRI
# Description: Base64 encoding all characters in a given payload
# Requirements: None
#
require 'json'
require 'base64'
@json = JSON.parse(ARGV[0])
@payload = @json["payload"]
@kwargs = @json["kwargs"]
@json["payload"] = Base64.urlsafe_encode64(@payload)
print @json.to_json
(向右滑动,查看更多)
项目地址
SQLmap Tamper-API:https://github.com/KINGSABRI/sqlmap-tamper-api