2009-06-26 48 views
0

我正在开发一个web应用程序,我想知道如果有人对我的文件系统有完全的只读访问权限,那么这个人(假设他知道所有必需的东西)是否拥有对系统的写权限?只读文件系统访问是否保证写访问?

例如,如果您有一个输出服务器上任何文件内容的PHP脚本,某人真的能以某种方式获得系统的写入访问权限吗?像......他可以重写PHP脚本吗?

我正在谈论网络服务器...所以这两个Windows & Linux相关的意见是值得欢迎的。此外,有没有情况下,黑客可以拥有对大多数文件的写入权限,但并非系统上的所有权限?

我只是好奇。总结一下:“一个PHP本地文件包含漏洞是否可以让黑客获得文件的写权限?”

+0

让我改说一下。如果我有一个PHP应用程序正在运行,并且有人可以通过不安全的PHP脚本读取我的PHP文件并具有只读数据库访问权限,他是否可以破解我的整个服务器? – Tower 2009-06-26 19:18:05

回答

1

恶意用户可能会下载您的密码文件并破解,或者读取MySQL用户表并获取MySQL root用户的密码。然后使用该用户使用特权升级漏洞或类似的东西获得更多访问权限。

使用MSSQL的注册表(或SAM)和MySQL的替代密码文件,并在Windows上使用相同的参数。不,这不会很容易,但是,他们会成功的。

不要给任何人完整(读取)访问您的系统,永远!

让我重新整理。如果我有一个PHP应用程序正在运行,并且有人可以通过不安全的PHP脚本读取我的PHP文件并具有只读数据库访问权限,他是否可以破解我的整个服务器?

也许吧。在这种情况下,某人能够攻击你的服务器的可能性不是零,因此你不能允许存在这样的安全漏洞。他们可能无法重写您的PHP脚本,但只读数据库用户可以完美地使用数据库服务器中的漏洞。

0

任何对指定目录具有写入权限的帐户都有可能被利用。

安全是相对的。攻击者不遵守规则,他们不一定会选择你坚决反击的攻击媒介。如果你担心,那么只有一部分用户可以写入目录。不要在此组中包含服务/守护程序帐户。使用有限帐户进行日常使用。遵循良好的密码策略(长度,复杂度,更改频率等)。通过关闭未使用的端口等来限制攻击面。

甚至可以加密文件系统。这引入了复杂性和there's a chance you'll get it wrong。如果您真的想要,那么您可以采取悲观的安全态度,并且拒绝所有人访问所有人,除非他们需要完成您分配给他们的工作。

最后,即使你是唯一一个对资源的“技术”的访问,你仍然可以欺骗或敲诈或以其他方式强迫授予访问权限。你能做的最好的事情就是让攻击变得困难 - 并非不可能。

+0

谢谢,但这更多的是服务器安全性..我其实对应用程序级别的安全性感兴趣(看起来我不好提问......)。如果我编写使用MySQL的通用PHP脚本。现在,如果我的PHP脚本通过一个?readFile = xxx漏洞可以读取文件系统上的文件 - 例如,一个黑客可以重写这个PHP文件吗?通过读取一些/ etc/passwd shadow文件? – Tower 2009-06-26 19:20:44