Небезпечна вразливість у Wordpress версії 4.2 і нижче
У CMS Wordpress знайдена небезпечна XSS вразливість системи коментарів. Вразливість дозволяє зловмиснику запровадити JavaScript у коментарі Wordpress. Вразливості піддається CMS Wordpress версії 4.2, 4.1.3, 4.1.2, 4.1.1, 3.9.3 і нижче.
XSS вразливість системи коментарів Wordpress
Вразливість була виявлена Jouko Pynnönen і вся детальна інформація опублікована на сайті klikki.fi. Знайдена XSS вразливість дозволяє зловмисникові виконувати JavaScript, використовуючи форму коментування в CMS WordPress.
Суть вразливості полягає у тому, що стандартні коментарі у Wordpress в таблиці БД використовують тип TEXT, у якому може зберігається 64 КБ даних. При додаванні коментаря більше 64 КБ MySQL обрізає залишок тексту коментаря, таким чином, що виводяться лише перші 65 тис. Символів. Ця лазівка дозволяє додати коментар на сайт Wordpress з перевіркою на валідність але при обрізанні останньої частини коментаря його вміст стає небезпечним для виведення, так як може містити нефільтрований код JavaScript.
На своєму сайті Jouko Pynnönen пише, що вразливість небезпечна при перегляді такого коментаря адміністратором сайту, так, після перегляду коментаря адміністратором, зловмисник може використовувати вразливість для виконання довільного коду на стороні сервера сайту, використовуючи редактор тем або плагінів. Таким чином, за допомогою цієї вразливості зловмисник може змінювати пароль адміністратора, створювати нові облікові записи адміністратора і, відповідно, робити все, що може робити авторизований адміністратор сайту.
Як доказ вразливості автор пропонує ввести код у коментарі Wordress:
<a title='x onmouseover=alert(unescape(/hello%20world/.source)) style=position:absolute;left:0;top:0;width:5000px;height:5000px AAAAAAAAAAAA...[64 kb]..AAA'></a>
А в демо-ролику на своєму сайті Jouko показав, як він використовував цю вразливість у коментарях для того, щоб залити shell-скрипт у директорію сайту на Wordpress:
Рішення XSS вразливості коментарів у Wordpress
Команда Wordpress 27 квітня випустила патч безпеки 4.2.1 (WordPress 4.2.1 Security Release 27.04.2015), де ця вразливість усунута. Якщо Ваш сайт на Wordpress ще не оновився автоматично до актуальної версії, то ми вкрай рекомендуємо зробити це самостійно для усунення небезпечної вразливості.
До появи оновлення від команди Wordpress Jouko Pynnönen радив не схвалювати коментарі і відключити коментарі повністю.
Як перевірити XSS вразливість системи коментарів Wordpress
Перевірити чи є у Вас коментарі більше 65 тис. символів можна у phpMyAdmin, виконавши SQL-запит у базі даних сайту на Wordpress:
SELECT comment_ID FROM wp_comments WHERE LENGTH(comment_content) >= 65535;
MySQL поверне або порожній результат або відобразить id коментарів, які більше 65 тис. символів і можуть бути потенційно небезпечними. Можна вивчити коментар і з'ясувати, що зловмисник хотів зробити цим коментарем на сайті.
Як не пропускати небезпечні коментарі у Wordpress
Для того, щоб не пропускати небезпечні коментарі у Wordpress можна додати невеликий код, який виконує перевірку на довжину тексту коментаря і не пропускає довгі коментарі у Wordpress. Код необхідно додати в файл functions.php Вашої Wordpress теми (/www/ваш-сайт/wp-content/themes/ваша-тема/functions.php) в самий кінець файлу перед символами "?>"
/* BEGIN XSS 64WP COMMENT PROTECTION *///////////////
add_filter( 'pre_comment_content', 'xss_comment_64kb_protection');
function xss_comment_64kb_protection( $content ) {
if ( strlen( $content ) > 64000 ) {
wp_die( 'Comment is too long!' );
}
return $content;
}
/* END XSS 64WP COMMENT PROTECTION *///////////////
Останні новини
Знижка на всі домени України до 21.10.2022!
Шановні користувачі! Цілий тиждень у нас знижка -15% на реєстрацію всіх українських доменів за промокодом defendersday22!Подорожчання низки українських доменів UA ccTLD!
Шановні користувачі! З 1 жовтня 2022 року на нас чекає подорожчання низки українських доменів - in.ua, od.ua, mk.ua!Важливі зміни у роботі низки українських доменів!
Шановні користувачі! У деяких українських доменних зонах збільшено термін періоду Redemption з 30 до 60 днів.Подорожчання виділених IP-адрес (IPv4) у Німеччині!
Шановні користувачі! У Німеччині істотно подорожчали додаткові виділені IP-адреси (IPv4) та IP-мережі.Останні записи з блогу