WP | 攻防世界supersqli

今天在攻防世界平台上又搞了一道Web题——supersqli

 

1、进入题目所给的环境如下:

2、页面显示一个提交框,直接判断注入类型(忽略判断是否有注入点——这个不用想)

?inject=1' and 1=1--+回显正常,而?inject=1' and 1=2--+没有回显,判定为字符型注入。

 

3、使用Google插件HackBar,先查询回显点,用order by关键字

order by 3发现报错,那就把3改为2试试

果然,字段数为两个。

 

3、用select语句爆数据库名发现很多关键字都被正则替换了

 

 

4、这时就不得不尝试一下堆叠注入,拼接语句 ;show database();--+

刚好把所有数据库名都爆出来了

 

5、因为题目叫“supersqli”,那就直接找数据库“supersqli”,继续拼接SQL语句爆表名 ;use supersqli; show tables;--+

发现其中有两个表。

 

6、先从第一个表入手,继续拼接语句爆字段名 ; show columns from `1919810931114514`;--+ ,注意字符串为表名进行操作时要加反引号。

刚好里面的字段带有“flag”字样,方向又对了。

 

7、由于select等关键字被屏蔽了,上网搜了一下相关的绕过技巧,个人觉得handler这个方法挺不错。但是handler的功能范围比select小,并只能在MySQL中使用。

直接在后面拼接 ;handler 表名 open; handler 表名 read first;--+ 查看表中第一行数据 

直接得到flag。。

posted @ 2023-03-22 17:26  GoxHam23  阅读(240)  评论(0编辑  收藏  举报