Tanımı
Türkçe karşılığı Sunucu Taraflı İstek Sahteciliği olan bu zafiyet, en basit tabirle saldırganın bir sunucuyu kendisi adına istekte bulunmaya zorlamasına dayanan bir güvenlik açığıdır. SSRF, saldırgana bu güvenlik açığını barındıran sunucudan istek oluşturması veya buradan gelen istekleri kontrol edebilmesi için web uygulamasındaki bir parametreyi değiştirmesine izin verir.
Etkileri
- Zafiyeti barındıran sunucu ile diğerleri arasındaki güven ilişkisi kötüye kullanılabilir.
- IP kontrolü atlatılabilir.
- Sunucunun bağlı olduğu yerel ağ taranabilir.
- Sunucuda bulunan dosyalar okunabilir.
- Host tabanlı kimlik doğrulama servisleri atlatılabilir.
- Uzaktan kod çalıştırılabilir.
- Başka sunuculara DOS saldırısı düzenlenebilir.
- Cloudflare vb. hizmetler bypass edilebilir.
Tespiti
Netsparker-Hawk kullanılabilir. Harici bir kaynağa istekte bulunan girdi noktaları tespit edilip manuel şekilde denemeler yapılabilir.
İstismarı
Örneğin, zafiyetin bulunduğu girdi noktasına file:///etc/passwd değeri girilirse “passwd” dosyası okunabilir. Ya da örneğin bir geliştirici başka bir kaynaktaki akışı almak için https://site.com/feed.php?url=externalsite.com/feed/ gibi bir URL kullanıyor olsun. Eğer bu “url” parametresine “localhost” değeri verilirse sunucu üzerindeki yerel kaynaklara ulaşılabilir.
Önlemler
- Web sunucusunun uzak kaynakları çağırmasına izin verilen domain ve protokoller için whitelist yöntemi uygulanmalıdır.
- Kullanıcı girdisi, sunucu adına istekte bulunabilecek işlevlerde filtrelenmeden kullanılmamalı. Yahut bu işlevlerde kullanıcı girişine izin verilmemeli.