【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析

时间:2022-09-03 16:52:07

 

0x00 环境准备

QYKCMS官网:http://www.qykcms.com/

网站源码版本:QYKCMS_v4.3.2(企业站主题)

程序源码下载:http://bbs.qingyunke.com/thread-13.htm

测试网站首页:

 【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析

0x01 代码分析

1、漏洞文件位置:/admin_system/include/lib/down.php  第1-6行:

2、  <?php  

3、  $downurl=arg('downurl','post','url');  

4、  $filename=arg('filename','post','url');  

5、  $file=downfile($downurl.$filename,'../'.$website['upfolder'].setup_uptemp,$filename);  

6、  if(!$file)ajaxreturn(1,'下载升级文件失败,可能由于以下原因导致无法下载:<br>1、服务器繁忙,请稍候再重新尝试升级<br>2、PHP环境不支持远程 file_get_contents 函数');  

7、  ajaxreturn(0,$website['upfolder'].setup_uptemp,$file);  

这段代码中获取了两个参数downurl和filename,然后未经任何处理或过滤,带入downfile函数中执行,将远程的文件下载到本地/upload/10001/temp/目录下。

我们可以很容易地从第三方网站下载一个脚本木马,文件名也是我们可控的,导致程序在实现上存在代码执行漏洞,攻击者可以通过该漏洞执行脚本代码,获取服务器控制权限。

0x02 漏洞利用

1、在某个第三方网站上放一句话木马,作为源,供程序利用:

 【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析

2、构造参数,从第三方网站下载脚本木马到网站目录中,成功下载脚本木马。

 【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析

3、访问脚本木马路径,触发一句话木马

 【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析

4、通过菜刀连接,成功控制网站服务器

 【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析

0x03 修复建议

1、指定文件更新源,禁止任何形式的参数可控,可有效防御。

最后

欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。 

【代码审计】QYKCMS_v4.3.2 后台down.php页面代码执行漏洞分析