Категорія: Security
Вектор Script Injection атаки
Марк Кругер (Mark Kruger) знову робить корисну справу: досліджує можливість проведення Script Injection атаки через завантаження (upload) шкідливого скрипта.
Він розглядає послідовність кроків для "обману" скрипта завантаження, котрий хоч і проводить перевірку даних, але має розповсюджену вразливість, на котру рідко звертають увагу: завантаження відразу відбувається в публічно доступну директорію. Завдяки затримкам між етапами обробки є можливість виконати шкідливий скрипт до того, як його буде видалено.
Також приводяться кілька порад (здавалося б, очевидних для досвідченого розробника) щодо покращення загальної безпеки ресурсів з можливістю завантаження файлів користувачами.
Про все це дещо докладніше в Script Injection Attack: Smoking Gun?
Найбільшою проблемою дослідження наслідків такої атаки є труднощі з ідентифікацією шкідливих скриптів, адже вони вже не існують пост-фактум. Особисто я використовую два обробники помилок 404 в Application.cfc: один слугує для запису помилок, перенапрямлених з веб-серверу (фейкова сторінка 404.cfm), інший -- для заптів до недозволених cfm-сторінок (дозволені зазвичай index.cfm та wsdl.cfm - для веб-сервісів). Це дає деяку інформацію у випадку спроб дослідження додатку через навмисні запити до неіснуючих сторінок.
Cumulative Hot Fix 3 for ColdFusion 8.0.1
Вчора було випущено оновлення CHF 3 for ColdFusion 8.0.1, призначене спеціально для цієї версії. Більше того, Adobe рекомендує використовувати це оновлення тільки у тому випадку, якщо вам заважають виправлені недоліки.
Хотфікс від Adobe для FCKEditor (APSB09-09)
Не пройшло й тижня від моменту публікації про вразливість, але Adobe розродилася швиденьким хотфіксом.
При тому всьому визнала вразливість критичною та опублікувала розлоге пояснення своєї позиції з питання.
Так чи інакше, варто скористатися нагодою та оновитися: hotfix for potential ColdFusion 8 input sanitization issue.
Вразливість у FCKeditor для ColdFusion 8.0.1
Серйозну вразливість було знайдено в FCKeditor, а конкретно в CF-конекторі для завантаження файлів.
Справа в тому, що в CF 8.0.1 він увімкнутий за умовчанням, що може бути використано для завантаження .cfm (а також .asp, що ) скриптів, що було описано в нещодавному повідомленні.
Тому дуже рекомендується вжити запобіжних заходів, від вимкнення конектора в налаштуваннях і до видалення завантажувача файлів, якщо ним не користуєтеся. Бо кілька сайтів вже було скомпроментовано.
Більше інформації та рекомендаці можна знайти в наступних повідомленнях:
CF8 and FCKEditor Security threat
ColdFusion 8 FCKeditor Vulnerability
Potential ColdFusion security issue (офіційна нота від Adobe з обіцянкою виправити проблему).
Підміна MIME типу при завантаженні .cfm файлів на сервер
Днями прокотилася хвиля серйозних порушень роботи сайтів та навіть цілих ColdFusion серверів, пов'язана з використанням вразливості, коли підміна MIME типу завантажуваного файлу дозволяла залити .cfm скрипт та виконати його.
Ось простий приклад як це можна зробити:
<cfhttp url="http://target.example.com/upload" method="post">
<cfhttpparam file="#ExpandPath("badstuff.cfm")#"
mimetype="image/gif"
type="file"
name="photo">
</cfhttp>
Така проста конструкція легко дозволяє обійти вбудовану перевірку типу:
<cffile action="upload"
filefield="photo"
accept="image/gif,image/jpeg"
destination="#ExpandPath("./photos/")#">
Приклади було взято з посту Піта Фрейтаґа (Pete Freitag), в якому він наводить рекомендації щодо захисту від подібних атак.
Зокрема, можна використати вбудовані функції IsImageFile("path") (з урахуванням вже описаної проблеми) та IsPDFFile("path"), використовувати окремий сервер (простіше кажучи, окремий домен - скажімо з nginx - для швидкодії) для статичного вмісту (як то Amazon S3), користуватися можливостями Sandboxing (якщо у вас CF Enterise), відключати можливість виконання скриптів для тек завантаження та іншими методиками.
Ці та інші поради описані у вищевказаному повідомленні, також варто звернути увагу на коментарі до нього, там теж є слушні поради.
Також варто звернути увагу на аналогічне повідомлення Брента Фрая (Brent Frye), котрий зазнав серйозних неприємностей через описану проблему, тому теж уклав список порад для її обходу.
Проблема при обробці деяких JPG-малюнків в ColdFusion 8
Марк Кругер (Mark Kruger) нещодавно опублікував докладне пояснення ситуації, коли за деяких умов спроба обробки JPG-малюнків змушувало перезавантажуватися JVM, з відповідними наслідками для ColdFusion.
Проблема виявилася в некоректній обробці JPG "ICC" профілі в javax.imageio класах з JVM версії 1.6.0_04. Тому, хто раптом має цю версію, варто оновитися, проблему було вирішено вже в наступній збірці (після того вже було ще декілька).
Дізнатися докладніше про суть проблеми та знайти тестові JPG-файли для компроментації можна в оригінальному пості Марка.