ce安全网绿色资源分享

教程资讯|常用软件|安卓下载|下载排行|最近更新

软件
软件
文章
当前位置:首页网络安全安全文章 → OpenCart前台某插件SQL注入漏洞【CVE-2018-11231】

OpenCart前台某插件SQL注入漏洞【CVE-2018-11231】

时间:2018-05-22 08:45:02人气:作者:本站作者我要评论

简介

OpenCart 是近年来国内外非常流行的 PHP 开源电子商务网站系统。该电商网站系统安装方便,功能强大,操作简单。支持多语言、多货币和多店铺。OpenCart 外围开发生态圈发达,更有上万款免费和收费的模块插件和模板主题可供选择。代码完全开源,功能持续更新,代码结构清晰易懂,二次开发容易上手,入门门槛低。基于这些特点使得 OpenCart 快速成为了世界上广泛应用的 电子商务建站系统。

漏洞详情

这里直接进入存在漏洞的代码,代码位置为catalog/controller/extension/payment/divido.php第79行开始

OpenCart前台某插件SQL注入漏洞【CVE-2018-11231】

这里出现问题的是84行的语句,这里file_get_contents('php://input')实际上就是获取POST传入的值,然后经过一次json解析传入到data参数中

86行判断data中的status参数是否为空,如果为空则返回,那么这里传入的status参数不为空就行

跟入91行,这里$data->metadata->order_id参数构造一下即可,也就是说这里的参数同样是可控的,下面我们跟进这这个getLookupByOrderId函数

OpenCart前台某插件SQL注入漏洞【CVE-2018-11231】

这里就出现了问题,这里传入的order_id参数进行直接拼接,那么这里我们传入POST值,然后经过json解析获取order_id参数,实现最终的拼接,因此判断此处存在sql注入漏洞

这里漏洞利用有个前提就是opencart网站需要安装divido这个付款插件,默认是不安装的

OpenCart前台某插件SQL注入漏洞【CVE-2018-11231】

这里安装即可,然后我们来到前台访问存在漏洞的页面

漏洞url为

  1. https://www.cesafe.com/upload/index.php?route=extension/payment/divido/update

POST参数为

  1. {"metadata":{"order_id":"1 and updatexml(1,concat(0x7e,user()),1)"},"status":2}

这里经过一次json解析即可获得metadata参数和status参数,然后获取metadata中的order_id参数,最终直接拼接到sql语句里 ,导致了注入漏洞的发生

OpenCart前台某插件SQL注入漏洞【CVE-2018-11231】

可以看到获取了数据库用户名为root,漏洞确实存在!

修补意见

对order_id参数进行检查,或者使用单引号包裹起来,然后加上转义函数。

相关文章

猜你喜欢

  • 深入解析浅谈《快3单双准确率方法》成功方案

    2022-09-28 /

  • 全网首发《快3单双大小必中方法技巧》思路汇总

    2022-09-28 /

  • 资深攻略《快3大小必中技巧》上岸方法

    2022-09-28 /

  • 【最准确的玩法】《回血上岸计划导师QQ》操作系列

    2022-09-28 /

  • 经验教程《导师一分快三计划》最新窍门

    2022-09-28 /

  • 高手教你《大小单双最安全的打法》三期必中

    2022-09-28 /

网友评论

验证码:

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

最新评论

已有人参与,点击查看更多精彩评论

本类推荐

关于CE安全网 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2019-2029 cesafe.com 【CE安全网】 版权所有 琼ICP备2021004244号-1| 琼ICP备2021004244号-1

声明: 本站为非赢利性网站 不接受任何赞助和广告 所有软件和文章来自互联网 如有异议 请与本站联系 技术支持:ce安全网