代码审计:云业cms前台注入漏洞复现

代码审计:云业cms前台注入漏洞复现

  • 云业CMS
  • 漏洞寻找
  • 漏洞发现
  • 漏洞利用

云业CMS

云业CMS内容管理系统是由云业信息科技开发的一款专门用于中小企业网站建设的PHP开源CMS,可用来快速建设一个品牌官网(PC,手机,微信都能访问),后台功能强大,安全稳定,操作简单。
源码下载:https://www.mycodes.net/43/10244.htm

因为最近在学习php代码审计,刚好群里有大佬聊到了云业cms的登录框注入漏洞,于是借此机会自己动手审计一波。

漏洞寻找

下载源码,搭建起来,打开登录页面。

http://127.0.0.1/yunyecms_2.0.2/admin.php?c=login&=

打开Seay源代码审计工具,分析代码。
经过一番寻找与“提示”,发现getip()方法获取ip没有进行过滤,可能有戏。
代码审计:云业cms前台注入漏洞复现_第1张图片
搜索getip()函数,发现login.php调用了该函数,变量为$logiparr。
代码审计:云业cms前台注入漏洞复现_第2张图片
跟踪该变量,发现CheckLoginTimes函数调用该变量。
代码审计:云业cms前台注入漏洞复现_第3张图片
去到该函数定义处,发现我们的ip变量没有进行任何过滤直接由GetCount函数执行。
代码审计:云业cms前台注入漏洞复现_第4张图片

漏洞发现

$cnt=$this->db->GetCount("select count(*) as total from `#yunyecms_adminloginfail`  where ip='$ip' and failtimes>=".ADMLOGIN_MINUTES." and lastlogintime>$checktime limit 1");

可以看出,我们可以构造该ip变量达到注入目的,打开burp抓包。
代码审计:云业cms前台注入漏洞复现_第5张图片
发送到Repeater模块,构造参数,可以看到sql报错。
代码审计:云业cms前台注入漏洞复现_第6张图片
进一步利用,得到数据库名称,漏洞存在。
代码审计:云业cms前台注入漏洞复现_第7张图片

漏洞利用

将抓的包保存下来,使用sqlmap去跑就可以了。

sqlmap.py -r C:\Users\Administrator\Desktop\yunye.txt --batch

代码审计:云业cms前台注入漏洞复现_第8张图片

你可能感兴趣的:(代码审计)