2021cicsn [easy_sql](回忆)

检讨一下,这个题,当时没出来,太可惜了

当时做到,查询flag表的字段,但是 'information_schema' 被过滤了。

差着一点点,第一次接触内连接查询,不知道关联对象可以是多个
比如:select * from Table1 A join Table2 B using(a,b)

flag表内有三个字段,一个 'id' 还有一个 'no'(好像是,记不清了) 而flag在第三个字段里,using(a) 或者using(b),查出来的不是 a 就是 b ,查不到第三个字段。

就是败在这里,非常难受。

没有复现环境,只能回忆一下
最终的payload应该是:报错注入 + 二次select + 内连接查询

passwod = ') AND EXTRACTVALUE(database(),CONCAT(0x5c,(substring((select * from (select * from flag a join flag b using(id,no)) c ),1,32)),0x5c)) --

用flag连接flag,关联对象是两个字段,再将结果重命名为 'c' ,进行二次查询即可,顶多flag显示不全,加个substr

当时用 sqlmap 跑出了库名,表名,以及 'flag' 的 'id' 字段,由于sqlmap是通过爆破来查库名,表名,字段名的,所以只有题目把字段名改一下就出不来,sqlmap就只确定了注入方式和闭合,这些也都能直接手注出来。

《2021cicsn [easy_sql](回忆)》有1条评论

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据