[网鼎杯 2020 白虎组]PicDown

[网鼎杯 2020 白虎组]PicDown

抓包发现参数是url,猜测ssrf

[网鼎杯 2020 白虎组]PicDown

无回显,测试无果

[网鼎杯 2020 白虎组]PicDown

注意到后面的目录没有php字样,应该不是php写的,有可能是py或者node.js

我试了试文件包含

?????????我甚至都没用目录穿越

这不傻逼么

[网鼎杯 2020 白虎组]PicDown

题目应该没那么简单,我去搜搜wp

果然没那么简单

先读去绝对路径

/proc/self/cmdline

[网鼎杯 2020 白虎组]PicDown

python2 写的flask

读源码,代码审计

[网鼎杯 2020 白虎组]PicDown

看到page这个路由

[网鼎杯 2020 白虎组]PicDown

这个东东冒得用,就禁了个file协议

[网鼎杯 2020 白虎组]PicDown

但是我输入file也没给弹hacker,这我就很疑惑

直接看到最后一个路由

[网鼎杯 2020 白虎组]PicDown

根据源码

[网鼎杯 2020 白虎组]PicDown

不难想到flag一定在这里面

而/no_one_know_the_manager页面,必须让我们传入的key等于flag才可以执行命令

而我们发现他打开了txt文件却没有关闭!!!!

v&n的内部赛也提到了这点

https://blog.csdn.net/SopRomeo/article/details/105653176

linux里如果没有关闭文件会放在内存里,就算你remove掉了在/proc/[pid]/fd下还是会保存

这个我们需要爆破

fd目录下保存的文件都是以数字存储的,直接bp爆破

/proc/self/fd/*

[网鼎杯 2020 白虎组]PicDown

针不戳

[网鼎杯 2020 白虎组]PicDown

然后直接无回显rce

上一篇:Vue、element-ui的resetFields()方法重置表单无效问题及解决办法


下一篇:线程同步图解 - 条件变量