PHPSlash任意帐号权限提升漏洞
2008-04-09 04:15:53来源:互联网 阅读 ()
发布日期:2005-07-08
更新日期:2005-07-08
受影响系统:
PHPSlash PHPSlash 0.8不受影响系统:
PHPSlash PHPSlash 0.7.2
PHPSlash PHPSlash 0.7.1
PHPSlash PHPSlash 0.6.1
PHPSlash PHPSlash 0.5.32
PHPSlash PHPSlash 0.8.1描述:
BUGTRAQ ID: 14189
phpSlash是用PHP编写的CMS,可以方便的发表基于社区的网站。
phpSlash的Author.class::saveProfile中存在输入验证错误,允许攻击者通过劫持用户帐号获得root用户权限。
<?
/* Code extracted from Author.class */
function saveProfile($ary) {
global $HTTP_COOKIE_VARS;
// ( ... snip ... )
/********************************************************************
* This sql query is using data from an untrusted source ( $ary ) *
********************************************************************/
$this->db->query("SELECT author_id
FROM psl_author
WHERE author_id = '".$ary['author_id']."'");
/********************************************************************
* This condition is not relevant in that context, it is the current *
* author_id (from $this->auth) that should eventually be compared *
********************************************************************/
if ($this->db->next_record()) {
if ($ary['password'] == "") {
$q = "UPDATE psl_author
SET author_name = '$ary[author_name]',
author_realname = '$ary[author_realname]',
url = '$ary[url]',
email = '$ary[email]',
quote = '$ary[quote]',
author_options = '$serial_opts'
WHERE author_id = '$ary[author_id]'";
// use $this->auth->auth['uid'] instead of untrusted $ary
} else {
$q = "UPDATE psl_author
SET author_name = '$ary[author_name]',
author_realname = '$ary[author_realname]',
url = '$ary[url]',
email = '$ary[email]',
quote = '$ary[quote]',
password = MD5('$ary[author_name]:$ary[password]'),
author_options = '$serial_opts'
WHERE author_id = '$ary[author_id]'";
/************************************************************/
// use $this->auth->auth['uid'] and $this->auth->auth['uname']
// instead of untrusted $ary
/************************************************************/
}
}
// ( ... snip ... )
}
?>
成功利用这个漏洞的攻击者可以控制任意帐号。
<*来源:tobozo (tobozo@phpsecure.info)
crashfr (crashfr@sysdream.com)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=112076117708139&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
- 注册帐号
- 登录
- 确认可以更新profile
- 将profile.php中的HTML源码拷贝至硬盘并编辑
- 设置<form>中的目标值匹配站点的url
- 更改输入字段author-name的值匹配目标用户的author_name
- 更改输入字段author_id的值匹配目标用户的author_id
- 在浏览器中打开html文件
- 输入期望的口令(两次)
- 提交表单
- 注销
- 以目标用户的author_name和之前选定的口令登录
建议:
厂商补丁:
PHPSlash
--------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载0.8.1版本:
http://prdownloads.sourceforge.net/phpslash/phpslash-0.8.1.tar.gz?download
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash