热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

KKCMS代码审计初探

本文主要介绍了KKCMS的安装过程及其基本功能,重点分析了该系统中存在的验证码重用、SQL注入及XSS等安全问题。适合初学者作为入门指南。

一、环境搭建

本文假设读者已具备基本的Web开发环境配置能力,因此安装步骤将不会详述。安装完成后,启动网站,您将看到如下界面,该CMS平台支持发布卡片和影视资源采集播放等功能,非常适合初学者学习使用。

技术分享图片

接下来,我们将重点讨论几个关键文件。

技术分享图片

二、验证码安全问题

系统通过比较session中的值与用户输入的验证码来验证身份。然而,由于Burp Suite默认不解析Javascript,导致存在验证码复用的安全隐患。

技术分享图片

进一步调查发现,$_SESSION['verifycode']仅在verifycode.php中定义,生成四位数字验证码。值得注意的是,这种验证码重用的问题在多个网站中普遍存在。

三、文件上传漏洞分析

KKCMS使用了KindEditor编辑器,默认情况下允许上传多种类型的文件,包括HTML和TXT文档。尽管如此,但这些上传的文件并不能用于获取shell权限。

技术分享图片

更多关于文件上传漏洞的细节可参考外部资料,本文不再深入探讨。

四、SQL注入风险探讨

在后台登录模块中,未对用户名和密码进行适当的预处理,初步判断可能存在SQL注入的风险。然而,实际尝试万能密码和SQLMap均未成功,原因在于系统对特殊字符进行了转义处理。

技术分享图片

进一步审查代码发现,inc.php文件中启用了addslashes函数,用于防止SQL注入。尽管如此,addslashes并非绝对安全,建议采用更先进的防护措施。

五、前端SQL注入实例

通过/vlist.php接口输入特殊字符,观察到返回结果异常,表明该接口存在SQL注入风险。由于参数类型为整数,且未使用引号包裹,直接嵌入SQL语句中,使得SQL注入攻击成为可能。

技术分享图片

虽然addslashes被启用,但由于未使用引号,因此对其效果有限。手动注入测试显示,确实存在SQL注入漏洞。

六、后台SQL注入案例

在后台管理界面,尤其是在处理数字类型参数时,容易出现SQL注入漏洞。例如,在会员管理模块中,ID参数未经适当处理,导致SQL注入风险。

技术分享图片

尽管SQLMap未能检测到漏洞,但通过手动测试确认存在盲注。此外,后台删除功能中也存在类似的SQL注入问题。

七、跨站脚本攻击(XSS)分析

在多个页面中发现了XSS漏洞,主要是由于GET请求参数未经过滤即被输出到页面。例如,movie.php、tv.php等文件中,存在未过滤的m、cat、page等参数,导致反射型XSS。

技术分享图片

留言板功能中也存在存储型XSS,用户提交的内容未经严格检查即存入数据库并直接显示,构成安全隐患。

八、留言板的XSS双杀

除了反射型XSS外,留言板还存在存储型XSS。用户提交的内容需包含汉字,否则将被视为非法。绕过验证码后,恶意代码可直接存储至数据库并在前端显示,形成持久化的XSS攻击。

技术分享图片

后台留言管理同样受到影响,显示未经处理的用户输入,增加了系统的安全风险。

九、友链申请的XSS风险

友链申请功能中,用户提交的数据仅通过addslashes简单处理后存入数据库,导致存储型XSS漏洞。管理员在友链管理界面查看时,可能遭受攻击。

技术分享图片

十、数据库信息泄露

在测试过程中意外发现data.sql文件,其中包含了数据库的结构和初始化信息。这类信息的公开可能导致严重的安全问题。

技术分享图片

十一、结语

对于初学者而言,审计CMS系统时应有条不紊地查找潜在的安全漏洞。同时,要注意默认集成的第三方组件,利用工具辅助分析,并关注非标准扩展名文件的信息泄露风险。希望本文能为刚接触代码审计的朋友提供一定的指导。


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
author-avatar
肯尼亚hanhan
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有