WordPress 2.8.4 е уязвим! от Casper

15.10.20090 Коментара

Вече съм сигурен, че WordPress 2.8.4 е податлив на SQL injection. Вчера, докато си преглеждах новите публикации из блоговете, които съм си добавил в Google Reader, забелязах нещо много интересно. Незнайно как в предпоследния пост на блог, който поддържам, се беше появил странен линк с руски текст – хехе, сещате се. В самият сайт това не се виждаше, но ето какво се беше намъкнало из кода на публикацията…

SQL injection

Умишлено съм го боднал в картинка. Познато, нали? Същите руски спамери на нов глас. Но сега ще ви кажа и най-интересното – откъде всъщност започнах да подозирам, че нещо не е както трябва…

Екплойтът е „умен“ и освен, че инжектира скрит код, допълнително променя месеца в датата на публикуване. В конкретният случай от септември на януари 2009 година. По този начин публикацията заминава назад в архивите и никой няма и да се сети да погледне… Добре стана, че се уцели предпоследен пост, та захапах за какво става дума. Бедна ми е фантазията, колко точно блогове са „почерпени“ с този бонус код, но до следващата stable версия на WordPress ще съм нащрек!

Има много начини да проверите дали са ви набутали нежелан код. Един от тях е да пуснете директни SELECT заявки, през phpMyAdmin или някакъв друг mySQL клиент, към таблицата с публикациите (по подразбиране wp_posts, ако не сте сложили друг префикс, както аз предвидливо направих в началото).

Примерна заявка:

SELECT * FROM wp_posts WHERE post_content LIKE '%<iframe%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<noscript%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%display:%'

Друг начин е да експортирате wp_posts таблицата и да действате по метода Find & Replace с любим текстов/код редактор. За големи бази не препоръчвам стандартния Notepad, защото има проблеми с по-големи текстови файлове (Това май можеше да се оправи?!).

Трети начин е да ползвате WordPress плъгин за целта. Search and Replace ще ви свърши добра работа. Атанас Янев вече го е препоръчвал и е с добри впечатления от него.

Други материали, които е добре да прегледате

WordPress 2.8.2 от Casper

WordPress 2.8.2

Открита Cross-site scripting (XSS) уязвимост в последния WordPress, форсира пускането на пачната версия 2.8.2, която както обичам често да казвам, ще ви помогне да бъдете с една идея по-спокойни. Проблемът не е малък и най-общо казано, може да позволи да бъдете пренасочени от администраторския панел към алтернативен сайт. Обновете до WordPress 2.8.2, като ако смятате, че имате нестабилен нет, по-добре се ориентирайте към offline (FTP) ъпдейт. Не забравяйте да си направите резервно копие на базата преди да предприемете нещо такова. Това е и първия път, когато използвам вградената функция за обновяване в този блог. В WordPress 2.8, се … още »

Великата чистка на акаунти от Casper

Великата чистка на акаунти

От много време, регистрацията в този блог е спряна. Спомням си, че предприех тази стъпка, основно в борбата си със спам ботовете, пък и не съм имал планове да развивам multi-author блог или нещо подобно. Въпреки това, Blog.Caspie.Net си стоеше месеци наред с близо 40 регистрирани потребителя. До днес… Помислих и реших, че е безсмислено в базата на блога да има акаунти, които не са обвързани с никакви действия (публикации, коментари, връзки) и няма никакъв изглед, че ще бъдат използвани и в бъдеще. Ако някой (от изтритите) реши, че е ощетен по някакъв начин, нека се свърже с … още »

WordPress 2.8.1 от Casper

WordPress 2.8.1

Изненадващата поява на WordPress 2.8.1 ми създаде няколко минути допълнителна работа по обновяването на няколко блога. Всичко мина гладко и с усмивка мога да ви споделя, че и двата основни начина за ъпгрейд, автоматичен и през FTP, работят както трябва. Най-съществената промяна в 2.8.1 е оптимизирания администраторски панел и по-конкретно намаления разход на памет. Ще ви дам бърз пример. В момента, този блог е с 20 активирани разширения. Според WP-Memory-Usage, зареждането на Таблото (Dashboard) под WordPress 2.8 консумираше почти 29 MB памет или 45% от заделените 64 MB. Стойностите в 2.8.1 са далеч по-приятни, съответно 25 MB или … още »

WordPress 2.8.1 RC 1 от Casper

WordPress 2.8.1 RC 1

Последната спирка преди финална 2.8.1 версия е release candidate 1. Ако сте обновили от Beta 2 към RC 1 и сте се чудели, защо версията в Таблото (Dashboard) не се е променила, не се стряскайте. Просто някой беше забравил да Bump-не версиите в trunk-а. Днес всичко изглежда наред. Пуснете още един Tools → Upgrade. Все още няма пускова дата за WordPress 2.8.1, но при положение, че имаме RC, тази дата наближава. Промените след Beta 2 разгледайте тук. Силно впечатление прави изключването на синтактичното оцветяване на theme и plugin редакторите – CodePress. Вземете участие в запитването: WordPress 2.9 Media … още »

WordPress 2.8.1 Beta 2 от Casper

WordPress 2.8.1 Beta 2

Плътната програма през почивните дни и спряния достъп до Интернет ми попречиха да обявя навреме WordPress 2.8.1 Beta 2 от 26 юни 2009 г. За всички вас, които следите изкъсо развитието на WordPress, предлагам да прегледате промените от първата бета на 2.8.1 насам. В публикацията на dev блога се споменава, че е препоръчително авторите на разширения (plugins) да тестват творбите си с новата Beta 2 и да пуснат по една обратна връзка при забелязани проблеми. Отличителни промени в Beta 2: Translation of role names fixed wp_page_menu() defaults to sorting by the user specified menu order rather than the … още »