我正在pipe理一个Apache服务器(Centos 5.6 + cPanel),我发现一个代码列出了服务器中托pipe的所有用户帐户。
我想知道是否有什么我应该改变在Apacheconfiguration,以防止用户这样做。
这是.htaccess代码:
Options FollowSymLinks MultiViews Indexes ExecCGI AddType application/x-httpd-cgi .pl AddHandler cgi-script .pl AddHandler cgi-script .pl
和.pl代码:
open (d0mains, '/etc/named.conf') or $err=1; @kr = ; close d0mains; if ($err){ print (' C0uldn\'t Bypass it , Sorry '); die(); }else{ print ' H3r3 !s 411 D0m4!ns & Us3rs : ';} foreach my $one (@kr) { if($one =~ m/.*?zone "(.*?)" {/){ $filename= "/etc/valiases/".$1; $owner = getpwuid((stat($filename))[4]); print ''.$1.' : '.$owner.' '; } }
open (d0mains, '/etc/named.conf') or $err=1; @kr = ; close d0mains; if ($err){ print (' C0uldn\'t Bypass it , Sorry '); die(); }else{ print ' H3r3 !s 411 D0m4!ns & Us3rs : ';} foreach my $one (@kr) { if($one =~ m/.*?zone "(.*?)" {/){ $filename= "/etc/valiases/".$1; $owner = getpwuid((stat($filename))[4]); print ''.$1.' : '.$owner.' '; } }
open (d0mains, '/etc/named.conf') or $err=1; @kr = ; close d0mains; if ($err){ print (' C0uldn\'t Bypass it , Sorry '); die(); }else{ print ' H3r3 !s 411 D0m4!ns & Us3rs : ';} foreach my $one (@kr) { if($one =~ m/.*?zone "(.*?)" {/){ $filename= "/etc/valiases/".$1; $owner = getpwuid((stat($filename))[4]); print ''.$1.' : '.$owner.' '; } }
open (d0mains, '/etc/named.conf') or $err=1; @kr = ; close d0mains; if ($err){ print (' C0uldn\'t Bypass it , Sorry '); die(); }else{ print ' H3r3 !s 411 D0m4!ns & Us3rs : ';} foreach my $one (@kr) { if($one =~ m/.*?zone "(.*?)" {/){ $filename= "/etc/valiases/".$1; $owner = getpwuid((stat($filename))[4]); print ''.$1.' : '.$owner.' '; } }
open (d0mains, '/etc/named.conf') or $err=1; @kr = ; close d0mains; if ($err){ print (' C0uldn\'t Bypass it , Sorry '); die(); }else{ print ' H3r3 !s 411 D0m4!ns & Us3rs : ';} foreach my $one (@kr) { if($one =~ m/.*?zone "(.*?)" {/){ $filename= "/etc/valiases/".$1; $owner = getpwuid((stat($filename))[4]); print ''.$1.' : '.$owner.' '; } }
open (d0mains, '/etc/named.conf') or $err=1; @kr = ; close d0mains; if ($err){ print (' C0uldn\'t Bypass it , Sorry '); die(); }else{ print ' H3r3 !s 411 D0m4!ns & Us3rs : ';} foreach my $one (@kr) { if($one =~ m/.*?zone "(.*?)" {/){ $filename= "/etc/valiases/".$1; $owner = getpwuid((stat($filename))[4]); print ''.$1.' : '.$owner.' '; } }
那么,您可以修改您的Apacheconfiguration,以防止用户运行dynamic内容; 这将解决问题的代价基本上是大多数forms的托pipe你的服务器。 另一方面,你可以广泛地修改dynamic内容运行的方式(包括chroot)来防止这个问题,但这将是一个很大的工作(如果你不知道,你在做什么)。
老实说,我会拿起cPanel。 这是他们的信息泄漏漏洞,你付钱给他们照顾你。
实际上,用户并不想从文件根目录以外的地方读取任何东西,如果可以的话,那么你的服务器就有严重的安全漏洞。 如果脚本是使用apache调用的,则可以禁用FollowSymLinks并启用SymLinksIfOwnerMatch for /来防止发生这种情况。 您可以从WHM >>服务configuration>> Apacheconfiguration>>全局configuration(目录'/'选项下)。 同时要求您的主机加强您的服务器安全,以防止未来的攻击。
http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/GlobalConfig