全面了解文件上传漏洞, 通关upload-labs靶场

这篇具有很好参考价值的文章主要介绍了全面了解文件上传漏洞, 通关upload-labs靶场。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

靶场简介

upload-labs是一个专门用于学习文件上传漏洞攻击和防御的靶场。它提供了一系列模拟文件上传漏洞的实验环境,用于帮助用户了解文件上传漏洞的原理和防御技术。

这个靶场包括了常见的文件上传漏洞类型,如文件名欺骗、文件类型欺骗、文件上传功能绕过等。通过练习不同的攻击方式,用户可以加深对文件上传漏洞的理解和提高对这类漏洞的攻击和防御技能

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


靶场搭建

upload-labs靶场下载地址:https://github.com/c0ny1/upload-labs

将下载好的upload-labs解压至phpstudy的WWW目录,随后开启phpstudy

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


靶场通关

pass-1(JS代码绕过)

源码审计

查看网页HTML源码, 可以发现此关卡是通过JS代码来验证上传文件的类型, 只要将JS代码禁止掉就能绕过上传限制

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


演示步骤

准备一个webshell.php脚本文件, 文件内容如下所示, 是一个简单的一句话木马

<?php @eval($_POST[123]);?>

将脚本文件上传, 结果直接被网站拦截掉了

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


网页栏输入about:config, 搜索javascript, 将javascript.enabled的值设置为false, 即表示浏览器禁止执行javascript代码

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


刷新第一关卡页面, 再次上传webshell.php, 鼠标右键查看该图像的地址, 即为webshell的网页路径. 例如此处我上传的webshell路径为http://www.upload-labs.net:81/upload/webshell.php

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


打开蚁剑, 输入webshell的路径和密码, 然后点击测试连接, 显示连接成功

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-2(MIME类型绕过)

源码审计

此关卡是通过对上传的文件类型进行检验, 若文件类型不为image/jpeg, 则上传失败, 只需抓包修改Content-type字段的值为image/jpeg即可绕过限制

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


演示步骤

使用burpsuite抓取上传webshell.php的数据包, 将Content-Type字段的值修改成image/jpeg

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


文件上传成功, 后面操作就不演示了

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-3(上传可解析后缀)

源码审计

此关卡的黑名单只有asp、aspx、php、jsp, 并没有限制php3, php5这些后缀

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


演示步骤

首先, 我们需要在phpstudy的http.conf文件添加如下一行, 目的是为了让网站能够解析后缀为php5文件, 然后重启phpstudy

AddType application/x-httpd-php .php .phtml .php5

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


上传webshell.php5文件, 文件内容如下所示:

<?php phpinfo();?>

文件上传成功后, 鼠标右键复制下面的图片路径, 该路径即为上传的webshell, 可以发现网站是能够解析php5文件的

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-4(上传.htaccess)

源码审计

点击右上角的提示, 发现这关卡限制上传的文件后缀还是挺多的, 例如第三关的php3, php5这些后缀都被禁止掉了, 但是还是有漏网之鱼的, 就是.htaccess文件

.htaccess文件是apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件, 可以实现网页301重定向、自定义404页面、改变文件扩展名、允许/阻止特定的用户访问目录等等。

要注意的是, 当php版本高于5.2.17时,.htaccess文件上传漏洞就不再存在, 所以说这个漏洞在实战环境下几乎时不肯能存在的

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


演示步骤

上传.htaccess文件, 文件内容如下:

<FilesMatch "webshell">
Sethandler application/x-httpd-php 
</FilesMatch>

.htaccess会改变uploads这个目录下的文件解析规则, 调用php的解析器去解析一个文件名只需包含“webshell”字符串的任意文件

简单来说, 若一个文件的文件名为webshell.jpg, 其内容是phpinfo(), 那么apache就会调用php解析器去解析此文件


随后上传webshell.jpg, 文件内容如下:

<?php phpinfo();?>

上传成功后查看文件路径, 可以发现网站使用php解析了webshell.jpg里的内容, 执行了phpinfo()代码

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-5(后缀添加. .)

源码审计

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络

首先看下$file_name = deldot($filename)这行代码, 它的作用是将上传文件最末尾的"."去除掉了, 我们可以利用它这个机制来绕过后缀限制, 例如上传一个文件名为webshell.php. ., 经过deldot函数的处理后文件名为webshell.php.

然后再看下strrchr函数, 该函数的作用是返回的字符串从指定字符的位置开始,包含指定字符。因此,$file_ext变量中保存的是文件的扩展名, 也就是说最终$file_ext的值为.

