[题目信息]:
题目名称 | 题目难度 |
---|---|
文件上传-分布式配置文件 | 1 |
[题目考点]:
.htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置
[Flag格式]:
SangFor{cUPz0UUR-TPKvzpgLzzOGr6X2NSJeh-F}
[环境部署]:
docker-compose.yml文件或者docker tar原始文件。
docker-compose up -d
端口:11006
[题目writeup]:
此题考查文件上传中的后端校验,定义一个黑名单,若后缀是其中的一个,则不能上传,但是黑名单存在过滤不全的情况,这里没有过滤“.htaccess”。
.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置,通过.htaccess文件可以实现网页301重定向、自定义404页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
首先上传一个.htaccess文件,文件内容为“SetHandler application/x-httpd-php”。意思是将所有文件当成PHP文件解析。
接下来再上传任意文件后缀,如jpg文件。在文件中写入php代码即可执行
根据上传返回路径,访问目标文件