官方网站建设 磐石网络多少费用,中国机械设备采购网,域名注册官方网站,宝安响应式网站建设简介
upload-labs是一个使用php语言编写的#xff0c;专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共21关#xff0c;每一关都包含着不同上传方式。
文件上传漏洞是指#xff1a; Web 服务器允许用户将文件上传至其…简介
upload-labs是一个使用php语言编写的专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共21关每一关都包含着不同上传方式。
文件上传漏洞是指 Web 服务器允许用户将文件上传至其文件系统但这些文件可能并没有经过充分的验证如文件名称、类型、内容或大小等。未能正确执行这些限制就意味着即使最基本的图像上传功能也可能用于上传任意具有潜在危险的文件里面甚至包括远程代码执行的服务器端脚本文件。
上传文件的条件
1.文件可以上传
2.知道上传文件路径 准备安装好以下工具
upload-labs靶场
phpstudy2016
火狐浏览器
Burp Suite 抓包工具
蚁剑或菜刀 webshell连接工具 pass-1
方法一浏览器禁用JS
谷歌F12--设置里找到此选项选择禁用 火狐F12--设置里找到此选项选择禁用 然后直接上传 .php文件然后使用蚁剑或菜刀连接
方法二使用burp抓包修改文件后缀上传 修改后连击Forward上传成功使用蚁剑或菜刀连接 pass-2
方法一使用burp抓包修改Content-TypeContent-Type的值改为image/png 方法二使用burp抓包修改后缀
上传 .png文件 抓包修改后缀点击发送上传成功
pass-3
上传 .php文件提示不允许上传应该是设置了黑名单 方法一修改文件后缀名为 .php1
上传成功 pass-4
黑名单里没有限制 .htaccess 新建记事本,文件名.htaccess输入以下内容保存。 FilesMatch 1.png SetHandler application/x-httpd-php /FilesMatch 命令允许: 1.png图片可被当作php文件执行图片里的php代码.
#1.png为图片马
先上传.htaccess文件然后再上传1.png。 前提条件 AllowOverride All默认配置为关闭None。 LoadModule rewrite_module modules/mod_rewrite.so #模块为开启状态 上传目录具有可执行权限。 phpstudy版本为5.2.17 apache服务器 pass-5
这一关限制后缀名很严格包括大小写和.htaccess文件
绕过使用双写绕过
使用bp抓包修改后缀。
上传成功 pass-6 使用大写绕过 Pass-7 使用双写绕过与pass-5一样 Pass-8 使用 .. 绕过 Pass-9 使用 ::$DATA 绕过 Pass-10
方法一. . 点空格点
方法二双写绕过 Pass-11
使用双写绕过
使用burp抓包修改后缀 Pass-12
提示只允许上传 .jpg .png .gif 类型文件 使用%00截断 绕过
%00截断前提条件
1PHP版本小于5.3.4
2php.ini中magic_quotes_gpc Off
#环境配置正确但是没有上传成功 %00截断原理参考WEB-00截断与%00截断 | wh1te Pass-13
使用图片马绕过
图片马绕过需要使用文件包含漏洞运行图片马中的恶意代码 生成图片马方法
1.图片使用HxD打开在结尾加上一句话木马并保存
2.照片大小控制在100K 以内 上传成功 图片地址可以通过查看网页源代码或者在图片上右键复制图像链接获得。
构造URL地址:
http://127.0.0.1/upload-labs/include.php?file./upload/2420231207125031.jpg
使用蚁剑连接 Pass-14
本pass检查图标内容开头2个字节 这一关需要上传三种图片马
生成图片马方法
1.分别从网上下载三种格式的图片
2.用HxD打开在结尾加上一句话木马 #三张图片都是在最后添加一句话马并保存
3.照片大小控制在100K 以内 三张图片上传成功 在本关页面 点击 “文件包含漏洞”可以得到文件包含漏洞所在url和代码从如下代码可知图片马可以通过file参数包含。 图片地址可以通过查看网页源代码或者在图片上右键复制图像链接获得。 http://127.0.0.1/upload-labs/include.php?file./upload/4320231207010933.png
.jpg .png .gif 上传方式一样,都可以连接成功 Pass-15
本pass使用getimagesize()检查是否为图片文件
这一关参考第14关 Pass-16
本pass使用exif_imagetype()检查是否为图片文件
具体步骤参考第14关三张图片都可以上传蚁剑都可以连接
# 由于本关使用了exif_imagetype()函数所以需要开启php_exif模块
小皮php_study开启方法
网站--管理--php扩展 exif 打上勾 Pass-17
本pass重新渲染了图片
上传准备好的三张图片发现蚁剑无法连接使用HxD查看图片发现上传的图片被渲染后把php代码删除了。 将一句话木马插在其他位置提示格式错误应该是破坏了图片结构
#需要使用HxD对比上传前后的区别将代码插入没有渲染的部分。 这里使用 .gif 图片
上传后的图片内容与原图片有很多改变但是发现前半段内容和原图片是一样的 通过文件包含使用蚁剑连接成功 Pass-18
这一关使用 条件竞争漏洞绕过 提示这一关需要代码审计 $is_upload false;
$msg null;if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_name $_FILES[upload_file][name];$temp_file $_FILES[upload_file][tmp_name];$file_ext substr($file_name,strrpos($file_name,.)1);$upload_file UPLOAD_PATH . / . $file_name;if(move_uploaded_file($temp_file, $upload_file)){if(in_array($file_ext,$ext_arr)){$img_path UPLOAD_PATH . /. rand(10, 99).date(YmdHis)...$file_ext;rename($upload_file, $img_path);$is_upload true;}else{$msg 只允许上传.jpg|.png|.gif类型文件;unlink($upload_file);}}else{$msg 上传出错;}
} 服务器先通过move_uploaded_file函数把文件保存了然后再去判断后缀名是否合法合法就重命名如果不合法再删除。重点在于在多线程情况下就有可能出现还没处理完我们就访问了原文件这样就会导致防护被绕过。 我们上传一个文件上去后端会检验上传文件是否和要求的文件是否一致。如果不能达到要求就会删除文件如果达成要求就会保留那么当我们上传文件上去的时候检测是否到达要求需要一定的时间这个时间可长可短但是我们确确实实在某一刻文件已经上传到了指定地址并且访问到这个文件。这时候就会造成条件竞争。
move_uploaded_file()函数和unlink()函数 条件竞争漏洞
条件竞争漏洞是一种服务器端的漏洞由于服务器端在处理不同用户的请求时是并发进行的因此如果并发处理不当或相关操作逻辑顺序设计的不合理时将会导致此类问题的发生。 上传文件源代码里没有校验上传的文件文件直接上传上传成功后才进行判断如果文件格式符合要求则重命名如果文件格式不符合要求将文件删除。 由于服务器并发处理(同时)多个请求假如a用户上传了木马文件由于代码执行需要时间在此过程中b用户访问了a用户上传的文件会有以下三种情况 1.访问时间点在上传成功之前没有此文件。 2.访问时间点在刚上传成功但还没有进行判断该文件存在。 3.访问时间点在判断之后文件被删除没有此文件。
我们可以利用这个时间差进行攻击
这一关需要使用burp 设置两个流量包一个持续上传木马的流量包一个持续访问木马的流量包 1.创建一个cd.php的文件
内容如下 ?php $f fopen (test.php,w) ; fputs ($f,?php phpinfo();?); ? #代码的作用就是在访问到这个文件后这个文件会在服务器的当前目录下创建一个test.php的文件内容为?php phpinfo();?
2.上传php文件使用burp抓包
#这个包是持续上传木马文件的流量包 3.将流量包发送至爆破模块 4.清空所有变量不设置任何注入点 5.payloads设置中payload type选择null payloads Generate设置为 6000 #这个数字可填大一些 6.修改线程数量 7.快速访问URL
http://127.0.0.1/upload-labs/upload/cd.php
使用burp抓包发送至爆破模块设置参数与前6个步骤 一致
#这个是持续访问木马文件的流量包
8.两个包同时点击 Start attack
攻击成功后在上传目录里会自动生成一句话马
#如果没有成功就再试一遍
成功访问木马URL地址
参考 https://www.cnblogs.com/vinslow/p/17053341.html
【文件上传绕过】——条件竞争漏洞_条件竞争上传漏洞-CSDN博客 Pass-19
这一关可以利用 apache解析漏洞条件竞争 绕过
然而都没有绕过成功
最后使用图片马成功绕过
首先准备一张图片马直接上传 上传后的地址http://127.0.0.1/upload-labs/upload1702552082.jpg
图片已经重命名了而且没有上传到upload目录蚁剑无法连接
所以可以结合文件包含 绕过 http://127.0.0.1/upload-labs/include.php?file./upload1702552082.jpg 成功绕过 Pass-20
直接上传php文件保存名称upload-19.php
使用burp抓包 修改后缀 #也可以使用大写绕过末尾加空格绕过末尾加点绕过
上传成功 Pass-21
这一关是CTF题
上传1.php文件保存名称uploud-20.php
使用burp抓包
修改参数
修改前 修改后 上传成功 参考
upload-labs_pass21_CTF逻辑老饶了_upload-labs pass21-CSDN博客
upload-labs通关Pass-16~Pass-21_18题目 u new myupload($_files[upload_file][name-CSDN博客