正在尝试找出用户'_www‘在我的OS X服务器上有什么权限。我需要知道它是否具有root访问权限,是否可以访问任何系统文件,或者是否可以简单地访问标准的顶级“网站”目录以进行写入。
发布于 2012-02-21 03:06:15
那么,您可以在/etc/group中查看_www所属的组:
$ grep _www /etc/group
_www:*:70:_devicemgr,_teamsserver在正确配置的服务器上,将web服务器作为专用用户运行的全部目的是限制该用户在其他地方的权限。但是,访问文件系统的web应用程序代码能够在服务器的DocumentRoot之外读取。
因此,从理论上讲,如果应用程序代码在读取文件系统时没有对此进行保护,那么任何不属于_www但拥有读取权限并在文件的父目录上执行的文件都可以被_www读取。同样,如果应用程序代码提供对文件系统上其他可写的文件的访问,则web服务器可以修改这些文件。
当应用程序使用用户输入来生成用于读取或写入的文件路径,但未能防止输入时,例如:../../../../../../../../../,当可能与NULL byte injection结合使用时,可能会在应用程序中生成文件名,例如
/www/application/phptemplates/../../../../../../../../../../etc/passwd当然,在现代系统中,/etc/passwd实际上并不存储密码,但它可能会向潜在攻击者泄露本地用户和其他有价值的信息。
https://stackoverflow.com/questions/9366737
复制相似问题