Pek*_*ica 45 php linux apache security chmod
我们都被教导过,将基于Linux的Web主机上的目录或文件保留为权限级别777是一件坏事,并且根据需要设置总是很少的权限.
我现在好奇的地方正是在于剥削的危险,特别是在一个PHP/Apache的环境.
毕竟,一个PHP脚本文件可以从外部执行(即通过调用Web服务器,然后再到解释器),无论它是否被标记为"可执行",不是吗?这同样适用于通过命令行php解释器调用的文件,对吧?
那么漏洞到底在哪里777?事实是同一台机器上的其他用户可以访问世界上可写的文件吗?
Mik*_*rov 28
这是一个场景:
system()调用shell脚本的php文件.如果这个目录是777,这意味着任何人(包括用户apache,这是php脚本将执行的)都可以执行它!如果没有在该目录上设置执行位,并且可能是目录中的文件,则上面的步骤3将不执行任何操作.
从评论中编辑:重要的不是PHP文件的权限,它是system()PHP文件中的调用,将由linux用户apache执行linux系统调用(或者你将apache设置为运行的任何内容),这是精确地执行位很重要.
它极大地增加了您的网站对恶意活动的漏洞配置文件,因为只需闯入一个帐户即可。
任何通过任何登录名访问您系统的人都可以对您的页面做任何他们想做的事情,包括将它们更改为“这个网站真的不安全,所以请给我您的信用卡信息。”
编辑:(澄清和解决评论)
许多服务器在生活中的用途不止一个。他们运行多种服务。如果您通过为每个服务分配唯一用户并相应地管理文件权限来小心地将这些服务彼此隔离,是的,如果有人破坏了帐户的凭据,您仍然处于困境中,但他们可以造成的损害仅限于该服务. 如果您只有一个通用帐户并将整个文件系统设置为 777,那么一个被盗用的帐户就会危及机器上的所有内容。
如果您的服务器仅用于运行 Apache/PHP 而没有其他用途,并且只有一个帐户在运行 Apache/PHP,那么该帐户被盗与整个机器被盗一样从您的应用程序的角度来看(尽管您仍然应该有系统文件受到保护并且不能被用于运行 PHP 的帐户写入......这仍然应该只适用于管理员帐户/root)。
如果他们可以编写一个文件并且它是可执行的,他们可以将它更改为在您的机器上执行的内容(可执行文件或脚本),然后使用 PHP 的 shell_exec 来运行该可执行文件。如果您配置为不允许 shell_exec,他们也可以更改您的配置
| 归档时间: |
|
| 查看次数: |
16319 次 |
| 最近记录: |