web攻击-外部路径遍历攻击(External Path Traversal Attack)

news/2025/1/20 10:51:08/文章来源:https://www.cnblogs.com/zhaoyong631/p/18680927

外部路径遍历攻击(External Path Traversal Attack),也被称为目录遍历攻击,是一种网络攻击技术,攻击者试图通过篡改应用程序或系统的路径参数,访问本来应该受限的文件或目录。

 

这种攻击通常发生在 Web 应用程序中,当应用程序处理用户输入的文件路径时,如果没有对路径进行适当的验证和过滤,攻击者就可以通过特殊字符或路径结构来访问敏感或限制访问的文件。

 

本质是:文件路径的过滤不严格漏洞导致

 

攻击原理:

攻击者利用不安全的路径处理机制,构造包含路径遍历的恶意输入。常见的路径遍历字符是 ../(双点斜杠),它用于向上移动文件系统的目录层级。例如,攻击者可能会输入:

../../../../etc/passwd

该路径通过一系列 ../ 来跳出当前目录,试图访问服务器上的敏感文件(如 Linux 系统中的 /etc/passwd 文件,该文件存储了用户信息)。

举例:

  1. Web 应用程序漏洞: 假设有一个 Web 应用程序允许用户下载文件,用户可以通过 URL 参数指定文件名:

     
    http://example.com/download?file=report.pdf

    如果应用程序没有对 file 参数的输入进行适当的验证,攻击者可能构造如下恶意请求:

     
    http://example.com/download?file=../../../../etc/passwd

    通过这种方式,攻击者就能够访问到服务器上本不应公开的文件(如 /etc/passwd 文件),从而获得敏感信息。

  2. 上传漏洞: 如果 Web 应用程序允许用户上传文件,但没有正确验证文件路径,攻击者可能上传带有恶意路径的文件,并利用路径遍历攻击覆盖系统中的文件,甚至执行远程代码。

防范措施:

  1. 输入验证与过滤: 对用户输入的路径进行严格检查,确保没有包含恶意字符如 ..//,并限制只能访问预定的目录。
  2. 使用白名单: 对于需要文件路径的操作,使用白名单机制,确保只允许访问特定的文件和目录。
  3. 限制文件上传目录: 将上传文件的目录限制在一个独立的、非敏感的文件夹中。
  4. 错误消息隐藏: 确保错误消息中不包含任何可能泄露系统路径或其他敏感信息的内容。

通过这些防范措施,能够有效降低外部路径遍历攻击的风险。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/872033.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你所不知道的 C/C++ 宏知识——基于《C/C++ 宏编程的艺术》

C/C++ 宏缺陷这么多,它过时了吗?预处理器如何替换宏,有次数限制吗?何时终止?何为预扫描、后扫描?如何利用它们来实现延迟拼接、惰性求值,这些技术又有什么用处,宏与 C++ 模板元编程有何区别和联系?如何利用宏来生成代码?本文为你一一解答。前言 刚学 C++ 的时候,就知…

vue复盘-slot插槽

1.slot 插槽 子组件里定义,父组件引用,slot是个占位符,父组件可以自定义传递文本==》子组件【可复用性】【灵活度】 一般用于组件封装,插件封装2.slot类型【默认slot、具名slot、作用域slot】 2.1 默认 slot2.2 具名slot 可以指定作用域里显示 2.3 作用域slot (允许子组件…

vue指令v-cloak,v-text,v-html,v-pre

1.v-cloak 配合css使用,用于解决加载过慢(复杂逻辑处理闪烁问题)编译时元素会自动加上属性v-cloak,编译结束后会自动消失 csscss[v-cloak]{display: none }html<div v-cloak> xxx</div> 2.v-html & v-text & v-pre 引用https://blog.csdn.net/weixin_5…

IDEA如何将代码进行注释

前言 大家好,我是小徐啊。我们在使用IDEA开发Java应用的时候,一般都是需要写注释的,这些注释帮助我们和别人更好的理解代码的含义,可以说是必不可少的。在使用IDEA开发时,其实是可以快捷的进行代码注释的,而不用手动去注释,那么IDEA该如何进行代码注释呢? 如何进行代码…

完整的 c 语言用到的基础知识总结

作者: baron 博客: baron-z.cn用于记录 c 语言基础知识,如果没有特别说明本文的所有代码编译环境为 gcc 编译器编译,学习资料来自狄泰软件学院可在淘宝购买学习一、基本数据类型 1、数据类型含义 固定内存大小的别名作用 创建变量c语言数据类型表Type Storage size Valu…

seqtk 生信工具的安装与使用

001、安装git clone https://github.com/lh3/seqtk.git cd seqtk/ make ./seqtk | head -n 3 002、

[Tools] SWC Intro

SWC SWC 英文全称为 Speedy Web Compiler,翻译成中文为“快速网页编译器”。 官网地址:https://swc.rs/来看一下官方的介绍:SWC is an extensible Rust-based platform for the next generation of fast developer tools. Its used by tools like Next.js, Parcel, and Deno…

数据迁移丨借助 AI 从 PostgreSQL 到 GreatSQL

数据迁移丨借助 AI 从 PostgreSQL 到 GreatSQL本文将介绍如何从 PostgreSQL 到 GreatSQL 的数据迁移,并运用 AI 协助迁移更加方便。迁移的方式有很多,例如:pg_dump:导出SQL文件,修改后导入 GreatSQL 数据库。 COPY:导出txt文本文件,导入 GreatSQL 数据库。 pg2mysql:从…

圆方树学习笔记

元方树。 下文除特殊强调外,所有图皆为无向图。 引入割点:在图中,删除某个点后,导致图不再连通的点。 点双连通:在一张图中,取两个点 \(u\)、\(v\),无论删去哪个点(除 \(u\)、\(v\) 自身外),\(u\)、\(v\) 都能连通,我们就说 \(u\) 和 \(v\) 点双连通。 点双连通分量…

WordPress产品导入后内容出现乱码,以及附属一些别的功能

效果图如下 该插件附带了一个可以把产品描述里面的超链接给去掉,以及有的产品图片点击会在地址栏上面显示图片的路径,在该插件可以进行关闭,并且替换成一个模态窗,还有对产品邮费展示进行了处理,到金额到达包邮的时候,别的邮费进行隐藏 下面是该插件源码目录结构duola …