Нужна помощь в удалении взлома iFrame с сайта? - PullRequest
0 голосов
/ 17 ноября 2011

Итак, где-то на моем сайте есть файл Javascript, который через несколько секунд вставляет в страницу iframe на неизвестный сайт. То, что он вводит, терпит неудачу, и HTML немного запутан, но это связано с тем, что iframe src изменился с момента последней проверки.

Введенный код:

<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 - то, где это вводит (см. Внизу страницы). Не волнуйтесь, URL-адрес в iframe src мертв (downforeveryone.com/nleskoettf.com), это даже не рабочий веб-сайт, который действительно сбивает с толку.

Кто-нибудь знает, как я могу отследить вставленный HTML-код в источник? Кто-нибудь может это сделать?

Ответы [ 3 ]

4 голосов
/ 17 ноября 2011

Вы можете использовать такой инструмент, как Noscript , чтобы заблокировать домены для сценариев и локализовать сценарий, который внедрил iframe.

Тогда вы увидите, что iframe не будет присутствовать при блокировке twitter.com

Внутри http://caseconsultant.com/wp-content/plugins/contact-form-7/scripts.js?ver=2.3.1 (см. Последнюю строку) есть функция, которая загружает некоторые JSON-данные из твиттера и создает iframe (возможно, используя данные изtwitter-response, может быть причиной изменения URL).

Это также может быть вам интересно: Это опасный Javascript? (Это та же функция)

Я не уверен, что это вредоносная программа, возможно, есть только ошибка внутри функции, которая создает недопустимый HTML / URL, но функция не имеет ничего общего с контактной формой, а также не является частью оригинальных скриптов.js (вы найдете его здесь: http://downloads.wordpress.org/plugin/contact-form-7.2.3.1.zip), поэтому я боюсь, что сайт был взломан (за исключением того, что вы поместили эту функцию самостоятельно).

Итак, что вы можете сделать:

  1. Прочитайте это (удаление функции будет недостаточно, если вы не сделали этого)t Устранить уязвимость)
  2. Проверьте журналы сервера, script.js был изменен 11 ноября 2011 г. 19:57:00 по Гринвичу, было ли что-то подозрительное?Если нет, вы можете предположить, что серверной уязвимости нет (но серверные журналы тоже можно изменить), ....
  3. Сменить пароль FTP
  4. Сканировать ваш компьютер на наличие вредоносных программ
2 голосов
/ 17 ноября 2011

Я бы рекомендовал использовать Инструменты разработчика Chrome, чтобы понять это. Если вы загружаете свой сайт в Chrome, вы можете открыть инструменты, нажав кнопку гаечного ключа, затем Tools -> Developer Tools (или Ctrl+Shift+I).

Оттуда вы можете использовать вкладку «Ресурсы», чтобы увидеть все, что загружается для этой страницы, или вкладку «Сценарии», чтобы сосредоточиться только на javascript. Для этой проблемы ни один из них не кажется таким полезным, поэтому я рекомендую другой метод: нарушение изменений DOM. Взгляните на вкладку Элементы, щелкните правой кнопкой мыши на теге <body> и выберите Break on subtree modifications. Затем обновите страницу (возможно, потребуется обновить дважды, Chrome выругался для меня в первый раз).

Вам следует позвонить на jQuery.append в окне сценариев (если нет, нажимайте F10 до тех пор, пока Chrome не обнаружит больше или меньше изменений при загрузке), и если вы посмотрите на переменную a в разделе Local в подокне Scope Variables вы увидите, что он пытается вставить нарушающий div / iframe.

Теперь вы можете пошагово просматривать javascript с помощью кнопок в правом верхнем углу или F10 и F11. Если вы нажмете F10 несколько раз («Step Over»), вы попадете в нарушающий сценарий, называемый Chrome как «(программа)» (означает, что он был загружен динамически). Это было запутано, поэтому его немного трудно читать / понимать, но вы можете использовать окно консоли для запуска сценариев.

Например, функция jsn используется для перевода запутанного текста. Вы можете использовать это, чтобы увидеть все различные строки, которые он использует, например, в этой строке:

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

Это создает URL для iframe.

Это означает, что мы наверняка определили нарушающий скрипт, но тот факт, что он идентифицирован как '(program)' в Chrome, означает, что он был динамически загружен в память для запуска. Это означает, что фактическая часть сценария, скорее всего, сжимается и затем запутывается где-то в других ваших файлах сценария. Если вы просмотрите эти файлы сценариев в файле Resources, вы сможете найти строку или строки, которые не вписываются, выглядят очень запутанными / сжатыми и, возможно, находятся внутри вызова встроенной функции, IE:

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

Они также могут выглядеть несколько похожими на файл скрипта в представлении (программы). Это также может помочь в поиске вещей, которые было бы трудно сжать / оптимизировать, например, запутанных строк. Я искал одну из этих строк, haDWDosestnsdlDjfqcq, и нашел ее внизу scripts.js. Удалите эту строку, и ваш сайт должен быть в порядке!

1 голос
/ 17 февраля 2013

У меня недавно такое было, вставка iframe в файлы javascript (и другие!).Первое, что я сделал, - это grep -n для URL на всем моем сервере, чтобы найти каждый экземпляр внедрения.Всего одна строка и довольно просто удалить.Тогда прибыл вопрос отслеживания этого.

Оказывается, это был мошеннический модуль Apache, который был установлен из-за уязвимости.В моем случае это был mod_aclr.so

. Перейдите в каталог / usr / lib / httpd / modules / или / usr / lib64 / httpd / modules / и сравните свой список со списком реальных модулей apache здесь:http://httpd.apache.org/docs/2.2/mod/

Если у вас есть модули, которых нет в этом списке, просмотрите их, чтобы увидеть, что они содержат, или просто выполните поиск в Google, чтобы определить, связаны ли они с реальными модулями.В моем случае mod_aclr.so возвратил около 10 страниц русского комментария, поэтому я поместил его в карантин и буду следить за тем, что происходит сейчас.

Вот хорошая рецензия на эту тему: http://blog.unmaskparasites.com/2012/09/10/malicious-apache-module-injects-iframes/

...