upload-labs黑名单绕过通关(1-11关)

本文详细介绍了多种Web上传安全检测与绕过技术,包括前端JS验证、MIME类型检查、黑名单验证、.htaccess与.user.ini文件利用、大小写与空格绕过、点和::$DATA绕过等。通过实例演示了如何利用蚁剑等工具进行连接,并提供了批处理代码以创建图片马。这些方法展示了Web应用中可能存在的安全风险,提醒开发者加强上传功能的安全防护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

上传的检测与绕过方法 ​

图片马制作批处理代码

第一关:前端js验证

第二关:验证MIME类型

第三关:黑名单验证

第四关:未禁止上传.htaccess文件

第五关:.user.ini绕过

第六关:未区分大小写过滤

第七关:空格绕过

第八关:点绕过

第九关::$DATA绕过

第十关:

第十一关:双写绕过


上传的检测与绕过方法
 

图来自大佬的攻击上传框架


图片马制作批处理代码

上传之前先把制作一句话木马的批处理文件代码附上,不用每次制作去cmd里面操作。
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"

copy /b 1.jpg+2.php 3.jpg


第一关:前端js验证

绕过方法:1、浏览器禁用js    2、删除相关js代码 3、使用BP修改后缀,这里我采用的第三种修改后缀(上传的图片马)

 然后使用蚁剑连接

第二关:验证MIME类型

上传图片马,使用bp修改后缀为php类型即可

使用蚁剑连接

第三关:黑名单验证

这里有两种绕过方法
方法一:需要apache中有如下代码:AddType application/x-httpd-php .php .phtml .phps .php5 .pht,配合解析php4等一些后缀文件
方法二:str_ireplace函数只替换了一次关键字符,可以通过::$DATA双写的方式,绕过上传检验,文件名+::$D::$DATAATA。我这边采用的是第二种

然后上蚁剑连

第四关:未禁止上传.htaccess文件

先上传.htaccess文件来配合解析图片,后上传一个图片马。蚁剑直接连。
htaccess文件:是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
.htaccess文件生效的两个条件:

一、在Apache的配置文件中写上:AllowOverride All 二、Apache要加载mod_Rewrite模块

.htaccess文件内容为:SetHandler application/x-httpd-php

 表示该文件夹下的所有文件都被解析成php文件,然后上传图片马

然后使用蚁剑直接连该图片

第五关:.user.ini绕过

黑名单上传,未禁止上传.user.ini,上传该文件,内容为auto_prepend_file=1.txt
这个1.txt的内容为一句话木马,.user.ini这个文件会把1.txt当成php来进行解析。

然后上传1.txt

上传成功后,使用蚁剑连接该文件

第六关:未区分大小写过滤

对比上关,未进行大小写转换,通过大小写绕过,上传图片马,使用BP改后缀

直接上蚁剑

第七关:空格绕过

两种方法:一、Str_ireplace()函数未完全过滤空格,只过滤一次,可以双写::$DATA来绕过。
二、未进行收尾去空,可以后缀前后加空格来进行绕过,与第三关的方法二一样

然后上蚁剑进行连接

第八关:点绕过

看代码与前面几关对比,缺少删除.的函数,使用BP,上传图片马,修改为php.

上传成功后连接蚁剑

第九关::$DATA绕过

对比上一关,少了::$DATA过滤,上传图片马,改后缀加::$DATA上传
在windows中文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,他的目的就是不检查后缀。

上传成功后直接上蚁剑

第十关:

和第五关类似,就是禁止上传.user.ini文件

没有重命名文件,通过php. .来进行绕过,所以第五关应该就是要通过.user.ini来进行绕过

上传成功后,直接上蚁剑

第十一关:双写绕过

发现str_replace函数替换只替换一次,可以双写php后缀来绕过。

上传成功后上蚁剑

后续白名单上传还在整理,弄好了发出来。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值