denum
+3
А ещё в сериале «Continuum», в одной из последних серии, был реализован данный метод.
denum
0
Хм, спасибо! Буду иметь ввиду.
denum
0
что то у меня не работает навигация в примере.
LG P970 Opera mini 5.1.21126
denum
0
На баше скрипт писался не под iframе'ы. Расширить изменением регулярки с условиями поиска — можно всегда. Тогда чистить будет всё что угодно, вы же сами понимаете.

Удаление всей строки не то что, не совсем удачно в случае, если вредоносный код в середине или начале строки. Такой подход в корне неудачен, если подходить к решению проблемы с таким кодом подобным образом.
Я же указал, что код добавлялся строго в конец файла и в одну строку. Именно поэтому был выбран подобный вариант удаления — строчный. Для других вариаций заражения необходимо менять поиск вхождений, используя например preg_match() или preg_replace().

А вот по поводу «фокуса» с флагами sed'a, спасибо, возьму на заметку.
denum
0
а что вы будете делать, если на виртуальном хостинге нет консоли и поддержки ssh?
всё равно нужно будет использовать php — exec, system или phpseclib.
а на баше (до работы с заразой на PHP) мы использовали вот этот скрипт:

for i in `find . -name "index.php";find . -name "index.html"`
do
echo $i
mv $i $i-old
cat $i-old | sed "s/bip-count\.info//g" > $i
done;
denum
0
Чтобы внедрить код в любой файл, например, можно использовать данный сканер. В любое место файла, куда захочется. Было бы желание. Но для этого нужен доступ по фтп или возможность залить скрипт на сайт. Так что всё упирается в уязвимости.
denum
0
Просто понимаете, не везде есть возможность использовать консоль.
denum
0
Нужно будет прорабатывать более детально этот момент. Использовать регулярные выражения, прорабатывая маску общей сигнатуры. Как один из вариантов.
denum
0
Зачем же сразу кидаться? Дельные замечания!
denum
+1
Код не тронутый — как писал, таким и оставил. Для статьи на хабр добавил только подробные комментарии.
И недоработок действительно не мало, что уже говорить о том, что если указать тип — .php то скрипт перезапишет и самого себя.
Но когда писался сканер, важно было решить проблему, о другом мало думалось.

Извиняюсь за то, что разочаровал Вас!
denum
0
Через заражённую машину, с фтп клиента увели доступы. Это наиболее вероятный сценарий, поскольку пока не были очищены рабочие машины сотрудников, пляски с чисткой происходили регулярно. На данный момент, как я уже говорил, пароли сменили, фтп клиенты сменили, машины очистили. Пока всё спокойно.
denum
0
К сожалению не было возможности написать статью ранее. Написан же данный сканер был аж во вторник, 3 апреля.
Но главное не пройденный путь, а результат!)