欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CTF [强网杯 2019]随便注 Writeup 堆叠注入

程序员文章站 2022-05-15 11:24:03
...

讲道理,最不虚的就是注入了。
CTF [强网杯 2019]随便注 Writeup 堆叠注入
随意加上单引号。
CTF [强网杯 2019]随便注 Writeup 堆叠注入
单引号闭合,尝试1' and 1=2 #
CTF [强网杯 2019]随便注 Writeup 堆叠注入
无回显,应该成功执行了,再来1=1确认下。
CTF [强网杯 2019]随便注 Writeup 堆叠注入
又有报错信息,想着直接上updatexml()
CTF [强网杯 2019]随便注 Writeup 堆叠注入
结果报错,又试了exp()extractvalue(),结果exp()到是能用,extractvalue()直接报无函数 。。。
不过有函数也没意义阿。因为select也被检测了,尝试了若干方法绕过后,放弃。。。
看来这题有别的思路,常规的几种不行,然后试了下堆叠注入。。。还真成了。
CTF [强网杯 2019]随便注 Writeup 堆叠注入
其实这里早就该想到的了,如果不是想考堆叠注入,那为啥要用var_dump()打印数据呢,正常肯定用mysqli_xxx处理语句了。

通过show tables可以看到表。
CTF [强网杯 2019]随便注 Writeup 堆叠注入
通过desc可以看到表结构,注意查纯数字的表名的时候,一定要加上重单符,即反引号。

desc `1919810931114514`

确定1919810931114514就是要查的表。
CTF [强网杯 2019]随便注 Writeup 堆叠注入
接下来就是怎么不用select拿到数据了。因为不会绕过就想起了原来上传一句话的时候,没有上传权限,就直接改人家的主页。。。
这次我直接把words表给删除,然后把1919810931114514改成words就好了。
CTF [强网杯 2019]随便注 Writeup 堆叠注入
居然忘了,这个也被干掉了,不过还好,还有一个rename。。。

1';rename table `words` to `xxx`;rename table `1919810931114514` to `words`%23

CTF [强网杯 2019]随便注 Writeup 堆叠注入
又发现字段不一样。。。

1';alter table  `words` change "flag" "id" varchar(100);%23

CTF [强网杯 2019]随便注 Writeup 堆叠注入
我擦,玩坏了,没这个id字段了,没法注入了。。。重开!!!

这次换个顺序,先把flag改成id,再换表名。。。

1';alter table  `1919810931114514` change "flag" "id" varchar(100);%23
1`; desc `1919810931114514`;%23

CTF [强网杯 2019]随便注 Writeup 堆叠注入
可算是改好了,再来改名

1';rename table `words` to `xxx`;rename table `1919810931114514` to `words`%23

然后再来读一次!!
CTF [强网杯 2019]随便注 Writeup 堆叠注入
卧槽,空白的,忘了,flag字段的内容不一定为1阿,惨了。。。

慌了一会,马上想到了万能密码,手动狗头。

1' or '1'='1

CTF [强网杯 2019]随便注 Writeup 堆叠注入
OKOK,刺激,要是真实环境,可没有重来的机会。。。

相关标签: # BUUCTF Writeup

上一篇: CTF jpg thumbnail隐写

下一篇: Date命令