文件上传基础学习2
文件上传基础学习2
三、靶场实操
5、.htaccess重写解析绕过上传(第四关)
.htaccess
文件是在Apache Web服务器上进行配置的重要文件,它可以用于控制网站的许多方面,包括URL重写和上传文件的处理。攻击者可以尝试绕过文件上传限制,通过编写特定的.htaccess
规则来执行恶意操作。
-
该关卡是将所有的可执行后缀名都加入了黑名单了,利用htaccess重写解析绕过尝试一下
-
准备一个图片码
4.jpg
<?php phpinfo();?>
-
上传文件,然后访问图片,然后访问图片的地址,会出现无法解析的错误
-
在上传一个.
htaccess
文件<FilesMatch "4.jpg"> Sethandler application/x-httpd-php </FilesMatch>
其中,4.jpg是我们刚上传的图片码,然后这个是文件是可以将4.jpg解析为php文件
-
重新访问图片的地址,此时服务器会将该图片文件解析成php文件
6、. .
进行绕过、upload第五关
-
查看页面的源代码
$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); //首尾去空
先将文件收尾去空一次,然后删除文件末尾的点,在接着对文件名去空一次
-
上传一个
phpinfo.php
用burpsuite进行拦截,然后后缀名,修改为phpinfo.php. .
-
上传成功后,对上传的文件进行访问
- 在Windows环境下,浏览器(以及许多其他应用程序)会自动省略文件名中的末尾句点(
.
),这是因为Windows操作系统对文件名有一些特殊的处理规则
- 在Windows环境下,浏览器(以及许多其他应用程序)会自动省略文件名中的末尾句点(
7、大小写绕过,upload第六关
-
分析源代码
$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".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",".htaccess",".ini");
没有对php后缀名进行严格的过滤,存在大小写绕过
-
上传
phpinfo.PHP
文件<?php phpinfo();?>
-
可以成功上传,然后在行的标签页打开上传的文件
8、空格绕过
-
查看页面的源码
发现并没有过滤空格,此时可以试试在后缀名后面加一个空格
-
windows中文件的命名不能以空格结尾,所以用
burpsuite
工具来添加空格 -
在新标签页中打开图像
9、利用windows系统特性,文件名后面加点。upload第8关
在Windows环境下,浏览器(以及许多其他应用程序)会自动省略文件名中的末尾句点(.
),这是因为Windows操作系统对文件名有一些特殊的处理规则
-
查看靶场源代码
发现过滤规则中并没有删除文件末尾的点
-
上传木马文件,并在文件后缀名加
.
-
访问上传文件,注意将后面的
.
删除未删除点删除点
10、利用::$DATA
,Upload第九关
::$DATA 是一个用于存储 NTFS 文件系统中的备用数据流(Alternate Data Stream)的特殊名称。备用数据流是一种 NTFS 文件系统的功能,它允许文件除了默认数据流之外,还可以包含一个或多个附加数据流。这些附加数据流可以用来存储额外的信息,但通常不会像默认数据流那样被广泛使用。
-
查看页面源码,并没有过滤
::$DATA
-
上传文件并用bp拦截,在文件后缀名后加
::$DATA
-
访问上传的文件,删除文件路径中文件名的::$DATA
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)