问题标签 [directory-traversal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
36 浏览

python - 遍历目录以查找特定文件和文件夹集的脚本

我正在尝试创建一个脚本,它将遍历所有文件夹和子文件夹以rootDir查找特定的文件夹和文件集。如果脚本将找到包含以下内容的文件夹(例如testfolder1):

  • textfile.txt
  • image.jpg
  • (可选)subtitles.dxfp
  • 另一个包含文件的文件夹(例如testsubfolder1video.mp4
  • (可选)另一个文件夹(例如testsubfolder2)包含video_trailer.mp4文件

它将创建包含textfile.txt, image.jpg, subtitles.dxfp(如果找到)video.mp4video_trailer.mp4(如果找到)的存档并将其保存在 rootDir 中。

目前我有递归遍历所有这些文件的片段,但它不包括那些video.mp4并且video_trailer.mp4在文件夹中。我应该如何修改我的代码以达到想要的效果?我猜它应该看开头 iftextfile.txt和被找到,如果是这样image.jpgsubtitles.dxfp它会查看是否存在包含video.mp4文件的文件夹,但不是递归的,最后它会搜索另一个包含video_trailer.mp4文件的文件夹。我对吗?我不知道我应该如何正确地用代码编写它。提前感谢您提供的任何提示,使我更接近解决方案。

0 投票
1 回答
1441 浏览

python-3.8 - 遍历 URL 中的目录到 Python 中的根目录

在 Python 中如何遍历目录以获取 root 权限?我使用 编写了一些代码BeautifulSoup,但它显示“找不到模块”。所以我有这个:

这输出:

然而。如果我将 URL 更改为“ http://127.0.0.1:8082/humantechconfig?file=../../../human.conf ”,它会给我输出:

它所在的目录遍历级别波动很大,从/tmp/level-2/tmp/level-15; 如果是我写的那个,那么它说我是'Root Human'。但它不会给我旗帜,尽管我突然成为“根人类”。我遍历目录的方式有问题吗?

req = urllib.request.urlopen("http://127.0.0.1:8082/humantechconfig?file=human.conf")如果我拿走这条线似乎一点也不重要。我如何才能将代码实际发送到该 URL?谢谢!

0 投票
2 回答
33 浏览

linux - 从所有子目录中删除除最新文件之外的所有文件

我发现以下内容将列出所有子目录中的文件,隐藏最后 5 个,然后删除其余的:

不幸的是,如果我不知道有多少子目录,它不会删除正确数量的文件。有没有人有办法遍历每个目录,然后删除每个子目录中除最新文件之外的所有文件?

目录结构如下:

-> 基本目录 -> 父目录 -> 子目录

0 投票
0 回答
198 浏览

python - 如何递归遍历给定的HDFS目录并在pyspark中获取带有路径的文件名

我在 hdfs 中的目录结构如下所示:

- - 目录

我想递归遍历 HDFS 目录以检索所有文件名及其路径。

0 投票
2 回答
535 浏览

bash - 防止 bash 脚本中的目录遍历漏洞

如何防止 bash 脚本中的目录遍历攻击,其中参数包含目录名称?

例子:

$STAGE$APP变量是从外部设置的。攻击者可以将其更改为任意路径".."

我知道通常的解决方案是将目录字符串与返回绝对路径的函数的结果进行比较。但我找不到现成的解决方案,也不想提出自己的解决方案。

0 投票
0 回答
42 浏览

python - 为什么 abspath 从同一目录返回不一致的文件路径?

我正在使用 os.walk() 遍历文件夹并获取某些文档的完全限定路径以进行处理。

我读了这篇文章,你可以看到我已经尝试了不止一种方法来获得正确的路径,但由于某种原因我还没有发现,结果路径似乎会根据最后一行是否被注释或不是。

如果我运行代码并将 mxd 分配注释掉,如上所示,所有打印的文件路径看起来都是正确的:

但是,如果我取消注释,这就是我看到的:

然后分配失败,因为第二个文件的路径不正确。为什么第二条路径重复相对路径?如果我取消注释赋值语句,为什么打印的字符串会改变?为什么第一个文件路径不受影响?

0 投票
0 回答
149 浏览

php - 在 php 获取页面脚本中防止目录遍历

在我的网站被 LFI、RFI 和 DTA 攻击后,我正在尝试实现一个安全的 php 获取页面功能(我得到了整个包 LOL)。

浏览网页我发现这个脚本似乎可以很好地防止包含我以前未验证的文件

关于目录遍历,我在 Stackoverflow 上找到了这个 OLD 讨论

如何在php中包含页面

帕特里克摩尔建议清理这些脚本以防止目录遍历

但是,我怀疑我可以使用 Patrick Moore 建议的脚本,因为我必须包含的几个页面都包含在子文件夹中(参见上面的示例脚本),所以我认为我不能清理“/”,而不是如果我只使用 str_replace'..''\'.

鉴于我的网站的文件夹结构,任何关于如何清理传递值的建议都将受到欢迎。

0 投票
2 回答
767 浏览

.net - 如何对 IIS 中托管的此服务执行路径遍历攻击?

背景

我正在尝试对 IIS 中托管的易受攻击的服务执行路径遍历攻击。

服务是这样的:

底层代码是这样的:

如前所述,这项服务显然是易受攻击的。

红隼攻击

我可以在本地运行时执行路径遍历攻击dotnet run,我收集到使用 Kestrel Web 服务器。我的攻击载荷是..\..\secret.txt,它在日志中被编码并且可见:

IIS 攻击

当托管在 IIS 中时,我无法在同一个应用程序上重现这种攻击。似乎 IIS 通过解释 URI 以某种方式规范化了 URI ..\,这意味着它永远不会访问我的 API。换句话说,它试图达到以下端点:

我已经为字符序列尝试了各种不同的编码..\,但没有运气。

问题

如何解决此 IIS 行为以对托管在 IIS 中的这个易受攻击的应用程序执行路径遍历攻击?

0 投票
3 回答
284 浏览

apache2 - 允许使用 Apache2 遍历目录

我正在尝试为一个项目创建一个 CTF。我的目标之一是设置一个允许目录遍历的 Apache Web 服务器,以便尝试我的 CTF 的人可以遍历我的根目录并访问包含加密文件的文件夹。我希望他们能够下载这个文件,这样他们就可以在他们的机器上解密它。但是,我什至不知道从哪里开始允许目录遍历。我以前从未真正使用过 Apache Web 服务器,我在网上找到的所有内容都是关于防止目录遍历。

我在 Ubuntu 12.04 VM 上使用 Apache2。

0 投票
0 回答
50 浏览

winforms - 如何在 Windows 窗体应用程序中修复 CWE 73 Veracode

在我们的 Windows 应用程序中,我们具有将文件下载到 dekstop 中的本地文件夹的功能。为了实现这一点,我们遵循以下代码。

但是,当我们上传用于以 veracode 进行扫描的包时,会出现中等漏洞,该漏洞 ID 为 CWE 73(文件名或路径的外部控制)。

我们尝试通过检查路径是否合格以及根是否存在来向该方法添加验证。但是还是报目录遍历漏洞?

我想知道是否应该添加任何其他自定义验证逻辑来​​处理该缺陷。请问你能建议吗?