Регулярный вопрос для удаления вредоносных программ JavaScript - PullRequest
2 голосов
/ 26 мая 2010

На моем сайте попало вредоносное вредоносное ПО на JavaScript. Я знаю, что каждый нарушающий код блок начинается со следующего:

<script language=javascript><!-- 
(function()

и заканчивается

</script>

Я бы хотел удалить неприятные биты с помощью регулярных выражений в Windows, используя какой-то бесплатный инструмент для замены регулярных выражений. Любые предложения здесь? Большое спасибо.

Ответы [ 2 ]

1 голос
/ 26 мая 2010

Я думаю, что вы должны использовать configure Privoxy (http://privoxy.org).. Он использует библиотеку PCRE и доступен для Windows. Для фильтрации вы должны сделать следующее:

  1. В каталоге конфигурации Privoxy добавьте

    FILTER: my-js-purger
    s@<script\s+language=javascript><!--\s+(function().*?</script>@@s
    

    в user.filter файл,

  2. Добавить

    { +filter{my-js-purger} }
    /
    
    Файл

    - user.action (замените / на названия сайтов, к которым вы хотите применить фильтр, или оставьте его как есть, если вы хотите применить его ко всем сайтам).

  3. Убедитесь, что есть некомментированные строки

    listen-address 127.0.0.1:8118
    actionsfile user.action
    filterfile user.filter
    

    в config файле (я думаю, что безопасно добавлять их в конец config файла независимо от того, существуют ли они уже).

  4. Запустить privoxy.

  5. Настройте браузер на использование 127.0.0.1:8118 в качестве прокси-сервера http / https.

1 голос
/ 26 мая 2010

Возможно, вы захотите попробовать UltraEdit , в него встроено регулярное выражение поиска / замены, которое хорошо работает. Также я считаю, что демо-версия работает в течение 30 дней.

Если вы просто хотите удалить все блоки Javascript со своих страниц, вам нужно выполнить поиск:

<script language=javascript><!--[\s\S\p]+</script>

(\s = whitespace, \S = non-whitespace, \p = newline characters)

Убедитесь, что у вас установлен флажок регулярных выражений в диалоге поиска / замены.

Редактировать

Добавьте к регулярному выражению, что после <script> должно следовать <!-- (я изменил приведенный выше пример), и вы получите только те <script> разделы, которые содержат комментарий сразу после открывающего тега.

...