Отново 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 да се маха само, когато знам че аз пиша по тях.

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

Milestone Systems is Looking for Vendor(s)

I rarely use my blog as a platform to find partners or recruit people in my team. However, it happens from time to time, and today is one example for that.

milestone-logo_tagOur mother company, Milestone Systems A/S, is rapidly expanding in a growing markets! In order to cope with the current demands, we are now are in an urgent need of a vendor(s) in Bulgaria, which can provide us with development and test services, delivered by his consultants, within the following areas:

  • Web developer(s) – with skill set: 3+ years of web development experience, strong JavaScript skills, new elements introduced in HTML5, XML, WebSockets, File API, History management, Local Storage, and Canvas 2D drawing.
  • Software QA(s) – with skill set: 3+ years’ experience, manual/functional testing, multiplatform products (e.g. Linux, Windows, iOS, and Android), TCP/IP, HTTP, XML and Web Browser-based testing.
  • Senior C++ developer(s) – with skill set: C++ (large scale multithreading environments), multiplatform product development, TCP/IP, HTTP, design patterns.

Sufficient/Good English skills is a requirement due to cross-country team. We foresee a growing need for additional consultants in Q4 2013/Q1 2014.

All candidates will work at our Sofia office, located on 23A Dragan Tzankov blvd., Sofia. We will provide all necessary tools and infrastructure.

If you or others in your network know of good vendors or consultants, or a company which can provide them, please contact me at DAA-at-MILESTONESYS-dot-COM, or via comment in this blog, or directly, if you know my contacts. Detailed Job Description documents can be provided on demand. All vendor consultants will pass an interview(s) within our development and test teams in order to ensure they skills and expertise are suitable for the projects in mind.