【代码审计】五指CMS_v4.1.0 copyfrom.php 页面存在SQL注入漏洞分析

时间:2023-03-09 00:32:19
【代码审计】五指CMS_v4.1.0 copyfrom.php 页面存在SQL注入漏洞分析

 

0x00 环境准备

五指CMS官网:https://www.wuzhicms.com/

网站源码版本:五指CMS v4.1.0 UTF-8 开源版

程序源码下载:https://www.wuzhicms.com/download/

测试网站首页:

【代码审计】五指CMS_v4.1.0 copyfrom.php 页面存在SQL注入漏洞分析

0x01 代码分析

1、漏洞文件位置:/coreframe/app/core/admin/copyfrom.php  第22-36行:

  1. public function listing() {
  2. $siteid = get_cookie('siteid');
  3. $page = isset($GLOBALS['page']) ? intval($GLOBALS['page']) : 1;
  4. $page = max($page,1);
  5. if(isset($GLOBALS['keywords'])) {
  6. $keywords = $GLOBALS['keywords'];
  7. $where = "`name` LIKE '%$keywords%'";
  8. else {
  9. $where = '';
  10. 10.        }
  11. 11.     $result = $this->db->get_list('copyfrom', $where, '*', 0, 20,$page);
  12. 12.     $pages = $this->db->pages;
  13. 13.        $total = $this->db->number;
  14. 14.     include $this->template('copyfrom_listing');

15. }

这段函数将获取到的keywords参数拼接到SQL语句,然后带入数据库执行,导致程序在实现上存在SQL注入漏洞,攻击者可利用该漏洞获取数据库敏感信息。

0x02 漏洞利用

1、构造url链接,输入单引号进行测试,单引号报错

Payload:http://127.0.0.1/index.php?m=core&f=copyfrom&v=listing&_su=wuzhicms&_menuid=&_submenuid=&keywords=111'

【代码审计】五指CMS_v4.1.0 copyfrom.php 页面存在SQL注入漏洞分析

2、使用sqlmap获取数据库敏感信息,当前数据库用户为root

【代码审计】五指CMS_v4.1.0 copyfrom.php 页面存在SQL注入漏洞分析

0x03 修复建议

使用参数化查询可有效避免SQL注入

最后

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

【代码审计】五指CMS_v4.1.0 copyfrom.php 页面存在SQL注入漏洞分析