代码审计-熊海CMS任意文件下载 0day?

admin 2021年7月8日22:28:13评论128 views字数 1524阅读5分4秒阅读模式

前言

1枚很简单的洞,昨天有看到公众号写了这个cms的审计文章,但是没提这个洞,所以这里简单分享一下。

目录

  • 源码扫描

    • Fortify SCA

  • 漏洞分析

    • 静态分析(phpstorm)

    • 动态调试(phpstorm+xdebug)

  • 漏洞验证

  • 漏洞利用

源码扫描

Fortify SCA

先用工具( Fortify SCA )扫一波代码审计-熊海CMS任意文件下载 0day?

  • tip:中文乱码问题

代码审计-熊海CMS任意文件下载 0day?

漏洞分析

静态分析 (phpstorm)

疑似存在漏洞的位置

/files/downloads.php

代码审计-熊海CMS任意文件下载 0day?

触发漏洞的参数为$sourceFile, 跟进整个传参过程,判断该参数的值是否可控

//打开文件  
$fp = fopen("$sourceFile", "rb");

CTRL+鼠标左键单击,一路回溯

# 依次回溯
fopen("$sourceFile", "rb");
|
$sourceFile = $fileadd;
|
$fileadd=$down['softadd'];
|
$down= mysql_fetch_array($result);
|
$result = mysql_query($query) or die('SQL语句有误:'.mysql_error());
|
$fileid=addslashes($_GET['cid']);

这里大概就可以看出参数$sourceFile的值大概率是受cid(用户可控)影响的,softadd的值直接影响最后的$sourceFile, 静态分析到这里就差不多结束了。

动态调试 (phpstorm + xdebug)

把系统的功能大致过了一遍,理清了该系统的文件下载功能的实现方式

  • step1: 由管理员发布下载 (/admin/?r=newsoft)

    • 注:管理员是可以通过修改Cooike绕过登录验证的,网上已经有很多分析,这里就不做过多分析了。

  • step2: 用户前台点击下载即可 (/?r=downloads&type=soft&line=unicom&cid=)

首先找到发布内容 -> 发表软件的功能点

代码审计-熊海CMS任意文件下载 0day?

似乎要找的可控参数应该就是这了

代码审计-熊海CMS任意文件下载 0day?

下断点,开启监听

代码审计-熊海CMS任意文件下载 0day?

一路F7,跟一遍参数过程(主要关注softadd)

最后到/admin/files/newsoft.php (93 ~ 97)

$query = "INSERT INTO download (
title,keywords,description,images,hit,xiazai,daxiao,language,version,author,demo,url,softadd,softadd2,xs,content,date
) VALUES(
'$title','$keywords','$description','$filename','1','0','$daxiao','$language','$version','$author','$demo','$url','$softadd','$softadd2','$xs','$content',now()
)";@mysql_query($query) or die('新增错误:'.mysql_error());
echo "<script>alert('亲爱的,下载,".$imgsms."成功保存。');location.href='?r=softlist'</script>";
exit;
}

如图

代码审计-熊海CMS任意文件下载 0day?

这里$softadd直接被插入了数据库

代码审计-熊海CMS任意文件下载 0day?

use xhcms;
select * from downloads;

代码审计-熊海CMS任意文件下载 0day?

到这里漏洞的产生的原因也就分析完了。

漏洞验证

回到首页,找到文件下载的功能点

代码审计-熊海CMS任意文件下载 0day?

成功下载 C:windowswin.ini

代码审计-熊海CMS任意文件下载 0day?

漏洞利用

  • Cookie伪造+任意文件下载
    数据库配置文件

    /inc/conn.info.php


本文始发于微信公众号(don9sec):代码审计-熊海CMS任意文件下载 0day?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年7月8日22:28:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   代码审计-熊海CMS任意文件下载 0day?http://cn-sec.com/archives/415397.html

发表评论

匿名网友 填写信息