文件上传 点绕过

在CTF(Capture The Flag)竞赛中,点绕过(Dot Evasion)是一种文件上传漏洞利用技术,它涉及到在文件名中添加额外的点(.)来迷惑Web应用程序的文件上传过滤机制。这种技术利用了文件名解析的逻辑缺陷,特别是在一些Web应用中,它们可能错误地处理包含多个连续点的文件名。

点绕过的工作原理:

  1. 多重点使用 :攻击者在文件名中使用多个连续的点,例如file...txtshell....php。在某些情况下,Web应用可能只识别第一个点之后的文件扩展名,而忽略额外的点。

  2. 混淆过滤机制 :如果Web应用的过滤机制没有正确处理这种情况,它可能只查看最后一个点后面的扩展名,而忽略中间的点。例如,shell....php可能被错误地认为是.php文件,即使它实际上包含恶意代码。

  3. 文件系统差异:不同操作系统处理文件名的方式不同。在一些系统中,多个连续的点可能被视为一个点,而在其他系统中,它们可能被保留。利用这一点,攻击者可以创建一个在Web应用的过滤机制中看起来合法的文件名,但在文件系统中被正确解析,从而允许执行恶意代码。

利用点绕过:

  1. 创建文件 :创建一个包含恶意代码的文件,并给它一个包含额外点的文件名,例如shell....php

  2. 上传文件:尝试将文件上传到Web应用。如果应用的过滤机制只查看最后一个点后的扩展名,上传很可能成功。

  3. 访问文件 :如果上传成功,尝试通过Web服务器访问该文件。如果服务器正确解析了文件名,并识别出.php扩展名,你可能能够执行恶意代码。

防御措施:

  1. 规范文件名解析:确保Web应用正确处理包含多个点的文件名,避免只关注最后一个点后的扩展名。

  2. 深度文件检查:除了检查文件名,还应该检查文件的实际内容和MIME类型,以确认文件的真实类型。

  3. 限制执行权限:确保上传目录下的文件没有执行权限,或者使用白名单机制严格控制哪些类型的文件可以被执行。

  4. 输入验证 :对上传的文件名进行严格的验证,拒绝任何包含多个连续点(.)的文件名,以避免点绕过的尝试。

  5. 安全的文件上传处理:上传的文件应该存储在安全的位置,避免直接在Web根目录下存放,同时限制对上传文件的直接访问。

相关推荐
小韩博15 分钟前
小迪安全 · 第 39 课学习笔记
笔记·学习·安全·网络安全
小韩博20 分钟前
小迪第40天:安全开发-JavaEE应用&SpringBoot框架&JWT身份鉴权&打包部署JAR&WAR
spring boot·安全·web安全·java-ee
重生之我在番茄自学网安拯救世界20 分钟前
网络安全中级阶段学习笔记(十):upload靶场实战(17关以及问题解决)
笔记·学习·网络安全·文件上传漏洞·图片木马
爱吃香蕉的阿豪25 分钟前
NET Core中ConcurrentDictionary详解:并发场景下的安全利器及服务端实践
安全·http·.netcore·高并发
汽车通信软件大头兵29 分钟前
信息安全--安全XCP方案
网络·安全·汽车·uds
老猿讲编程33 分钟前
【车载信息安全系列2】车载控制器中基于HSE的多密钥安全存储和使用
网络·安全
唐僧洗头爱飘柔95272 小时前
【软考:程序员(03)】如何考得程序员证书?本片知识点:文件目录、目录结构、文件路径、文件命名规则、系统安全、用户权限、作业调度、用户界面
安全·系统安全·文件管理·用户界面·用户权限·作业调度算法·文件命名规则
yesyesyoucan3 小时前
安全工具集:一站式密码生成、文件加密与二维码生成解决方案
服务器·mysql·安全
cike_y11 小时前
JSP内置对象及作用域&双亲委派机制
java·前端·网络安全·jsp·安全开发
cdprinter13 小时前
信刻光盘数据自动回读系统,多重保障数据安全及调阅便捷性!
网络·安全·自动化