首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写将"/folder1/folder2/“更改为"/”的.htaccess

如何编写将"/folder1/folder2/“更改为"/”的.htaccess
EN

Stack Overflow用户
提问于 2021-02-17 23:46:58
回答 1查看 48关注 0票数 1

我正在尝试进行一个涉及本地文件包含的ctf挑战。

考虑到这一点,我用/etc//var//home等重新创建了一个类似linux的文件夹系统。因为我使用的是免费的虚拟主机服务。

为了不让用户觉得可疑,我只想以图形方式更改网址,使其看起来像是用户在根目录中,而他实际上在另一个子目录中(而且用户需要能够包含../../etc/passwd)。到目前为止,我得到的是:

代码语言:javascript
复制
RewriteEngine On
RewriteBase /folder1/folder2/

此文件位于/folder1/folder2/中,但它不执行任何操作...

有人能帮我吗?

附言:对不起,我的英语。

EN

回答 1

Stack Overflow用户

发布于 2021-02-18 04:03:32

RewriteBase /folder1/folder2/

RewriteBase本身不做任何事情。RewriteBase指令覆盖要在RewriteRule指令的相对路径替换中使用的基本URL路径。例如,给定以下内容:

代码语言:javascript
复制
RewriteBase /folder1/folder2/
RewriteRule ^foo$ bar [L]

如上所述,如果您请求/foo,则请求将在内部重写为/folder1/folder1/bar,因为替换字符串bar是相对的。这与陈述以下内容相同:

代码语言:javascript
复制
RewriteRule ^foo$ /folder1/folder2/bar [L]

这就是RewriteBase指令所做的全部工作。您在这里并不严格需要它,但如果您愿意,您可以使用它。

文件夹,这个文件位于“/

1/folder2/”,但是它不做任何事情...

您需要针对文档根目录的请求,所以不能将这个.htaccess文件放在/folder1/folder2/目录中-它什么也做不了。位于/folder1/folder2/.htaccess.htaccess文件将仅针对/folder1/folder2/及其所有子目录的请求。

听起来,您想在内部重写从文档根目录到/folder1/folder2/目录的所有请求-有效地对用户隐藏/folder1/folder2/

为此,您需要在文档根目录下的/.htaccess文件中使用类似以下内容:

代码语言:javascript
复制
RewriteEngine On

RewriteRule !^folder1/folder2 /folder1/folder2%{REQUEST_URI} [L]

上述代码会将任何尚未用于/folder1/folder2的请求重写到该子目录中。

用户还需要能够包含../../etc/passwd

我不确定你打算如何“包含”它,但是如果你指的是客户端的URL路径,那么你就不应该使用像这样的相对URL路径。使用根目录相对URL路径,例如。/etc/passwd (来自文档根目录)。

如何编写将/folder1/folder2/更改为/.htaccess

请注意,此.htaccess文件的作用完全相反。它将请求/ (文档根目录)的URL更改为/folder1/folder2/ -这似乎是您问题中的要求。您需要在内部链接中将/folder1/folder2/更改为/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66245338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档