Отново JavaScript injection зараза
А днес блогът пак се беше заразил! Последният път беше отпреди месец, когато един приятел ми помогна да открия, че имам проблем.
Днес, още като го отворих, за да направя по-горния материал, и като заизскачаха едни прозорци, ужас! Изглежда, този който ми заразява блога, отново си беше свършил работата, и нещата бяха излезли извън контрол. Налагаше се да чистя пак.
Както винаги, започнах със 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 директорията. Този плъгин, уж сигурен, замина и той. Сега се надявам нещата да се подобрят. Уж няма променени файлове, но човек никога не знае.
Ако инфекцията пак се появи, ще трябва да правя едно от тези две неща:
- Пълна преинсталация на WordPress, като се импортира само и единствено съдържанието на блога, без никакъв код. Това не е правено поне пет години, така че може и да му е време. Със сигурност ще загубя това/онова, но не мисля, че ще е неприемлива загуба.
-
Архивиране на блога и започване на чисто. Не ми се вярва да стигна до там, защото има изключително полезни неща.
-
Проучване дали може ли да се сложи “write protection” на wp_posts и още някоя и друга таблици, който write protection да се маха само, когато знам че аз пиша по тях.
Чудя се още, какво следва. Много неприятна ситуация, че и се повтаря. Ако не е някой пробит плъгин, не знам какво друго да си мисля!