$deny_ext是一个存有黑名单后缀的数组, 后面代码判断$file_ext是否是黑名单后缀, 由于$file_ext的值为., 并不属于限制后缀, 因此能够上传成功


演示步骤

如下图所示, burpsuite抓取上传文件的数据包, 将文件名称修改成webshell.php. ., 随后文件上传成功

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


查看上传的文件, 虽然文件后缀有个., 但是依旧不影响网站对其的解析

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-6(后缀大小写)

源码审计

审计源码可以发现, 此关卡去除了大小写转换函数, 也就是说可以通过构造大小后缀来绕过限制, 例如Php,PHP这种后缀

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


演示步骤

上传webshell.php并抓包, 修改文件名为webshell.Php

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


上传成功后访问脚本文件, 如下图所示

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-7(空格绕过)

源码审计

审计源码可以发现, 此关卡去除了删除末尾空格的函数, 这样我们可以在文件后缀末尾添加空格来实现绕过

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


演示步骤

抓取上传文件的数据包, 修改文件名称, 在文件后缀末尾后面添加空格, 如下图所示

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


上传文件成功后访问脚本文件

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-8(后缀添加.)

源码审计

通过审计源码可知, 此关卡去除了删除文件名称最末尾的字符’.'的函数, 因此可以通过在文件后缀添加"."来绕过

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


演示步骤

抓包修改文件名为webshell.php.

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


文件上传成功后访问脚本文件, 虽然文件名为webshell.php., 但是网站依旧能够解析

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络

pass-9(::$data绕过)

源码审计

通过审计源码可以发现, 此关卡去除了删除字符串"::$data"的函数, 这样我们可以在文件后缀末尾添加字符串"::$data", 这样网站后端识别的后缀名即为.php::$data, 不在黑名单当中, 可以上传成功

其次, 根据Windows系统的特性, 在目录创建文件时会忽略文件名称的::$data进行创建, 也就是说, 最后创建的文件后缀依然是php

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


演示步骤

上传文件并抓包, 在文件后缀末尾添加字符串::$data

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


打开上传文件所在目录进行查看, 可以发现文件后缀经过windows系统过滤后, 变成了php后缀

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


访问上传的脚本文件

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-10(后缀添加. .)

源码审计

此关卡的黑名单后缀基本完善了, 就连.htaccess后缀也被禁掉了, 只能用老办法了, 在文件后缀末尾添加. .

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


演示步骤

抓包修改文件名称为webshell.php. .

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


上传文件后访问脚本文件

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-11(双写后缀绕过)

源码审计

此关卡用到了str_ireplace()函数, 作用是将文件名称中的黑名单后缀替换成空格, 并且此函数的特性是忽略大小写, 所以无法使用之前的大小写后缀进行绕过, 但是可以双重写后缀来绕过, 比如构造一个后缀为pphphp, 此函数是从前往后寻找可替换的字符串, 因此经过替换后的后缀变成了php

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


演示步骤

抓包修改文件后缀为pphphp

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


上传文件成功后访问脚本文件

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-12(%00截断绕过)

源码审计

