进入题目:
点一下 upload? :
注意看上面的 URL ,此时是 ?bingdundun=upload
。
随便找个文件上传一下:
注意看上面的 URL ,此时变成:upload.php 。
那么我有理由怀疑前面在输入 ?bingdundun=upload
时会自动添加 .php 后缀名,因为两种 URL 指向同一个页面,说明 ?bingdundun=
包含的就是 upload.php 文件。
fuzz 一下,发现确实只能上传图片和压缩包。那么猜测是用 phar 伪协议进行文件包含。
phar 伪协议无论读取什么文件,都会将其视为压缩包进行解压缩,然后作为 php 代码执行,在文件上传类漏洞中经常被用到。
上传的文件还是在网站根目录下,只不过换了个名字。
回到 ?bingdundun=
那里,因为会自动加上后缀名 .php ,所以 payload 是:
?bingdundun=phar://66ad472f8ed84878b168fb54c37aa771.zip/shell
路径是:
http://node5.anna.nssctf.cn:28582/?bingdundun=phar://66ad472f8ed84878b168fb54c37aa771.zip/shell