[强网杯 2019]随便注

[强网杯 2019]随便注

根据题名可以知道为sql注入。题目直接给了1,我们发送一下。

image20230916082459765
看到了给的回显。
image20230916083330795
再次进行测试,在1的后面加上单引号,发现报错闭合不正确

image20230916083608813

测试字段

image20230916083914170

在2时正常,3报错,所以有2个字段

image20230916084019666

进行联合查询数据库,发现返回了个错误

1' union select null, user()

image20230916084300370

经过分析大概是过滤了select,发现绕过不了,那么我们使用堆叠注入(将一堆sql语句在一起执行使用分号结束上一个语句在叠加其他语句一起执行,一般select等被禁用时使用),查一下库正常回显。

image20230916084811522

查一下表,发现表可以查询到

image20230916084925384

查一下words

image20230916085229231

再次查表,发现flag存在1919810931114514中

image20230916085546805

因为进行了select过滤,直接查询查询不到,那我们就将1919810931114514表改成words表,然后使用alter table 将1919810931114514表中的flag列名修改为words表中的id列名,通过原本查询将flag查询出来

?inject=1';rename table words to word;rename table `1919810931114514` to words;alter table words change flag id varchar(100)%23

image20230916091539375

通过内联查询1‘ or '1'='1,得到flag

posted @ 2023-09-16 17:02  回忆的金鱼  阅读(15)  评论(0)    收藏  举报