查看原文
其他

KKCMS 1.371 代码审计

刨洞安全团队 刨洞安全团队 2023-11-08

大体来说这个 CMS 还是比较安全的,but 部分功能写法完全不统一。写 sql 查询的时候有些用了 PDO,有些直接带入查询

预处理分析

除了编辑器以外的 php 都会引用 system/inc.php 或者 system/library.php

library.php 处理函数和单双引号转义处理
inc.php 引用了system目录里的所有文件

大概分析

首先是 install/index2.php,写入数据库和生成 install.lock 文件的处理

首先加载了 /system/library.php

可以看到,对所有的请求对单双引号进行了转义

if (!defined('PCFINAL')) {
    exit('Request Error!');
}
if (!get_magic_quotes_gpc()) {
    if (!empty($_GET)) {
        $_GET = addslashes_deep($_GET);
    }
    if (!empty($_POST)) {
        $_POST = addslashes_deep($_POST);
    }
    $_COOKIE = addslashes_deep($_COOKIE);
    $_REQUEST = addslashes_deep($_REQUEST);
}

之后 index2.php 的流程

1.判断了install.lock文件是否存在
2.将数据库配置信息写入到system/data.php
3.往数据库导入sql

由于过滤了特殊符号,这里单引号没法闭合。无法利用

安装完默认后台: admin/123456

xss

template\wapian\movie.php

getPageHtml 函数是用来模板渲染的

看了一下 payload 主要还是 $yourneed 参数,跟踪发现来自 360.php

无任何过滤

payload:m="11111111111"><script>prompt(/xss/)</script><

貌似 payload 并不会因为 addslashes_deep 函数而失效

个人信息修改处,无任何过滤造成存储型 xss

payload: "><script>prompt(/xss/)</script><"

申请友链的存储xss

后台处理

留言板和这个差不多一致,省略

sql注入

虽然使用了 addslashes_deep 函数。导致登录处和代单/双引号的 sql 无法闭合,数据库也不是 GBKbut 还是有一处盲注

cookie爆破后台绕过验证码

任意文件读取

在开启了 allow_url_fopen 和 allow_url_include 后会变成 RCE

小结

这套 CMS 靠着一些奇怪的方法来导致原本可利用的漏洞无法利用,例如后台功能大部分可以越权利用。但是另外的函数找不到,导致利用失败

总的来说,这套 CMS 有点水


关注公众号后台回复 0001 领取域渗透思维导图,0002 领取VMware 17永久激活码,0003 获取SGK地址,0004 获取在线ChatGPT地址,0005 获取 Windows10渗透集成环境,0006 获取 CobaltStrike 4.9破解版


加我微信好友,邀请你进交流群





往期推荐



Java审计之CMS中的那些反序列化漏洞

日常记录对某站点的实战渗透

Subconverter订阅转换RCE漏洞

D-Link DAP-X1860:远程命令注入

国产之光IDE,自带国产特色VIP功能!

JeecgBoot SSTI以及JDBC RCE 复现

谈一谈我是如何入门安全的,七年安全生涯总结

聊聊PE文件免杀

Threadless Inject - 一种新颖的进程注入技术

记一次从linux打进域控

记一次从外网到拿下域控

备用号,欢迎关注


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存