Капчі повинні захищати веб сайти від автоматизованих запитів. Але як я показав в своєму проекті Month of Bugs in Captchas, вони з цим погано справляються, через численні Insufficient Anti-automation уразливості, що дозволяють обходити капчі. Окрім цього, капчі можуть призвести до DoS атак на сайти.
DoS атаки через капчі можуть відбуватися через SQL Injection уразливості (що також дозволяють проводити DoS атаки) та Denial of Service уразливості. Капчі, як і будь-які веб додатки, можуть мати різні уразливості, зокрема SQL Injection та Denial of Service, що можуть призвести до DoS атак. І раніше я вже писав про подібні уразливості в капчі для Nucleus, CapCC для WordPress та CaptchaSecurityImages.
SQL Injection уразливості в капчах.
Існує капча для Nucleus. В даній капчі для Nucleus є Full path disclosure, SQL DB Structure Extraction, SQL Injection, Cross-Site Scripting та Insufficient Anti-automation уразливості. Зокрема через SQL Injection можна провести DoS атаку.
DoS (через SQL Injection):
В проекті MoBiC я розповідав як провести Insufficient Anti-automation атаку через дану SQL ін’єкцію. Для проведення DoS атаки замість раніше наведеного потрібно використати наступний код (чим більший benchmark, тим довше триває атака):
<input type="hidden" name="code" value="1" />
<input type="hidden" name="myid" value="-1 and benchmark(10000000,md5(now()))" />
CapCC - це капча плагін для WordPress. В плагіні CapCC є Insufficient Anti-automation, Cross-Site Request Forgery і SQL Injection уразливості. Зокрема через SQL Injection можна провести DoS атаку.
DoS (через SQL Injection):
Для атаки потрібно відправити POST запит, як показано в моєму експлоіті (чим більший benchmark, тим довше триває атака):
CapCC SQL Injection.html
Всі капчі, що мають SQL Injection уразливості, можуть бути атаковані. Відповідно до класифікації SQL Injection, уразливість в капчі для Nucleus - це Reflected SQL Injection, а уразливість в CapCC - це Persistent SQL Injection.
Denial of Service уразливості в капчах.
CaptchaSecurityImages - це скрипт капчі, що використовується на багатьох веб сайтах та движках. В CaptchaSecurityImages є Insufficient Anti-automation та Denial of Service уразливості. Зокрема через Denial of Service можна провести DoS атаку.
DoS:
http://site/CaptchaSecurityImages.php?width=1000&height=9000
Якщо вказати великі значення width і height, то можна створити велике навантаження на сервер.
Всі капчі, що дозволяють через передані параметри вказувати розміри зображення, можуть бути атаковані. Відповідно до класифікації DoS уразливостей - це DoS перенавантаження.