Web uygulamalarında, kullanıcıdan alınan verilerin düzgün şekilde flltrelenmemesi sonucu oluşan güvenlik açıkları saldırganlar için bir açık kapıdır.
Bu açıklardan biri de CRLF İnjection'dır. CRLF kelimesi, Carrige Return (CR -"\r" ) ve Line Feed (LF - "\n") karakterlerinin birleşiminden gelir. http protokolü, bu karakter çiftini header'ların sonunu ve body'nin başlangıcını ayırmak için kullanır.
Normalde kullanıcıların header'e müdahale etmesi imkansızdır. Ancak uygulama, kullanıcı verilerini doğrudan HTTP yanıtına yazarsa ve bu veriler içerisinde ""%0d%0a" gibi özel karakterler varsa, saldırgan sunucu cevabını kendi isteğine göre bölebilir veya değiştirebilir. İşte bu yöntemle saldırgan; sahte cookie ekleyebilir, response başlıklarını manipüle edebilir ya da kullanıcıyı zararlı sitelere yönlendirebilir. Bu tekniğe CRLF İnjection denir.
Geliştiriciler, kullacıdan gelen girdiyi HTTP response header'larına yazarken filtreleme yapmazsa bu açık oluşur. En çok şuralarda görülür:
- URL tabanlı yönlendirmelerde
- Dil veya tema gibi seçeneklerin URL parametresine yazıldığı sistemlerde
- Cookie işlemlerinde
- Log dosyalarına veri yazılırken
Crlf açığı saldırgana şu kapıları açar:
- Yeni HTTP header'ları enjekte etmek
- Sahte Cookie yazmak
- Sahte yönlendirmelerle kullanıcıyı düşürmek (phishing)
- XSS öncesi ortam hazırlamak
-Log Poisoning ile sistem kayıtlarını manipüle etmek
Bu payload, sunucuya doğru şekilde yerleştirilirse, "Set-Cookie: admin=true" gibi bir yeni header eklenmiş olur. Tarayıcı da bu sahte cookie'yi yerleştirir
Bu açıklardan biri de CRLF İnjection'dır. CRLF kelimesi, Carrige Return (CR -"\r" ) ve Line Feed (LF - "\n") karakterlerinin birleşiminden gelir. http protokolü, bu karakter çiftini header'ların sonunu ve body'nin başlangıcını ayırmak için kullanır.
Normalde kullanıcıların header'e müdahale etmesi imkansızdır. Ancak uygulama, kullanıcı verilerini doğrudan HTTP yanıtına yazarsa ve bu veriler içerisinde ""%0d%0a" gibi özel karakterler varsa, saldırgan sunucu cevabını kendi isteğine göre bölebilir veya değiştirebilir. İşte bu yöntemle saldırgan; sahte cookie ekleyebilir, response başlıklarını manipüle edebilir ya da kullanıcıyı zararlı sitelere yönlendirebilir. Bu tekniğe CRLF İnjection denir.
CRLF İnjection Açıkları Hangi Durumlarda Ortaya Çıkar?
Geliştiriciler, kullacıdan gelen girdiyi HTTP response header'larına yazarken filtreleme yapmazsa bu açık oluşur. En çok şuralarda görülür:
- URL tabanlı yönlendirmelerde
- Dil veya tema gibi seçeneklerin URL parametresine yazıldığı sistemlerde
- Cookie işlemlerinde
- Log dosyalarına veri yazılırken
CRLF Açığı Ne İşimize Yarar?
Crlf açığı saldırgana şu kapıları açar:
- Yeni HTTP header'ları enjekte etmek
- Sahte Cookie yazmak
- Sahte yönlendirmelerle kullanıcıyı düşürmek (phishing)
- XSS öncesi ortam hazırlamak
-Log Poisoning ile sistem kayıtlarını manipüle etmek
Payload Örneği
Kod:
https://site.com/page?lang=tr%0d%0aSet-Cookie:%20admin=true
Bu payload, sunucuya doğru şekilde yerleştirilirse, "Set-Cookie: admin=true" gibi bir yeni header eklenmiş olur. Tarayıcı da bu sahte cookie'yi yerleştirir




