元宇宙非小号金色财经交流群社区官网

Web应用系统:攻击者的资源管理器

浏览:79|时间:2023-07-10 17:55:20
大家好,我是TT。

这期我想和你一起探索另一个有趣的漏洞类型——神奇的路径穿越。

想象你是一个勇者,而你这次的目标是要进入一座盘踞着古龙的城堡寻找宝藏。考虑到自己还不够强大,正面进攻明显会送了自己的小命,于是你打算先绕道看看,这个城堡有没有什么其他可以进入的方式。幸运的是,这座城堡的设计完整,有许多侧门;但同时你也会发现,每一扇侧门的背后不是仓库就是守卫室,完全不能帮助你进入城堡内部。经过了一整天的探索,你终于发现了一个房间,它和其他仓库在外观上并无二致,唯一的不同是其中一块地板下竟藏着一扇暗门,你怀着好奇缓缓开启这扇门,发现面前正是一条通往城堡的密道…

如果把城堡看作是你进行安全检测的系统,那么恭喜你,现在你已经成功找到了路径穿越漏洞。通过这种漏洞,你可以访问“城堡”内部的各种“宝藏”。当然,你具体能访问到什么样的宝藏,还要取决于地道究竟能够通往何处。

路径穿越

那么什么是路径穿越呢?简单来说,你所构建的系统中有一个功能组件使用外部输入来构建文件名,而这个文件名会用来定位一个在受限目录的文件,如果文件名中既包含一些特殊元素,又没有进行合理的过滤处理,就会导致路径被解析到受限文件夹之外的目录。

扩展开讲一讲,很多系统内部的文件操作都希望被限制在特定目录中进行。通过使用..以及/符号,攻击者可以进行文件路径逃逸。其中最常见的符号组合是../,这种符号组合在操作系统中会被解析为上级目录,这种漏洞被称为相对路径穿越。绝对路径穿越是另一种类型的路径穿越,比如/usr/local/bin就是典型的例子。

接下来我们看几种典型的攻击场景:

1.这里我们来看一种典型的社交网络应用代码,每个用户的配置文件都被存储在单独的文件中,所有文件被集中到一个目录里:

当用户尝试去访问自己的配置文件的时候,会组成如下路径:

/users/example/prfiles/hunter

但是这里要注意的是上述代码并没有对用户传入的参数做验证,因此攻击者可以提供如下参数:

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

通过拼接,攻击者将会得到一个完整的路径:

/users/example/profiles/../../../etc/passwd==>/etc/passwd

通过这条路径,攻击者就可以成功访

Web 管理 系统 资源 WEB应用

本站分享的区块链、Web3.0元宇宙、NFT、数字藏品最新消息等相关数藏知识快讯NFR资讯新闻,与金色财经非小号巴比特星球前线Btc中国官网无关,本站资讯观点不作为投资依据,市场有风险,投资需谨慎!不提供社区论坛BBS微博微信交流群等相关币圈信息发布!
本站内容来源于互联网,如存在侵权及违规内容投诉邮箱( zztaobao@vip.qq.com )