web27

数据库的分类,以闭合的方式分类:数字型,字符型,搜索型,加密型,编码型

可以看到什么类型其实就是传入的参数决定的 

字符型的需要注意闭合的方式,使用单引号报错执行语句时,要使用注释符吧后面多余的单引号去掉,除了数字型不需要闭合,其他都要考虑闭合和注释后面垃圾内容;

在实战中就可以直接看传入的参数是什么类型来大概判断是什么类型的注入,去测试相应的闭合;汉字就是搜索型

搜索型的闭合

如果使用--+,#等注释符不行话就使用尝试猜测传入的格式,比如传入的参数是

id like '%$a%'

那我们就可以在攻击语句后面添加 and '%'=' 

这样传入的就是 xxx and '%'='%',这样就成功比闭合了,但是需要注意的是要根据实际情况去改变and后面的内容;下面放小迪的图

 

编码型的闭合需要先解码看穿入的是什么类型的,是数字或者是字符,然后需要把整体进行编码,常见的就是base64编码

json型比较常见了,传送数据的时候大概率使用json的形式发送

需要注意的是,json都是以键值对的形式来传送数据的,什么类型的注入跟键值对中的双引号和花括号没有关系,如{"username":"admin"},是传送的数据决定的,传入的数字就是数字型,传入的是admin这种字符就是字符型,使用对应的pyload即可;

 宽字节注入,GBK编码注入

php和mysql中字符转义的时候经常会出现,传入的数据中\ /这种符号,那如果想输入的数据是\n换行的形式,就需要使用到转义符转义\\n,这时就认为是换行符了;防护的时候也经常用到,体现在php中就是addslashes()函数

使用该功能也会自动转义

输入的单引号被转义导致闭合失败

使用宽字节绕过,其实就是mysql在使用GBK编码的时候认为2个字符是一个汉字,使得输入的一些内容加上\正好可以组成一个汉字来起到让转义符失效从而正常闭合;常用%df

在sqlmap中使用unmagicquotes的tamper脚本即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值