《Web安全测试学习手册》- 分布式部署文件可读
0x00 分布式部署文件可读
1)什么是分布式部署文件可读
Apache中的.htaccess
或者”分布式配置”了针对目录改变配置的方法,即,在特定的文档目录中放置包含或多个指令的,以作用于此目录及其子目录。
这个文件默认情况下客户端是不可读的,假设客户端能够读取此文件,攻击者利用这一特性可以获取分布式配置的指令,泄漏服务器端敏感信息。
2)分布式部署文件可读的特点
- .ht开头文件可读
0x01 分布式部署文件可读 - 风险等级
高
0x02 分布式部署文件可读 - 原理
客户端请求类似于如下URL:
- http://payloads.online/.htaccess
Web中间件将读取.htaccess
文件内容响应给客户端,客户端能够获取分布式配置指令。
0x03 分布式部署文件可读 - 常见场景
- Apache Web 服务器
0x04 测试方案
使用CURL访问分布式配置文件
命令:curl -I http://payloads.online/.htaccess
➜ ~ curl -I http://10.211.55.12/.htaccess
HTTP/1.1 200 OK
Date: Sat, 28 Apr 2018 02:31:02 GMT
Last-Modified: Sat, 28 Apr 2018 02:30:16 GMT
ETag: "17-56adf66b3a848"
Accept-Ranges: bytes
Content-Length: 23
若响应状态码为200
则存在此风险
0x05 修复方案
在Apache的配置文件httpd.conf中添加:
<Files ".ht*">
Require all denied
</Files>
修复后:
➜ ~ curl -I http://10.211.55.12/.htaccess
HTTP/1.1 403 Forbidden
Date: Sat, 28 Apr 2018 02:35:22 GMT
Content-Type: text/html; charset=iso-8859-1