chmod 777 到底有什么危险

2016-04-14 17:00:09 +08:00
 crepesofwrath
chmod -R 777 /var/www/html 到底有什么危险
http://askubuntu.com/questions/20105/why-shouldnt-var-www-have-chmod-777
如果 PHP 崩溃用户看到了包含密码的脚本又能怎样,我的 SSH 需要 key, 数据库禁止了远程登录,就算用户可以上传图片也会被验证,不存在执行上传恶意脚本的可能 toehold, escalate, how???
20485 次点击
所在节点    Linux
119 条回复
cjsoft
2016-04-14 20:43:21 +08:00
@SCaffrey [滑稽]
shiny
2016-04-14 20:44:02 +08:00
前几天在安全渗透测试的时候还用 mysql load_file 去读 php 源文件然后找到源码中的漏洞进后台。
正常情况下 mysql 用户不应该能读取 Web 文件。

再举个例子,前段时间 redis 因为以 root 启动+端口开放到公网,结果能够往 authorized_keys 写数据。
假设 redis 不是 root 启动,但你 Web 目录 777 ,还是有权限往上面写个 WebShell (假设没开 SELinux 或 AppArmor )
msg7086
2016-04-14 20:55:45 +08:00
如果你的程序用到了 PHP ,那么你能审计完 PHP 所有的代码并保证无错吗?

并不能吧。

同理还有 Web Server ,还有 Linux 内核,还有无数的其他东西。
crepesofwrath
2016-04-14 20:56:20 +08:00
@shiny 前提是 mysql 被登录了对吗? root 启动+端口开放到公网,正符合我最近学习 redis 时阿里云控制台发出的安全警告
crepesofwrath
2016-04-14 21:05:57 +08:00
@msg7086 对于一个最小型博客程序来说,保证无错难度不是很大,仍然会耗费时间,我只能站在高层语言的简单应用层次上这样说,对于复杂的程序,或者服务器,内核,不在我的能力范围
SlipStupig
2016-04-14 21:07:22 +08:00
这样坏处是会导致一些本来不该有执行权限的目录如果混入了脚本,就可以执行命令(上传目录)
msg7086
2016-04-14 21:07:46 +08:00
@crepesofwrath 这就是为什么要符合最小权限原则。
你能力范围以外的系统会毁掉你的无错宣言。
(比如 OpenSSL 的漏洞,嗯
Andy1999
2016-04-14 21:11:04 +08:00
@msg7086 我用 HTML 求黑
crepesofwrath
2016-04-14 21:11:39 +08:00
@SlipStupig 如果混入了脚本 说明它的确是一个 risk
crepesofwrath
2016-04-14 21:14:51 +08:00
@msg7086 哈哈 其实我现在的沮丧程度远远超过了自嘲的欲望,哈哈哈 yanlei"
lhbc
2016-04-14 21:15:42 +08:00
如果你有个脚本 /程序会用 root 跑,那 777 就相当于任何用户都可以提权到 root
raincious
2016-04-14 21:17:19 +08:00
@crepesofwrath

所以其实还是不能。

777 的权限太高了,不应该给。“给用户尽量最小的权限”应该是系统管理员的准则之一。
julyclyde
2016-04-14 21:18:07 +08:00
setuid 会掉,导致你无法正常 su 、 sudo 和 passwd
crepesofwrath
2016-04-14 21:21:21 +08:00
@lhbc 任何用户指的是我的一个浏览器用户成为了我的服务器用户,因为我特指 /var/www
shiny
2016-04-14 21:21:26 +08:00
@crepesofwrath 只是一个 SQL 注入点而已。
msg7086
2016-04-14 21:22:43 +08:00
@lhbc 777 并不能提权。
kfll
2016-04-14 21:39:48 +08:00
…其实就相当于 boss 在 76 层,本来第 10 层到第 75 层都有小 boss 结果你觉得前面 9 九层就够了就把 10-75 的都撤了…
crepesofwrath
2016-04-14 21:51:20 +08:00
@kfll 直觉上前面 9 层最重要,实际上每一层有问题都不行,你的例子 不好
lhbc
2016-04-14 21:52:08 +08:00
@msg7086 如果某个 cron 或者脚本, root 会定时或者偶尔运行,设为 777 就表示其他用户能修改这个文件用于提权,比如直接加一个 id=0 的用户
asddsa
2016-04-14 21:57:33 +08:00
设置好 777 ,然后把你的网站发出来。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/271064

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX