CVE中文申请站

CVE-2019-11376:soycms v3.0.2任意php代码执行

一、漏洞摘要

漏洞名称: soycms v3.0.2任意php代码执行
上报日期: 2019-04-08
漏洞发现者: Yu Yang
产品首页: https://saitodev.co/soycms/
软件链接: https://github.com/inunosinsi/soycms
版本: v3.0.2
CVE编号: CVE-2019-11376


二、漏洞概述

soycms v3.0.2后台网页编辑功能过滤不严格,导致在后台更改的代码中可以带入php代码造成代码执行。

三、利用方法

1.首先我们成功安装该cms,并进入后台,可以对网页进行编辑,此处编辑index,php
1.png
我们能插入任意的PHP代码进入网页,并保存到http://xxx.xxx.xxx/'New directory'/index.php,如上图所示,我们插入的代码为:<?php phpinfo();?>
2.png
插入之后,代码都可以成功执行,所以我们可以插入恶意代码并getshell
3.png
poc:<?php @eval($_POST[c]);?>

四、参考信息

CVE中文申请网:http://www.iwantacve.cn/index.php/archives/212/
CVE官方:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11376
exploit-db:发布中

CVE-2019-9651:sdcms V1.7 远程代码执行

一、漏洞摘要

漏洞名称: sdcms V1.7 远程代码执行
上报日期: 2019-03-04
漏洞发现者: Yang.X
产品首页: https://www.sdcms.cn/
软件链接: https://www.sdcms.cn/down-109.html
版本: 1.7
CVE编号: CVE-2019-9651


二、漏洞概述

sdcms的代码中,对模板的编辑过滤不严,导致在后台更改的代码中可以绕过自身的过滤,添加php代码造成代码执行。

0x01审计发现:
后台可以对php文件进行编辑,故对其代码审计:
s1.png

0x01:定位到文件:
/app/admin/controller/themecontroller.php
一下代码就是,后台编辑模板文件的处理代码。
s2.png
s3.png
s4.png
这里主要看第一个if里面的。
可以看到
s5.png
这里对文件读取进行了处理,并且判断文件是否存在。
s6.png
继续往下走,可以看到 t1、t2参数,这些都是对传进来的参数进行处理。t2就是编辑的文件内容。可以看到这里有一个check_bad($text),函数对编辑的文件进行过滤处理。
s7.png
主要过滤了一些参数传递、还有读写文件以及危险函数。
s8.png
校验通过后,最后在判断文件是否是php,是的话,添加一段php代码在编辑的文件里面,这样就不能执行了,最后覆盖保存文件。
0x02:代码执行漏洞
s9.png
抓包可以看到,root为文件名称 解码就是default/top.php,t0同理也是,t2就是编辑后的文件。
这里进行绕过的方法就是 上述判断只判断了php,这里可以将后缀大写,即PHP
s10.png

即可绕过限制,至于最后的check_bad($text),找一个可以接受的参数即可:
<?php system($_SERVER['HTTP_USER_AGENT']); ?> 过滤函数较少,这里可以直接写一个,ua的shell。
s11.png

三、利用方法

登录后台
系统管理--》模板管理--》default--》编辑php文件
q1.png
q2.png
按照上述位置。编辑文件,并发送,抓包测试:
q3.png
验证:
q4.png

四、参考信息

CVE中文申请网:http://www.iwantacve.cn/index.php/archives/155/
CVE官方:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9651
exploit-db:发布中