来自 数据 2021-05-03 07:17 的文章

高防cdn_ddos高防网络_方法

高防cdn_ddos高防网络_方法

深入分析-解码基于HTML样式标记的恶意iframe注入明文或模糊处理的恶意iframe已成为一种常见的攻击媒介。通过利用web服务器或应用程序中的已知/未知漏洞,攻击者可以注入恶意Iframe,该Iframe将指向托管恶意软件的恶意域。攻击者不断修改其注入恶意iframe的方式,利用各种编码技术,将其恶意代码隐藏在安全产品中。他们这样做也是为了增加安全研究人员的复杂性,他们试图首先破译这些攻击。最近,我们遇到了另一个恶意的Iframe攻击,它是在HTML样式标记的帮助下执行的。以下是在受感染网站上发现的攻击截图: 攻击者能够在页面底部的两个不同位置插入恶意样式标记和恶意JavaScript代码。在一些JavaScript代码和JavaScript DOM对象和属性的帮助下,攻击者注入了他混淆不清的恶意代码。这段代码很难在Malzilla等工具或在线服务的帮助下解码jsunpack.org网站. 本博客将解释如何通过一步一步地正确阅读代码来解码这种恶意隐藏的iframe。让我们从格式化代码开始。 上面的代码包含一个由"#c19"定义的样式表。在进一步检查代码之后,代理服务器防御ddos,我们确定变量"WnmaQ"是用函数"YYSXc()定义的"。之后,定义了3个其他变量,ddos防御多少钱,其中2个包含垃圾或无用函数,ddos基础防御怎样开通,然后通过访问Wnmaq.YYSXc公司()". 这意味着此代码将调用第一个定义的变量"Wnmaq"内的函数。现在,让我们格式化这个函数,下列哪个方法无法防御ddos,并将代码分成若干部分,这样我们就可以一步一步地解码它。这是剧本的第一部分, 看看上面的代码,我们可以看到有一些垃圾或无用的变量和函数是无的放矢地声明的,比如变量"l"、"v"和函数"nB()"。在整个脚本中声明了许多这样的垃圾变量和函数。它们从不用于任何重要目的。所以我们将跳过那些肮脏无用的变量,函数。我们只关注用于解码这个恶意JavaScript的有用变量、代码和函数。有一个用"new Date()"函数声明的变量"g",它是数组的形式。第一个数组元素是一年,第二个是一个月,依此类推。然后用"g.getMonth()"函数定义变量"o",这意味着变量"o"将包含值"10",这是第二个数组元素,称为month。然后变量"r"将包含字符串"from10e"。这个变量中的值10被"CharCod"字符串替换,所以最后我们在变量"r"中有一个有趣的字符串,防御各类cc攻击,它只不过是"fromCharCode"。变量"i"是用object定义的文档.样式表,它将返回样式表列表。我们来解码主脚本的第二部分, 上面的"for()"循环实际上将从前面定义的样式标记中提取数组数据。为了更好地解释代码的组成部分,我在图片中添加了一些注释。最初,变量"q"在".selectorText"属性的帮助下与样式表规则对应的元素匹配。如果循环与样式表的字符串"#c19"匹配,则代码将继续。下一个变量"w",实际上是在属性的帮助下从样式表规则中检索数组。样式背景图像". 现在,我们终于有了有用的变量。在这一点上,我们应该测试,以确保一切似乎合理。让我们创建一个简单的测试.html文件并在HTML文件中只添加重要的变量、样式表标记和代码。我们将借助alert()函数测试上述代码后的变量w。示例HTML文件如下所示: 我们删除了所有的东西,只添加了我们之前解码的那些变量。我们应该从样式标记中获取数组值。以下是运行上述文件后变量"w"将包含的内容。 所以,脚本的第二部分只是从样式标记中检索值。这表明我们的分析是正确的。我们会保留这个"测试.html"文件保持原样,并将在附加分析后添加更多有趣的代码。让我们看看主脚本的下一部分: 上面的代码解释了变量"c"将包含名为"split"的字符串,而变量"m"将包含由逗号分隔的数组值。变量"k"将包含数组长度除以2的值。我们将把以上3行代码添加到我们的"测试.html"文件,然后将为我们的目的警告"k"的值。如果运行修改后的测试.html"文件。上面的代码还包含前面提到的垃圾代码。我们来解码主脚本的最后一部分, 以上代码是主要恶意脚本的最后一部分。在这里我们将完成代码的解码,并将确定这背后的主要恶意代码。如前所述,变量"k"将包含值90,而此"for()"循环将运行90次。函数"parseInt()"用于获取精确的整数。变量"o"将包含日期对象的月份,即10。变量"r"包含前面找到的字符串"fromCharCode"。最后变量"j"看起来像,j+=字符串["fromCharCode"][rZ];循环将继续,变量"j"将附加从上述表达式检索到的字符。这是整个脚本背后的主要代码。最后一个变量"kW"包含JavaScript函数"eval()",然后使用参数"j"调用该函数。这告诉我们恶意内容将计算变量"j"中的代码。让我们在前面的测试.html文件,我们会提醒"j"的值,找出隐藏的代码。这就是我们的决赛"测试.html代码如下所示: 我们只在上面的文件中添加了有用的变量、循环和JavaScript代码。我们已经从主脚本中删除了无用的变量和函数。下面是运行上述文件时看到的: 最后发现了指向恶意域的恶意Iframe。攻击者在样式标记的帮助下创建了恶意JavaScript代码,以生成恶意Iframe。由于代码的复杂性和攻击者使用的各种技巧,此过程很难分析,工具或服务可能会失败。但是,如果您有一点耐心和良好的眼光,很容易通过了解代码流来解码此类恶意JavaScript代码。就这样吧。快乐解码乌梅什Zscaler_媒体_中心2_博客_发布_1-R1