'其他常见类型注入'
宽字节注入
了解魔术引号,magic_quotes_gpc
所有的 '(单引号),"(双引号),\(反斜线)和 NULL 字符都会被自动加上一个反斜线进行转义
使用魔术引号时,'转义 ' 这时我们添加%df或%81或%d5与\反斜杠结合,变成一个繁体汉字,使单引号通过,再闭合就造成了宽字节注入。
当编码为gbk时,%df%27或%81%27数据为空
就是说客户端发送的数据编码是gbk时,那么可能会吃掉转义字符'反斜杠
闭合之后页面恢复正常,存在宽字节注入
1 | sqlmap中 |
二次编码注入
代码中使用urldecode() 函数
%2527 先解码成%27 再解码成’单引号
这时我们就可进行注入
sqlmap -u http://192.168.100.141/index.php/?author=123 --prefix “%2527” --suffix “%23”
设置后缀,以防sqlmap自动使用内联注入
使用自带的脚本进行注入
长字符截断
1 | insert into users(id,username,password) values(2,'admin ','admin'); |
XFF头注入
update user set loat_loginip = ‘8.8.8.8’ where id =1 and sleep(5) #’ where username = ‘zs’;
id根据网站用户量取一个中间值,测试是否有注入,设置XFF头,如果网站不报错,可尝试此注入
where id =1 and/or/union select/ and ‘’=’ /and sleep()
*优先级最高,不需要-p参数
使用base64编码sql语句进行注入攻击
insert
insert into users (id,ua,ip,uname) values (‘1’,‘firfox’,(select 1 where 1=1),1)#
把1替换成sql语句
User-agent请求头注入
图片上传sql注入
猜结构,为时间戳加文件名
替换and sleep(3)为* 进行salmap检测
二次注入
abc’数据经过addslashes过滤,单引号前面添加反斜杠abc'
但传入到数据库的数据还是abc’
手机号处存在二次注入
限制为假
Ascii hex转码
转码成
测试注入类型为数字型
Order by
Union select