Використання захисних механізмів для блокування доступу до сайта
22:47 31.08.2010В своїй статті Неякісне використання MD5 у веб додатках я розповів про некоректне використання захисних механізмів, що призводить до уразливостей у веб додатках. У даній статті (що я планував написати з початку 2009) я роповім про інший приклад неякісного використання захисних механізмів, що дозволяє атакувати користувачів та адмінів сайтів.
Зловживання захисними механізмами.
Існує такий метод захисту як блокування (воно може бути зроблене по IP або іншим параметрам). І всі захисні механізми, що використовують автоматичне блокування, можуть бути використані проти користувачів та адмінів сайтів (і навіть ботів пошукових машин). Тобто можлива атака на захисні механізми сайта (на вбудований захист чи на WAF) з метою блокування доступу до сайта.
Заступ може бути заблокований як до акаунта користувача, так і до всього сайта. Тому можливо змусити сайт заблокувати користувачів, що призведе до DoS для кожного атакованого користувача і з великою кількістю заблокованих користувачів це призведе до DoS самого сайта (навіть без проведення DDoS атаки), тому що більшість користувачів не зможуть відвідати сайт.
Це інша версія зворотньої DDoS атаки (reverse DDoS attack) про яку я писав в 2008. Якщо в тому випадку атака вібдувалася на браузери користувачів сайта, то в даному випадку атака відбувається на захисні механізми сайта (від імені відвідувачів сайта).
Можливі наступні атаки:
- Атаки для блокування аккаунтів при некоректних логінах.
- Атаки на вбудовані захисні механізми (вбудовані IPS) з блокуванням.
- Атаки на WAF з включеним блокуванням.
- Атаки для блокування ботів пошукових систем.
Атаки на вбудовані IPS та WAF є більш небезпечними ніж атаки на логін форми, тому що вони призводять до блокування доступу до всього сайта і можуть бути використані не тільки для блокування користувачів та адмінів сайтів, але також і ботів пошукових систем.
Атаки для блокування аккаунтів при некоректних логінах.
Існують такі веб додатки (наприклад, форуми та інші движки), що використовують автоматичне блокування як захист від Brute Force атак на логін форми. Якщо логіни відомі (а я багато разів присав про численні Information Leakages у веб додатках, що призводять до витоку логінів), то можна заблокувати всі дані акаунти.
Це робиться шляхом введення коректного логіна і некоректного пароля (стільки разів, скільки треба для перевищення порогу блокувальної системи). Я бачив такі веб додатки (зокрема форумні движки) і такі атаки на них в своїй практиці. Це відома проблема для секюріті співтовариства, але все ще незрозуміла для веб розробників.
Атаки на вбудовані захисні механізми (вбудовані IPS) з блокуванням.
Існують сайти з вбудованими захисними механізмами з блокуванням і вони можуть бути атакованими з використанням даного методу. В 2009 я знайшов такий сайт як www.4post.com.ua, де серед інших уразливостей була Abuse of Functionality дірка (в захисному функціоналі, що блокував доступ при одному спеціальному запиті до сайта), що дозволяла проводити блокування користувачів та адмінів сайта.
Також я описав метод обходу блокування на даному сайті. Будь-який адмін чи користувача даного сайта, чи бот, що відвідав його, який не знає даного методу обходу, не будет мати доступу до всього сайта після проведення даної атакиk.
Так що з простою CSRF атакою (такою як GET запит через тег img) на користувачів сайта, можливо заблокувати повний доступ до сайта для користувачів і навіть адмінів сайта. Нижчезгадане блокування ботів пошукових систем також можливе на цьому сайті.
Атаки на WAF з включеним блокуванням.
Існують сайти з WAF з включеним блокуванням і вони також можуть бути атакованими з використанням даного методу. Я бачив такі сайти в своїй практиці, що використовують WAF (зокрема ModSecurity) та повністю блокують відвідувача (по IP) після декількох підозрілих запитів. Так що ламерські WAFи з такими налаштуваннями можуть бути використані проти користувачів та адмінів сайтів з ними.
З декількома простими CSRF атаками (повинно бути стільки атак, скільки треба для перевищення порогу WAF) на користувачів сайта, можливо заблокувати повний доступ до сайта для користувачів та адмінів сайта. Нижчезгадане блокування ботів пошукових систем також можливе на таких сайтах.
Атаки для блокування ботів пошукових систем.
Також можна заблокувати ботів (павуків) пошукових систем за допомогою даної атаки. Якщо зробити спеціальну лінку на іншому сайті що веде на цільовий сайт (і лінка містить необхідні параметри для включення блокування), тоді боти пошуковий систем перейдуть по даній лінці. І після відвідання цільового сайта бот буде заблокований (по IP, якщо блокування відбувається по IP, чи по сесії, якщо блокування відбуваєтьмся по сесії і бот підтримує обробку сесій). Що призведе до того, що сайт не буде проіндексований пошуковими системами і він випаде з індексів пошукових систем.