【代码审计】五指CMS_v4.1.0 copyfrom.php 页面存在SQL注入漏洞分析
0x00 环境准备
五指CMS官网:https://www.wuzhicms.com/
网站源码版本:五指CMS v4.1.0 UTF-8 开源版
程序源码下载:https://www.wuzhicms.com/download/
测试网站首页:
0x01 代码分析
1、漏洞文件位置:/coreframe/app/core/admin/copyfrom.php 第22-36行:
- public function listing() {
- $siteid = get_cookie('siteid');
- $page = isset($GLOBALS['page']) ? intval($GLOBALS['page']) : 1;
- $page = max($page,1);
- if(isset($GLOBALS['keywords'])) {
- $keywords = $GLOBALS['keywords'];
- $where = "`name` LIKE '%$keywords%'";
- } else {
- $where = '';
- 10. }
- 11. $result = $this->db->get_list('copyfrom', $where, '*', 0, 20,$page);
- 12. $pages = $this->db->pages;
- 13. $total = $this->db->number;
- 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'
2、使用sqlmap获取数据库敏感信息,当前数据库用户为root。
0x03 修复建议
使用参数化查询可有效避免SQL注入
最后
欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。