标签: directory-traversal

Bash:对于每个目录

我正在处理需要在特定文件夹的每个子目录中执行操作的脚本.

写这个最有效的方法是什么?

bash command directory-traversal

181
推荐指数
9
解决办法
17万
查看次数

在PHP中阻止目录遍历但允许路径

我有一个基本路径/无论/ foo /

并且 $_GET['path']应该是相对的.

但是,如何在不允许目录遍历的情况下完成此操作(读取目录)?

例如.

/\.\.|\.\./
Run Code Online (Sandbox Code Playgroud)

不会过滤得当.

php security directory-traversal

33
推荐指数
3
解决办法
2万
查看次数

Python os.walk +关注符号链接

如何让这篇文章在python 2.6中遵循符号链接?

def load_recursive(self, path):
    for subdir, dirs, files in os.walk(path):
        for file in files:
            if file.endswith('.xml'):
                file_path = os.path.join(subdir, file)
                try:
                    do_stuff(file_path) 
                except:
                    continue
Run Code Online (Sandbox Code Playgroud)

python symlink traversal directory-traversal symlink-traversal

32
推荐指数
1
解决办法
2万
查看次数

使用Qt复制目录

我想将目录从一个驱动器复制到另一个驱动器.我选择的目录包含许多子目录和文件.

如何使用Qt实现相同的功能?

qt qt4 directory-traversal

20
推荐指数
4
解决办法
3万
查看次数

我的代码是否会阻止目录遍历?

来自Python WSGI应用程序的以下代码片段是否可以从目录遍历中安全?它读取作为参数传递的文件名并返回指定的文件.

file_name = request.path_params["file"]
file = open(file_name, "rb")
mime_type = mimetypes.guess_type(file_name)[0]
start_response(status.OK, [('Content-Type', mime_type)])
return file
Run Code Online (Sandbox Code Playgroud)

我安装的应用程序下http://localhost:8000/file/{file}并送与URL的请求http://localhost:8000/file/../alarm.gifhttp://localhost:8000/file/%2e%2e%2falarm.gif.但我没有尝试发送(现有)文件.那么我的代码在目录遍历中是否已经安全?

新的方法

似乎以下代码阻止目录遍历:

file_name = request.path_params["file"]
absolute_path = os.path.join(self.base_directory, file_name)
normalized_path = os.path.normpath(absolute_path)

# security check to prevent directory traversal
if not normalized_path.startswith(self.base_directory):
    raise IOError()

file = open(normalized_path, "rb")
mime_type = mimetypes.guess_type(normalized_path)[0]
start_response(status.OK, [('Content-Type', mime_type)])
return file
Run Code Online (Sandbox Code Playgroud)

python security wsgi directory-traversal

17
推荐指数
2
解决办法
6722
查看次数

Haskell中有一些目录漫游器吗?

在Haskell中是否有一些递归目录walker所以我可以编写类似的东西

listing <- walkDir "/tmp"
Run Code Online (Sandbox Code Playgroud)

我不想写我自己的.我可以从cabal安装一些依赖,但我希望它是跨平台的(至少Linux和Windows).

io haskell directory-traversal

17
推荐指数
3
解决办法
2816
查看次数

验证Web服务器中的路径遍历漏洞

我想验证我的Web应用程序没有路径遍历漏洞.

我正试图用curl它,像这样:

$ curl -v http://www.example.com/directory/../
Run Code Online (Sandbox Code Playgroud)

我希望将HTTP请求显式地发送到/directory/../URL,以测试涉及代理的特定nginx规则不容易受到路径遍历的影响.即,我希望发送此HTTP请求:

> GET /directory/../ HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

但是curl正在重写/URL 的请求,如输出中所示:

* Rebuilt URL to: http://www.example.com/
(...)
> GET / HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

是否可以使用curl此测试,强制它传递请求中的确切URL?如果没有,那么什么是合适的方式?

security curl directory-traversal

14
推荐指数
2
解决办法
4545
查看次数

Python程序遍历目录和读取文件信息

我刚刚开始使用Python,但已经发现它比Bash shell脚本更有效率.

我正在尝试编写一个Python脚本,它将遍历从我启动脚本的目录中分支的每个目录,并且对于它遇到的每个文件,加载此类的实例:

class FileInfo:

    def __init__(self, filename, filepath):
        self.filename = filename
        self.filepath = filepath
Run Code Online (Sandbox Code Playgroud)

filepath属性是root(/)的完整绝对路径.这是我想要主要程序要执行的伪代码模型:

from (current directory):

    for each file in this directory, 
    create an instance of FileInfo and load the file name and path

    switch to a nested directory, or if there is none, back out of this directory
Run Code Online (Sandbox Code Playgroud)

我一直在阅读关于os.walk()和ok.path.walk()的内容,但是我想了解一下在Python中实现这一点的最简单方法是什么.提前致谢.

python directory-traversal fileinfo

13
推荐指数
2
解决办法
2万
查看次数

PHP:规范化不存在的目录路径以防止目录遍历?

我想规范化来自外部资源的路径以防止目录遍历攻击.我知道realpath()函数,但遗憾的是这个函数只返回现有目录的路径.因此,如果目录不存在(还),则realpath()函数会切断不存在的路径的整个部分.

所以我的问题是:你知道一个只能规范路径的PHP函数吗?

PS:我也不想提前创建所有可能的目录;-)

php path normalize directory-traversal

11
推荐指数
1
解决办法
5164
查看次数

遍历目录树的所有方法是什么?

如何用您喜欢的语言遍历目录树?

在不同的操作系统中遍历目录树需要了解什么?在不同的文件系统上?

您最喜欢的库/模块是什么帮助遍历目录树?

language-agnostic filesystems directory-traversal

10
推荐指数
3
解决办法
4808
查看次数