限 时 特 惠: 本站每日持续稳定更新内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410
前言
这是作者通过代码审计挖的第一个cve,目前已经在cve官网公开。本身没多少技术含量,主要是分享自己学习代码审计的过程。
复现
cve编号 :CVE-2024-39174.
环境
.2
过程
该cms有一个注册用户发表文章的功能
我们注意到这里使用的编辑器是富文本编辑器,去网上查询该组件的公开漏洞进行尝试,发现了一个存储型xss漏洞。
漏洞利用过程就是通过抓包将原本要发送的文章内容替换为
%3Cp%”>
%3Cbr%2F%3E%3C%2Fp%3E
执行后发现失败
查看html源码发现事件被过滤替换
知道存在函数来过滤注入,所以去源码里审计。发现一个专门用于过滤xss攻击的函数
函数主要部分如下
$ =(‘/[-BCE-FF]+/S’, ”, $);
$parm1 =array(”, ”, ”, ”, ‘meta’, ‘xml’, ‘blink’, ‘link’, ”, ’embed’, ”, ”, ‘frame’, ”, ”, ‘layer’, ”, ‘title’, ‘base’);
$parm2 =array(”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ‘oncut’, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”);
函数会将所有大写字符替换为小写,所以不存在大小写绕过
于是开始思考能不能通过黑名单外的js事件来执行代码onbeforepaste,通过查询比较发现了方法
简单来说该方法和一样,都是当用户点击目标元素时触发。
所以构造
%3Cp%”>
%3Cbr%2F%3E%3C%2Fp%3E
成功执行
尝试在正常的图片中添加该方法,使其更具隐蔽性
发现无法直接弹框onbeforepaste,但是事件还是可以执行的,实际中可以考虑外联xss平台进行盗取操作
限 时 特 惠: 本站每日持续稳定更新内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410