如何防止Apache2 Ubuntu 14中的目录遍历攻击?

问题描述 投票:-3回答:1

作为系统管理员角色,我必须使用PHP构建安全的网站。漏洞扫描程序提供目录遍历攻击警告。我谷歌很多网站,但没有找到适当的解决方案。我已经禁用索引,并在/上放置目录拒绝。

是否可以通过Aapache配置或PHP来阻止目录遍历?

请指导一下。

帮助将非常感激。

根据需要提出问题的更多细节。

第三方已经发现漏洞并通过GET方法下载/ etc / passwd文件。

这里更详细。

漏洞描述此脚本可能容易受到目录遍历攻击。

Directory Traversal是一个允许攻击者访问的漏洞 限制目录并在Web服务器的根目录之外执行命令。 此漏洞会影响 发现者:脚本(Directory_Traversal.script)。 攻击细节 URL编码的GET输入ofile设置为../../../../../../../../../../etc/passwd 找到的文件内容: 根:X:0:0:根:/根:/斌/庆典

查看HTTP标头

请求 GET已删除 ofile = .. / .. / .. / .. / .. / .. / .. / .. / .. / .. / etc / passwd HTTP / 1.1 推荐人:删除 Cookie:PHPSESSID = 7lnb7v198ul8691398urchg833; ccity = 6cd5165e7bce89782ed37abe9401604a01cb6056s%3A3%3A%22AGR%22%3B; 郎= 13d4e1ed1ec441aca81746dd05751ce248f3fff5s%3A2%3A%22毫安%22%3B; YII_CSRF_TOKEN = f5e14954e37e2975baa3eec9007f1d89ee8b0302s%3A40%3A%2234cb9e79ba1cafe5dbc69403f245dbcf708adb9b%22%3B 主持人:删除 连接:保持活力 Accept-Encoding:gzip,deflate User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,类似Gecko)Chrome / 28.0.1500.63 Safari / 537.36 接受:/

响应

HTTP / 1.1 200好的 日期:星期四,2016年3月10日08:32:38 GMT 服务器:Apache X-Powered-By:PHP / 5.5.9-1ubuntu4.5 到期日:1981年11月19日星期四08:52:00 GMT 缓存控制:无存储,无缓存,必须重新验证,后检查= 0,预检查= 0 Pragma:没有缓存 内容传输编码:二进制 内容长度:1348 内容处理:内联;文件名= .. / .. / .. / .. / .. / .. / .. / .. / .. / .. / etc / passwd中 保持活跃:超时= 60,最大= 781 连接:保持活力 内容类型:application / 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 :游戏:/ 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 backup:x:34:34:backup:/ var / backups:/ usr / sbin / nologin list:x:38:38:邮件列表管理器:/ var / list:/ usr / sbin / nologin irc:x:39:39:ircd:/ var / run / ircd:/ usr / sbin / nologin gnats:x:41:41:Gnats Bug-Reporting系统(管理员):/ var / lib / gnats:/ usr / sbin / nologin nobody:x:65534:65534:nobody:/ nonexistent:/ usr / sbin / nologin libuuid:x:100:101 :: / var / lib / libuuid:syslog:x:101:104 :: / home / syslog:/ bin / false mysql:x:102:106:MySQL服务器,,,:/不存在:/ 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服务器完全受损。

如何修复此漏洞您的脚本应该从用户输入中过滤元字符。

php apache ubuntu-14.04 directory-traversal
1个回答
0
投票

1)了解漏洞(https://en.wikipedia.org/wiki/Directory_traversal_attack)。我相信你已经做到了。

2)重现漏洞。根据1)以及您对组织所做工作的了解,或者询问发现它的第三方,自行查找。如果他们不能提供至少一个漏洞的具体示例(例如:一个URI)请求退款:)不止一个例子会有所帮助。

3)您现在应该有足够的信息来修复您的服务器。它可能在Apache和/或PHP和/或其他地方,但没有办法告诉问题中提供的信息。如果您仍然无法在该阶段修复它,请随时在此处提出另一个问题。

4)测试服务器更改后,您在2)中发现的任何内容都不再发生。

编辑(提供更多信息)

第三方实际上非常友好地回答了您的问题:“如何修复此漏洞您的脚本应该从用户输入中过滤元字符。”请他们在这里发布他们的答案,你可以接受:)

© www.soinside.com 2019 - 2024. All rights reserved.