小萌羽w

2018 CTF春秋圣诞欢乐赛 web题 gift php writeup
i春秋上的圣诞欢乐赛,因为第一道题没啥想法没做成,试试200分的吧(我连100都拿不下QAQ)直接开干先看看题目,...
扫描右侧二维码阅读全文
25
2018/12

2018 CTF春秋圣诞欢乐赛 web题 gift php writeup

QQ截图20181225111134.png
i春秋上的圣诞欢乐赛,因为第一道题没啥想法没做成,试试200分的吧(我连100都拿不下QAQ)

直接开干

QQ图片20181224203619.png
先看看题目,我靠都什么年代了,圣诞老人都会写PHP了我还不会,awsl!

打开网页是个圣诞老头(tql了吧)
题目直接提示了是.swp文件泄露,直接在域名后面加.index.php.swp下载下来泄露的vim文件
.swp文件要在linux下才能打开查看所以开启liunx虚拟机下载下文件
QQ图片20181224133425.png
然后用vl -r 文件名,恢复后看看
QQ图片20181224132804.png
嗯?是php源码,放大点看看
QQ图片20181225111827.png
到了这一步一帆风顺啊:D
通过代码审计可以发现这是一个PHP POST的传参方法
就试着用greeting=Merry Christmas试试看吧
QQ截图20181224132738.png

hmmmmmm不行,传回了do you know php?
我不会PHP (破音QAQ)

再仔细看了看代码,发现有个strpos函数,查一查吧XD

PHP strpos() 函数

QQ截图20181225105734.png

strpos对传参的地方进行比较所以要传的东西肯定还是Merry Christmas没错了,但是为什么传不上去呢??
再仔细一看发现preg_match是一个正则表达式,它把包含Merry Christmas字符串的内容都给过滤了
那我们给greeting的Merry Christmas就被过滤了(mmp)

然后上网查了绕过正则表达式的方法,没有成功。。(还不会这块。。。)

啊,卡住了;w;难道就此止步了嘛明明胜利就在眼前啊QAQ
休息了一会继续:D
因为是POST的传参,再去查了查POST传参的漏洞
查到了可以利用PHP的$_POST传参漏洞,通过提交表单数据,把字符串换成数组,这样既能被strpos函数识别到又能绕过正则表达式,来试试看吧!
QQ截图20181224205039.png
biu!!!!!!!flag爆出来啦owo
200分 get! 不容易啊(我小白QAQ)

总结:刚入ctf坑 1个月不久能在自己的独立思考下成功做出来还是不容易的,CTF的话比较吃精力和脑力,如果对web安全方向有兴趣的话其实应该先去学习下前端,这样对于web方面会比较有了解,而且在代码审计时候也能迅速理解其意义XD,总之很有收获就是了。

在比赛时候查询到的资料在这里分享下:
QQ截图20181224205125.png
QQ截图20181225105734.png
QQ截图20181225113205.png

Last modification:January 7th, 2019 at 05:22 pm
If you think my article is useful to you, please feel free to appreciate

Comment here is closed