作为系统管理员角色,我必须使用 PHP 构建安全网站。漏洞扫描器提供目录遍历攻击警告。我用谷歌搜索了很多网站,但没有找到合适的解决方案。我已经禁用了索引并将目录拒绝放在 / 上。
目录遍历是否可以通过 Aapache 配置或 PHP 来防止?
请对此进行指导。
帮助将不胜感激。
根据需要更详细的问题。
第 3 方已经发现漏洞并通过 GET 方法下载 /etc/passwd 文件。
这里更详细。
漏洞描述 该脚本可能容易受到目录遍历攻击。
目录遍历是一个漏洞,它允许攻击者访问
受限目录并在 Web 服务器的根目录之外执行命令。
此漏洞影响
发现者:脚本 (Directory_Traversal.script)。
攻击详情
URL 编码的 GET 输入文件设置为 ../../../../../../../../../../etc/passwd
找到的文件内容:
root:x :0:0:root:/root:/bin/bash
查看 HTTP 标头
请求
GET 已删除
offile=../../../../../../../../../../etc/passwd HTTP/1.1
引用者:已删除
Cookie:PHPSESSID=7lnb7v198ul8691398urchg833;
ccity=6cd5165e7bce89782ed37abe9401604a01cb6056s%3A3%3A%22AGR%22%3B;
语言=13d4e1ed1ec441aca81746dd05751ce248f3fff5s%3A2%3A%22ma%22%3B;
YII_CSRF_TOKEN=f5e14954e37e2975baa3eec9007f1d89ee8b0302s%3A40%3A%2234cb9e79ba1cafe5dbc69403f245dbcf708adb9b%22%3B
Host: removed
Connection: Keep-alive
Accept-Encoding: gzip,deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko ) Chrome/28.0.1500.63 Safari/537.36
接受:/
回复
HTTP/1.1 200 OK
日期:2016 年 3 月 10 日星期四 08:32:38 GMT
服务器:Apache
X-Powered-By:PHP/5.5.9-1ubuntu4.5
过期:1981 年 11 月 19 日星期四 08:52:00 GMT
缓存-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Transfer-Encoding: binary
Content-Length: 1348
Content-Disposition: inline; 文件名=../../../../../../../../../../etc/passwd
Keep-Alive: timeout=60, max=781
Connection: Keep-活动
内容类型:应用程序/pdf
文件内容
root:x:0:0:root:/root:/bin/bash 守护进程:x:1:1:守护进程:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin :/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60 :games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/ spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr /sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data: x:33:33:www-data:/var/www:/usr/sbin/nologin 备份:x:34:34:backup:/var/backups:/usr/sbin/nologin 列表:x:38:38:邮件列表管理器:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats 错误报告系统(管理员):/var/lib/gnats:/usr/sbin/nologin 没有人:x:65534:65534:nobody:/不存在:/usr/sbin/nologin libuuid:x:100:101::/var/lib/libuuid:syslog:x:101:104::/home/syslog:/bin/ false mysql:x:102:106:MySQL Server,,,:/nonexistent:/bin/false messagebus:x:103:107::/var/run/dbus:/bin/false Landscape:x:104:110: :/var/lib/landscape:/bin/false sshd:x:105:65534::/var/run/sshd:/usr/sbin/nologin ntp:x:106:114::/home/ntp:/bin /false tpl-nag:x:1001:1002::/home/tpl-
该漏洞的影响 通过利用目录遍历漏洞,攻击者可以跨出根目录,访问其他目录中的文件。因此,攻击者可能会查看受限文件或执行命令,从而彻底破坏 Web 服务器。
如何修复此漏洞 您的脚本应从用户输入中过滤元字符。