下图所示为此关卡的源码, 后面我会挑几行关键的代码来解释

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8o8SUNJQ-1673666521408)(https://img2023.cnblogs.com/blog/1779065/202301/1779065-20230114111605645-413484507.png)]


$file_ext = substr($_FILES['upload_file']['name'],strrpos($_FILES['upload_file']['name'],".")+1);

这条代码的作用是获取文件的扩展名。简单来说就是获取文件名称最后一个"."后面的字符串当作文件后缀


$img_path = $_GET['save_path']."/".rand(10, 99).date("YmdHis").".".$file_ext;

通过GET请求来获取save_path参数的值, 也就是说这个值是可控的, 若我们将这个值修改成../upload/webshell.php%00, 也就是在文件名后面添加截断符号%00 ,这样做的作用是将截断数据, Windows创建文件时会忽略后面 rand(10, 99).date("YmdHis").".".$file_ext这行代码, 这样$img_path变量值就变成了../upload/webshell.php

%00 是 URL 编码中的一个字符,它表示一个空字符(NULL 字符)


move_uploaded_file($temp_file,$img_path)

将文件的名称修改成webshell.jpg, 通过这行代码可以将webshell.jpg移动至upload目录, 并将文件名修改成webshell.php


%00截断法只适用于php版本低于5.3的, 且需要在phpstudy把魔术引号函数magic_quotes_gpc关闭掉, 关闭方法如下图所示

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


步骤演示

上传webshell.php文件, 抓包修改文件名称为webshell.jpg, 修改save-path参数为../upload/webshell.php%00

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


文件上传成功后查看脚本文件, 将后面的无效内容去除掉, 即可访问成功

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-13(%00截断绕过)

源码审计

此关卡与pass-12相似, 但不同的是pass-12的save_path参数是通过get请求获取的, 而这关是通过post请求获取的, get请求传递的参数后端会自动进行解码, 但是post请求传递的参数后端不会自动解码, 因此我们要对截断符%00进行url解码

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


步骤演示

抓包修改post请求数据为../upload/webshell.php%00, 并对%00进行url解码

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


下图是%00解码后的结果, 是一个肉眼看不到的空字符, 随后还需将文件名修改成webshell.jpg

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


上传文件后访问脚本

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-14(图片马)

源码审计

此关卡通过获取上传文件的内容的前两个字节来判断该文件的类型, 简单来说就通过识别文件头来判断文件类型, 我们只需修改文件头为图片格式的, 例如gif文件头:GIF89A, 就能实现绕过

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


步骤演示

在文件内容前面添加字符串"GIF89A"(这是gif格式的文件头), 并将文件后缀修改成jpg

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


当然你也可以使用windows的copy命令来合并文件, 首先找一个图片文件1.jpg, 然后将其与webshell.php合并成webshell.jpg

copy 1.jpg + webshell.php webshell.jpg

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


随后上传文件配合文件包含漏洞解析脚本

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-15(图片马之getimagesize函数)

源码审计

这关和上一关很相似, 只不过这关是使用 getimagesize() 函数获取图像的信息。getimagesize() 函数返回一个数组,数组的第三个元素是图像的类型, 而该函数会通过读取文件头部的几个字符串(即文件头), 来判断是否为正常图片的头部, 我们只需将头部内容修改成图片文件的头部, 例如添加文件头GIF89A, 就可以绕过此机制

随后使用 image_type_to_extension() 函数将图像的类型转换为扩展名

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


步骤演示

和上一关的操作没啥区别, 在文件内容前面添加GIF89A, 并保存为jpg格式文件

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


随后上传文件配合文件包含漏洞

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass -16(图片马之exif_imagetype函数)

源码审计

根据提示, 此关卡需要开启php_exif模块, 需要修改php.ini配置文件去开启它, 如下图所示

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


此关卡使用exif_imagetype()函数来识别文件类型, 此函数和getimagesize()的原理差不多, 都是通过读取文件头来判断文件类型

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


步骤演示

操作步骤和上一关一样, 这里就不演示了


pass-17(图片马之二次渲染)

源码审计

此关卡使用imagecreateformjpeg()函数来对上传的图片文件进行二次渲染,随后返回一个新的图像文件, 由于新的图像文件是经过二次渲染后的, 所以我们在图像中布置的恶意代码也会被刷新, 从而导致不能配合文件包含漏洞来解析脚本文件

但是, 二次渲染后的文件并不是所有文件内容都会被刷新, 有一小部分是没有修改的, 我们只需找到这一小部分内容的位置, 然后将代码插入进去, 就能实现绕过

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


步骤演示

首先我们上传一个包含phpinfo()代码的gif图片, 图片虽然成功上传, 但是却无法配合文件包含漏洞进行解析, 如下图所示, 页面显示了一堆乱码, 这显然不是我们想要的结果

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


我们将上传前和上传后的gif文件放到winhex工具中进行对比,其中webshell.gif是上传前的, 1400.gif是上传后的

很明显可以看出, 文件末尾的phpinfo代码经过二次渲染后, 已经不见了, 被刷掉了

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


但是二次渲染还是可以绕过的, 只要找到没有被它渲染过的地方, 例如, 如下图所示的这个地方来写入我们的代码, 可能你会有疑问, 为什么不在前面那段空白写入代码, 这是因为前面的内容属于文件头, 如果写入了代码就相当于破坏了文件头, 这样就不能上传文件了

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


既然找到地方了, 那么就往此处写代码喽, 首先复制文件末尾的phpinfo代码的十六进制数值

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


然后往找到的地方写入代码, 来覆盖原先的代码(注意:不是粘贴, 粘贴是插入代码)

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


上传winhex修改后的文件, 配合文件包含漏洞解析gif图片的内容

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-18(条件竞争)

源码审计

此关卡主要考察条件竞争, 如下代码所示, 后端先将文件上传至网站目录, 然后才对文件进行检验来决定是否删除这个文件, 如果我们在上传文件的瞬间, 也就是文件没被删除的时候, 访问这个文件, 就能实现绕过

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


步骤演示

首先上传一个webshell.php并抓包, 将包发送给intruder模块

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


在intrude的负载选项设置成如下图所示, 设置完后点击右上角的开始攻击

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


然后再抓取访问上传文件的数据包并发送给intruder, 负载选项的设置和上述一致, 点击开始攻击

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


然后查看访问上传文件数据包的爆破结果, 找响应长度大的, 对其鼠标右键, 在浏览器中显示响应

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


随后复制此链接至开启了burpsuite代理的浏览器中打开

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-19(.7z后缀绕过)

源码审计

首先创建了一个Myupload类, 并调用了此类的upload函数, 传递UPLOAD_PATH作为upload函数的参数, UPLOAD_PATH的值是上传文件的所在目录, 也就是/upload

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


转到upload函数的定义处, 这里要重点注意setDir这个函数, 此函数用于设置文件上传的目录

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


转到setDir函数的定义处, 此处有一行代码写错了, cls_upload_dir的值应该纠正为$dir.'/', 至于为何要这样纠正, 后面我会讲述

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


继续将代码往下翻, 此处调用了move函数

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


转到move函数定义处可以发现, 要是没有纠正上述代码, 那么cls_upload_dir的值就为upload, 此变量与$cls_filename拼接在一起后构成的文件名如下图2所示, 上传的文件就不会放在upload目录下, 而是放在网站根目录下

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


如下代码规定了白名单后缀, 这里要特别注意7z这个后缀, 这后缀浏览器是无法解析的, 当浏览器遇到无法解析的后缀时, 就会往前解析, 要是我们上传文件名为webshell.php.7z, 那么浏览器就会解析.php后缀而不会解析.7z后缀

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


从下述代码可以看出, 此关卡和上一关差不多一个性质, 都是上传了文件后才对文件进行检验

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


步骤演示

此关卡的操作步骤上一关差不多, 不同的是这关需要将文件名修改成webshell.php.7z, 详细操作这里就不再演示

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-20(%00截断绕过)

源码审计

从白名单后缀可以看出, 并没有严格限制大小写, 只要将后缀名修改成PHP就可以绕过, 或者使用截断符%00绕过, 文件名是通过POST请求的save_name参数来获取的

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


步骤演示

上传webshell.php文件, 将save_name参数值的文件后缀修改成PHP

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


使用上述方法上传文件成功后访问脚本文件

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


或者使用%00截断符号

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


pass-21(数组绕过)

源码审计

首先判断上传的文件类型是否属于: image/jpeg, image/png, image/gif

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


然后检测上传的文件名称是否为数组, 若不为数组, 则使用explode函数将文件名按照“.”进行分割, 并将结果转换为小写, 这个 $file 会是一个数组, 数组的第一项是文件名,第二项是文件扩展名

也就是说如果我们上传的文件名称若为数组, 那么他就不会执行这行代码, 而是继续往下执行代码

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


例如此处我传递了两个数组元素, 分别是save_name[0]=upload.phpsave_name[2]=jpg

end($file) 获取到的就是这个数组的最后一个元素,也就是文件扩展名, 然后对这个扩展名进行检验, 由于我们构造数组的最后一个元素为白名单后缀jpg, 因此能够上传文件

使用 reset() 函数获取数组的第一个元素,即upload.php , $file[count-1]的值为空(下面的代码很好解释了此值为何为空), 最终$file_name的值为upload.php

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络

<?php
header("Content-Type:text/html;charset=utf-8");
$save_name[0]="upload.php";
$save_name[2]="jpg";
print_r(count($save_name)); //输出数组的个数:2

print_r($save_name[count($save_name)-1]); //输出$save_name[1]的值:空

?>

步骤演示

首先上传一个webshell.php文件, 抓包修改数据如下图所示

注意: 在传递数组元素值时都会多留一条空行, 不要将这条空行删除, 否则文件会上传失败

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络


访问脚本文件

upload-labs条件竞争,靶场,安全,php,web安全,网络安全,网络

文章来源地址https://www.toymoban.com/news/detail-758078.html

到了这里,关于全面了解文件上传漏洞, 通关upload-labs靶场的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 文件上传漏洞 (upload部分通关教程)

    只适合只有前端验证的网站 一句话木马: 保存到文件中: 使用第一关直接上传,报错: 按照网站要求,修改文件后缀名为jpg: 重新上传111.jpg文件,打开burp抓包,修改包中的后缀名 点击Forword上传,上传成功: 使用蚁剑连接后台步骤: 复制url: 连接成功: 原理就是验证后

    2024年02月22日
    浏览(32)
  • 文件上传漏洞--Upload-labs--Pass13&&14&&15--图片马

    顾名思义,图片马即 图片 + 木马。将恶意代码插入图片中进行上传,绕过白名单。 图片马制作流程: 1、在文件夹中打开 cmd,输入指令。 /b:二进制、 /a:追加。即将 test.php 追加到 test.jpg 中生成新图片 new.jpg。 1、首先进行代码审计,源代码中使用白名单,判断文件类型,

    2024年02月22日
    浏览(38)
  • 文件上传漏洞--Upload-labs--Pass05--大小写绕过

    我们想要上传含有恶意代码的 .php 文件,但 .php 后缀名的文件可能会被 白名单 或 黑名单拦截,从而上传失败,在某些源代码中,没有对文件的后缀用 strtolower()函数 统一进行小写化,这就会存在大小写漏洞,我们可以将 test.php 写作 test.Php,这样就可以绕过源码中的黑名单,

    2024年02月20日
    浏览(43)
  • web安全-文件上传漏洞-图片马制作-相关php函数讲解-upload靶场通关详细教学(3)

    制作图片马有两种方法,一种是文本方式打开,末尾粘贴一句话木马,令一种是使用命令进行合成。 方法1 首先准备好一个图片(这里是1.png)。 将一个图片以文本格式打开(这里用的Notepad++,以记事本方式打开修改也能连接成功,不过修改后图片无法正常显示了)。 后面粘

    2024年02月06日
    浏览(42)
  • upload-labs通关

    最近,我有个朋友老是反映部署的网站老是被黑客攻击,我看了下就是普通的PHP框架搭建的网站,经过一番排除也清除了木马。为此我专门花1天时间研究一下文件上传漏洞,知己知彼方能百战百胜。这里我选择了一个开源的靶场upload-labs。 Cookie-Editor:https://chrome.google.com/we

    2023年04月08日
    浏览(71)
  • upload-labs文件上传靶场实操

    上传姿势总结: 1)改后缀名绕过 2)Content-Type绕过 3)本地文件包含 4)远程文件包含 5)httpd.conf黑名单绕过 6)htaccess绕过 7)大小写绕过 8)空格绕过 9)点绕过 10)特殊符号::$DATA绕过 11). .绕过 12)多写绕过(多写php) 13)%00截断目录绕过 14)16进制00截断目录 15)本地文件包含+文件头绕过 16)本地

    2024年02月08日
    浏览(34)
  • upload-labs通关攻略(更新中)

    upload-labs是一个使用php语言编写,专注于文件上传漏洞的靶场。该靶场可以让练习者了解文件上传漏洞的原理、利用方法。 1.首先要下载phpstudy,解压安装 phpstudy下载链接:https://www.xp.cn/download.html 2.下载upload-labs源代码 下载链接:https://codeload.github.com/c0ny1/upload-labs/zip/refs/hea

    2024年02月15日
    浏览(30)
  • Upload-labs 1~15 通关详细教程

    upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共21关,每一关都包含着不同上传方式。 靶场地址Upload-labs。 上传一个php的一句话木马文件 文件内容如下: 上传php一句木马文件,这

    2024年02月09日
    浏览(38)
  • Upload-labs 1-21关 靶场通关笔记(含代码审计)

    目录 Pass-01(JS前端验证)  方法一:删除JS验证   方法二:先上传符合要求的图片 再在burp里面修改后缀即可 Pass-02(MIME验证) 前置知识$_FILES Pass-03(php3、phtml绕过黑名单) Pass-04(.htaccess绕过黑名单)  前置知识 .htaccess 思路一  思路二 思路三 ​编辑 Pass-05(.user.ini黑名单

    2023年04月09日
    浏览(30)
  • upload-labs详解1-19关通关全解(最全最详细一看就会)

    upload-labs是一个使用php语言编写的,专门收集渗透测试过程中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共19关,每一关都包含着不同上传方式。 1.png: 选择一个php文件,发现无法上传。 查看提示说是使用js对不合法文件进行检查,看到是

    2024年02月06日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包