Отново JavaScript injection зараза

Blog Clean Message by SucuriА днес блогът пак се беше заразил! Последният път беше отпреди месец, когато един приятел ми помогна да открия, че имам проблем.

Днес, още като го отворих, за да направя по-горния материал, и като заизскачаха едни прозорци, ужас! Изглежда, този който ми заразява блога, отново си беше свършил работата, и нещата бяха излезли извън контрол. Налагаше се да чистя пак.

Както винаги, започнах със Sucuri Blog Check системата. Той естествено показа откъде идва malware payload-а. Изглеждаше инфекция като предишната: в постовете бяха инжектирани извиквания към скрипт от con1.sometimesfree.biz_черта_c.js

Грозно колкото си искаш. На всичкото отгоре, вече настоява и за автоматична инсталация на Chrome разширение. Пълен кошмар. Не знам кога се е появило, но изискваше незабавни действия.

Приложих същата тактика, както и преди. Свалих съдържанието на wp_posts таблицата и с помощта на Visual Studio Code премахнах всички script тагове. Добре, че беше лесно, този път дори не изискваше regular expressions search, защото заразата беше еднотипна.

След това пресъздадох wp_posts с изчистения SQL и нещата се оправиха. Или поне така си мислех аз, докато не заредих отново “изчистения” блог в прясна инстанция на Firefox (поне браузъри при мен има, различни и за всеки вкус). Въпреки уж оправения блог, заизскачаха пак едни прозорци, едни чудесии, направо #искаПлаче стана положението.

Прегледах отново сорса на блога (този път знаех кой гнусен домейн да търся) и видях, че е останала една референция към заразата, в един custom sidebar widget на блога. Изчистих я и нея.

Последваща проверка чрез Sucuri потвърди, че този malware вече го няма.

Като следващата стъпка обаче минах и забраних всички плъгини, освен JetPack. Имах и един “твърдо” инсталиран плъгин, директно във wp_content директорията. Този плъгин, уж сигурен, замина и той. Сега се надявам нещата да се подобрят. Уж няма променени файлове, но човек никога не знае.

Ако инфекцията пак се появи, ще трябва да правя едно от тези две неща:

  1. Пълна преинсталация на WordPress, като се импортира само и единствено съдържанието на блога, без никакъв код. Това не е правено поне пет години, така че може и да му е време. Със сигурност ще загубя това/онова, но не мисля, че ще е неприемлива загуба.

  2. Архивиране на блога и започване на чисто. Не ми се вярва да стигна до там, защото има изключително полезни неща.

  3. Проучване дали може ли да се сложи “write protection” на wp_posts и още някоя и друга таблици, който write protection да се маха само, когато знам че аз пиша по тях.

Чудя се още, какво следва. Много неприятна ситуация, че и се повтаря. Ако не е някой пробит плъгин, не знам какво друго да си мисля!

Leave a Reply