2011-11-17 52 views
0

好吧,所以我的網站上的某個地方是一個JavaScript文件,幾秒鐘後,將一個iframe注入到未知網站中。它注入的失敗並且HTML有點搞砸了,但是這很關鍵,因爲自上次檢查以來,iframe src已經發生了變化。注射需要幫助從網站中刪除iFrame破解?

代碼:

<divstyle="height:2px;width:111px;"> 
<iframe style="height:2px;width:111px;" src="http://nleskoettf.com/index.php?tp=001e4bb7b4d7333d"></iframe> 
</divstyle="height:2px;width:111px;"> 

對於近距離和個人一目瞭然:http://caseconsultant.com是它注入(見頁面底部)。別擔心,the URL in the iframe src is dead (downforeveryone.com/nleskoettf.com),它甚至不是一個真正令人困惑的工作網站。

任何人都知道我可以如何追蹤注入的HTML到源代碼? 任何人都可以做到這一點?

回答

4

您可以使用類似Noscript這樣的工具來阻止用於腳本的域並本地化注入iframe的腳本。

然後你會看到,當你阻止的iframe將不存在twitter.com

有是從Twitter加載一些JSON數據,並創建了內部http://caseconsultant.com/wp-content/plugins/contact-form-7/scripts.js?ver=2.3.1功能(見最後一行) iframe(可能使用twitter響應中的數據,可能是更改url的原因)。

這也可能是有趣的你:Is this dangerous Javascript?(這是相同的功能)

我不知道這是否是惡意軟件,也許僅僅是創建無效的HTML/URL裏面的函數中的錯誤 但該函數與聯繫表單無關,也不是原始scripts.js的一部分(您可以在這裏找到它:http://downloads.wordpress.org/plugin/contact-form-7.2.3.1.zip),所以恐怕該網站已被黑客入侵(除了你把在你自己的功能)。

所以,你可以做什麼:

  1. Read this(去除功能是不夠的,只要你沒有刪除該漏洞)
  2. 檢查服務器日誌的script.js有已於2011年11月11日19:57:00修改,有沒有可疑的東西?如果沒有,你可以假設沒有服務器端的漏洞(但服務器日誌也可以進行修改),...
  3. 更改您的FTP密碼
  4. 掃描你的電腦的惡意軟件
+0

我會盡快給你這個。 –

2

我'd建議使用Chrome的開發工具來解決這個問題。如果您在Chrome中加載您的網站,您可以點擊扳手按鈕打開工具,然後Tools -> Developer Tools(或Ctrl+Shift+I)。

從那裏,您可以使用Resources選項卡查看爲該頁面加載的所有內容,或者使用Scripts選項卡專注於JavaScript。對於這個問題,這些看起來都沒什麼用處,所以我推薦一個不同的方法:打破DOM的變化。看一下元素標籤,右鍵點擊<body>標籤並選擇Break on subtree modifications。然後,刷新頁面(可能需要刷新兩次,第一次爲我竊聽Chrome)。

您應該在腳本窗口中撥打電話jQuery.append(如果沒有,直到您到達F10,有時Chrome會根據負載進行或多或少的修改),如果您在Local中查看a變量範圍變量子窗口,你會看到這是試圖插入有問題的div/iframe。

現在,您可以使用右上角的按鈕或F10和F11逐步瀏覽javascript。如果你幾次點擊F10('Step Over'),你最終會出現在Chrome瀏覽器稱爲'(程序)'(意味着它已被動態加載)的違規腳本中。這已經被混淆了,所以它有點難以閱讀/理解,但是你可以使用控制檯窗口從腳本中運行一些東西。

例如,jsn函數被用於翻譯混淆的文本。您可以使用此看到所有正在使用的不同的字符串,例如在這條線:

jsg = jsn('Ch') + jsp(jsb).substring(0, jsa) + '.com/' + jsAJ($); 

這構建了iframe中的URL。

這意味着我們已經確定了違規腳本,但Chrome瀏覽器將其標識爲「(程序)」的事實意味着它已被動態加載到內存中運行。這意味着實際的腳本部分很可能會被壓縮,並會在其他腳本文件的某處進一步混淆。如果您查看Resources文件中的這些腳本文件,您應該能夠找到不適合的一行或多行,看起來非常模糊/壓縮,並且可能在內聯函數調用IE中:

(function() { ... })(); 

它們也可能看起來有些類似於'(程序)'視圖中的腳本文件。它還可以幫助搜索難以進一步壓縮/優化的內容,例如混淆的字符串。我搜索了其中一個字符串haDWDosestnsdlDjfqcq,並在scripts.js的底部找到它。刪除該行,你的網站應該沒問題!

1

我最近發生了這種情況,iframe注入JavaScript文件(和其他!)。我做的第一件事是在整個服務器上找到grep -n來查找注入的每個實例。只需一條線,移除起來相當簡單。然後是追蹤它的問題。

事實證明,這是一個由於漏洞而被種植的流氓apache模塊。在我的情況下,它是mod_aclr.so

通過你的/ usr/lib中/的httpd /模塊/或/ usr/lib64下/ httpd的/模塊/目錄,然後將列表比較這裏真正的Apache模塊列表:http://httpd.apache.org/docs/2.2/mod/

如果你有一些模塊沒有出現在這個列表中,可以讓他們看看他們包含什麼,或者簡單地做一個谷歌搜索,看他們是否與實際模塊有關聯。在我的情況下,mod_aclr.so返回了大約10頁的俄文評論,所以我隔離了它,並會看着現在會發生什麼。

下面是關於這個問題的一個很好的書面記錄:http://blog.unmaskparasites.com/2012/09/10/malicious-apache-module-injects-iframes/