You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于代码及渗透测试中.%2e的含义、作用及原理的技术问询

关于.%2e和目录遍历命令的解析

一、.%2e到底是什么?

.%2e是**..(上级目录符号)的URL编码变形写法**:

  • 基础逻辑:ASCII字符里的.(点)对应的URL编码是%2e,把..拆成一个明文点加一个编码后的点,就得到.%2e——服务器解码后它就是标准的..。
  • 这么写的目的很直接:很多Web应用会直接拦截../这种明显的目录遍历字符,但对URL编码后的内容没做解码校验,或者只做了一次解码,用这种变形就能绕开防护规则。

二、.%2e的作用

核心就是绕过Web应用的目录遍历防护,实现越权访问服务器资源:

  • 正常情况下,Web服务只会允许访问指定目录(比如网站根目录)内的文件,但..可以让请求跳转到上级目录,访问本不该被暴露的文件/目录。
  • .%2e是..的「伪装版」,属于路径遍历攻击里的常见绕过技巧,专门针对那些只检测明文../的防护机制。

三、那条curl命令的工作原理

先看命令:curl localhost:80/cgi-bin/.%2e/.%2e/.%2e/.%2e/TargetDirectoryPath
一步步拆解运作逻辑:

  1. URL解码阶段:服务器收到请求后,会先对URL里的编码部分解码,把每个.%2e转换成..。解码后的路径变成:/cgi-bin/../../../../TargetDirectoryPath。
  2. 路径解析阶段:服务器按照文件系统规则解析这个路径:
    • 假设cgi-bin是网站根目录下的子目录,第一个../会从cgi-bin跳回网站根目录;
    • 每多一个../就再往上跳一级,四次跳转后,会直接跳出网站根目录的限制(可能到达服务器的文件系统根目录,具体取决于服务器配置);
  3. 访问目标资源:最后拼接上TargetDirectoryPath,就直接访问到了目标目录的内容,完全绕开了Web服务原本允许的访问路径。

简单说,这条命令就是用编码变形的..多次跳级,突破Web服务的目录限制,去访问原本不可达的目录。

内容的提问来源于stack exchange,提问作者Rakkounen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:05:04