Recursive File Include - нове обличчя DoS атак
21:30 24.04.2008Серед різноманітних уразливостей веб додатків є клас Denial of Service. І на сайтах в Інтернеті нерідко можна зустріти DoS уразливості (про подібні я багато разів згадував в себе на сайті). На відміну від DDoS атак (коли ресурс перенавантажується великою кількістю запитів), DoS атаки представляють собою атаки на уразливі веб додатки, що при відповідних умовах можуть призвести до перенавантаження сервера, аж до його повної відмови в обслуговуванні. Тобто атакуються веб додатки, що мають DoS уразливості.
Розповім вам про новий вид Denial of Service уразливостей, що я виявив 03.10.2007 (подібні дірки я зустрічав і раніше, але саме в жовтні 2007 року я взявся за детальне їх дослідження). Це Recursive File Include, що я відніс як підклас класу Denial of Service в класифікації уразливостей.
Recursive File Include - це Local file include уразливість, що використовується для проведення DoS атаки. Тобто це локальне включення файлів (скриптів), що призводить до DoS атаки за рахунок рекурсії, коли файли інклюдяться нескінченно.
Для PHP додатків атака з використанням даної уразливості буде мати наступний вигляд:
http://site/page.php?include=page.php
Як видно з прикладу, веб додаток підключає сам себе (якщо власноруч задати виклик файла з іменем основного веб додатку). Щоб відбулося рекурсивне включення потрібно, щоб параметр з іменем підключаємого файла (в даному випадку це параметр “include”) автоматично передавався усім наступним підключеним веб додаткам. За рахунок нескінченного рекурсивного включення даний запит призведе до перенавантаження сервера.
Приклади DoS уразливостей через Recursive File Include (знайдені мною 03.10.2007).
DoS:
1. http://www.paulscomputerservice.net/index.php?body=index.php
Дана уразливість вже не працює (вона працювала в жовтні, але два дні тому, коли я писав про цю та інші уразливості на www.paulscomputerservice.net, вона вже була виправлена). Але тим не менш вона є гарним прикладом даного типу уразливостей.
2. http://reloader.net.ru/index.php?path=index.php
3. http://www.vc-link.net/index.php?inc=index
Дірку на www.vc-link.net я знайшов ще в 2006 році, але не став приділяти до неї багато уваги. Доки в жовтні 2007 я не згадав про неї, коли проводив дане дослідження.
Recursive File Include може бути як в PHP (Recursive PHP Include), так і в інших мовах (наприклад в ASP). Але, як показали мої дослідження, автоматично рекурсія спрацьовує лише в PHP додатках (повне рекурсивне включення файлів). Тим не менш спеціальним чином можна проводити Recursive File Include атаки й в інших мовах, зокрема в ASP. Recursive PHP Include, Recursive ASP Include та інші рекурсивні включення є різновидами Recursive File Include уразливості.
Дана уразливість становить значну загрозу для веб сайтів, тому розробникам веб додатків варто не допускати подібних уразливостей та більше слідкувати за безпекою власних додатків.
Четвер, 23:36 20.05.2010
You can read this article on English: Recursive File Include - new face of DoS attacks.