Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Антивирусное обозрение "Ежики":: JavaScript вирус


Hi, All!

Сегодня я удалял у человека вирус, внедрившийся в конец всех .js файлов на его сервере. Делюсь своим быдлокодом, может кому пригодится. Быдлокод такой быдлокод, например, он тупит, когда в поддереве вообще отсутствуют файлы *.js. При туплении надо нажать cntrl D. Это не экспортный код, я его наваял по быстрому на коленке, удалил тело вируса и всё.

delete-virus.sh:

#/bin/sh
grep -l linkfooter `find $1 | grep ".js"` | awk '{print "./skript.sh " script $1}'


linkfooter - это подстрока, по которой ищутся зараженные файлы (это имя домена в зоне org, на котором расположена главная часть вируса, тоже в виде .js)

Вывод скрипта delete-virus.sh надо направить на вход командного интерпретатора sh вот так: ./delete-virus.sh | sh

skript.sh:

#/bin/sh
echo $1
cp $1 /tmp/skript.tmp
sed -f /home/prool-backup/sed.cmd /tmp/skript.tmp > $1



sed.cmd:

1,$s/function g(){var r=new RegExp("(\?:; )\?1=(\[\^;\]\*);\?");return r.test(document.cookie)\?true:false}var e=new Date();e.setTime(e.getTime()+(2592000000));//
1,$s/if(!g()&&window.navigator.cookieEnabled){document.cookie="1=1;expires="+e.toGMTString()+";path=\/";document.write('<\/script>');}//





sed.cmd - это удаление двух строк вируса командой 1,$s/строкавируса//

Обратите внимание, что специальные символы невозбранно экранированы обратною косою чертою. Кроме того, ЖЖ редактор и я слегка покорежили тело вируса в тексте файла sed.cmd, но это и хорошо, не будет опубликована ссылка на зараженный сайт и текст вируса. Тем более, что дело не в конкретном вирусе, этим скриптом можно удалять любой вирус из любых файлов (или вообще любые строки). Главное, если вы удаляете какой-то сложный текст, не надо забывать экранировать в нем символы, которые могут быть восприняты как регулярные
выражения * ? /

*

А вот модификации к моему коду, присланные в мой ЖЖ анонимным комментатором, которому спасибо за помощь

> find $1 | grep ".js"

find -name \*.js

> skript.cmd

sed -i -f sed.cmd $1

Пруль
prool1.kharkov.ru
Антивирус Stop! 4.00

В избранное