CRLF Tabanlı Injection Türleri

Hor0z

Yeni üye
11 Mar 2023
6
3

fq4c3a7.png

CRLF NEDİR ?

carriage return(CR) ve line feed(LF) karakterlerinin kısaltılmış hali CRLF’dir.

CR ve LF, işletim sistemlerinde ve HTTP dahil İnternet protokollerinde bir satırın sonunu belirtmek için (birlikte veya ayrı ayrı) kullanılır.

CRLF INJECTION NEDİR ?

Saldırgan, bir CRLF Injection saldırısında sunucuyu, web uygulamasını ya da kullanıcıyı bir nesnenin sonlandığı diğerinin ise

başladığı yönünde kandırmak için kullanıcı input’una CR(carrige return), LF(line feed) karakterlerini ya da ikisini birlikte girer.

Bu karakterler zararlı değildir ancak yanlış kullanımları HTTP response splitting ve diğer kötü amaçlı faaliyetlere yol açabilir.

KULLANIM AMAÇLARI :


CRLF injection’un iki kötü amaçlı kullanımı vardır: log injection ve HTTP response splitting.

Ayrıca saldırganlar, başta cross-site scripting (XSS) olmak üzere diğer türdeki güvenlik açıklarına geçmek için CRLF injection açığını kullanabilir.

LOG INJECTION


Saldırgan,günlük dosyasına sahte giriş ekleyerek adminlerin kafasını karıştırmak için

CRLF karakterlerini web sunucusu günlük dosyalarına enjekte eder.

örnek :

Apache gibi birçok web sunucusu NCSA Ortak Günlük Formatını kullanır. Ortak Günlük Formatı girişlerinin formatı her zaman aynıdır:

host ident authuser date request status bytes

örneğin hedef site şu olsun :

günlük girişi şu şekilde görünecektir :

123.123.123.123 - - [01/May/2024:12:38:50 +0100] "GET /example.php?id=3 HTTP/1.0" 200 984

url kısmına +%20HTTP%2F1.0%22%20200%20984%0A%0A10.0.23.30%20%20admin%20%5B01%2FMay%2F2024%3A12%3A38%3A50%20%2B0100%5D%20%22GET%20%2Fadmin.php%3Fuserid%3D12

eklediğimiz zaman (url decoder/encoder yardımıyla düzenleyebilirsiniz.)

günlük girişi şu şekilde görünücektir :

123.123.123.123 - - [01/May/2024:12:38:50 +0100] "GET /example.php?id=3 HTTP/1.0" 200 984

10.0.23.30 admin [01/May/2024:12:38:50 +0100] "GET /admin.php?userid=12 HTTP/1.0" 200 984


HTTP RESPONSE SPLITTING


Bir saldırgan, HTTP yanıt başlığının ve yanıt gövdesinin CRLF karakterleri ile ayrılmasından dolayı buraya bir enjeksiyon yapmayı deneyebilir.

saldırgan CRLF dizisini bir yanıt başlığına yerleştirmeyi başarırsa, ardışık yanıt içeriğini etkili bir şekilde manipüle edebilir.

Bu tür manipülasyonlar ciddi güvenlik sorunlarına, özellikle de Cross-site Scripting (XSS) sorunlarına yol açabilir.

HTTP RESPONSE SPLITTING TO XSS

Örnek olarak, isteğe bağlı bir header set eden bir uygulama hayal edelim:

X-Custom-Header: UserInput

Yukarıdaki header’ın aldığı değer “user_input” adındaki GET parametresine set edilir. Eğer URL encoding işlemi uygulanmamışsa ve değer direkt olarak

header’a yansıtılıyorsa bir saldırganın daha önce bahsedilen CRLFCRLF kombinasyonunu araya ekleyerek tarayıcıya istek body’sinin başladığını

söylemesi mümkün hale gelir. Bu şekilde XSS payload’u gibi verilerin eklenebilmesi kaçınılmaz olur. Örneğin:

?user_input=Value%0d%0a%0d%0a<script>alert('XSS')</script>


HTTP HEADER INJECTION

Bir saldırgan, CRLF injection açığını suistimal ederek ayrıca tarayıcıların SOP(Same Origin Policy) ya da XSS filtreleri gibi güvenlik mekanizmalarını

bertaraf edebilen HTTP header’larını enjekte edebilir. Bunun sonucunda saldırgan CSRF token'ları gibi hassas bilgilere erişme imkanı elde eder.

Bunun yanı sıra saldırgan, suistimale açık olmayan Cross Site Scripting (XSS) açıklarını exploit ederek ya da cookie'leri set ederek kurbanın,

saldırganın kendi belirlediği bir hesap olarak siteye giriş yapmasını sağlayabilir.

örnek :

Bir saldırgan, CORS'u (Cross Origin Resource Sharing) etkinleştirmek için HTTP headerlarını enjekte edebilir ve farklı originlerdeki sitelerin birbirlerine erişimini

kısıtlayan SOP(Same Origin Policy) tarafından uygulanan kısıtlamaları atlayabilir. Bu ihlal, kötü amaçlı kökenlerden gelen betiklerin farklı bir kökenden

kaynaklarla etkileşime girmesine olanak tanır ve korunan verilere erişebilir.

 

EX

Moderatör
29 Mar 2020
1,909
5
1,249
Eline emeğine sağlık. Güzel konu olmuş. :)
 

ACE Veen

Uzman üye
4 Şub 2023
1,128
5
569
Belirsiz

fq4c3a7.png

CRLF NEDİR ?

carriage return(CR) ve line feed(LF) karakterlerinin kısaltılmış hali CRLF’dir.

CR ve LF, işletim sistemlerinde ve HTTP dahil İnternet protokollerinde bir satırın sonunu belirtmek için (birlikte veya ayrı ayrı) kullanılır.

CRLF INJECTION NEDİR ?

Saldırgan, bir CRLF Injection saldırısında sunucuyu, web uygulamasını ya da kullanıcıyı bir nesnenin sonlandığı diğerinin ise

başladığı yönünde kandırmak için kullanıcı input’una CR(carrige return), LF(line feed) karakterlerini ya da ikisini birlikte girer.

Bu karakterler zararlı değildir ancak yanlış kullanımları HTTP response splitting ve diğer kötü amaçlı faaliyetlere yol açabilir.

KULLANIM AMAÇLARI :


CRLF injection’un iki kötü amaçlı kullanımı vardır: log injection ve HTTP response splitting.

Ayrıca saldırganlar, başta cross-site scripting (XSS) olmak üzere diğer türdeki güvenlik açıklarına geçmek için CRLF injection açığını kullanabilir.

LOG INJECTION


Saldırgan,günlük dosyasına sahte giriş ekleyerek adminlerin kafasını karıştırmak için

CRLF karakterlerini web sunucusu günlük dosyalarına enjekte eder.

örnek :

Apache gibi birçok web sunucusu NCSA Ortak Günlük Formatını kullanır. Ortak Günlük Formatı girişlerinin formatı her zaman aynıdır:

host ident authuser date request status bytes

örneğin hedef site şu olsun :

günlük girişi şu şekilde görünecektir :

123.123.123.123 - - [01/May/2024:12:38:50 +0100] "GET /example.php?id=3 HTTP/1.0" 200 984

url kısmına +%20HTTP%2F1.0%22%20200%20984%0A%0A10.0.23.30%20%20admin%20%5B01%2FMay%2F2024%3A12%3A38%3A50%20%2B0100%5D%20%22GET%20%2Fadmin.php%3Fuserid%3D12

eklediğimiz zaman (url decoder/encoder yardımıyla düzenleyebilirsiniz.)

günlük girişi şu şekilde görünücektir :

123.123.123.123 - - [01/May/2024:12:38:50 +0100] "GET /example.php?id=3 HTTP/1.0" 200 984

10.0.23.30 admin [01/May/2024:12:38:50 +0100] "GET /admin.php?userid=12 HTTP/1.0" 200 984


HTTP RESPONSE SPLITTING


Bir saldırgan, HTTP yanıt başlığının ve yanıt gövdesinin CRLF karakterleri ile ayrılmasından dolayı buraya bir enjeksiyon yapmayı deneyebilir.

saldırgan CRLF dizisini bir yanıt başlığına yerleştirmeyi başarırsa, ardışık yanıt içeriğini etkili bir şekilde manipüle edebilir.

Bu tür manipülasyonlar ciddi güvenlik sorunlarına, özellikle de Cross-site Scripting (XSS) sorunlarına yol açabilir.

HTTP RESPONSE SPLITTING TO XSS

Örnek olarak, isteğe bağlı bir header set eden bir uygulama hayal edelim:

X-Custom-Header: UserInput

Yukarıdaki header’ın aldığı değer “user_input” adındaki GET parametresine set edilir. Eğer URL encoding işlemi uygulanmamışsa ve değer direkt olarak

header’a yansıtılıyorsa bir saldırganın daha önce bahsedilen CRLFCRLF kombinasyonunu araya ekleyerek tarayıcıya istek body’sinin başladığını

söylemesi mümkün hale gelir. Bu şekilde XSS payload’u gibi verilerin eklenebilmesi kaçınılmaz olur. Örneğin:

?user_input=Value%0d%0a%0d%0a<script>alert('XSS')</script>


HTTP HEADER INJECTION

Bir saldırgan, CRLF injection açığını suistimal ederek ayrıca tarayıcıların SOP(Same Origin Policy) ya da XSS filtreleri gibi güvenlik mekanizmalarını

bertaraf edebilen HTTP header’larını enjekte edebilir. Bunun sonucunda saldırgan CSRF token'ları gibi hassas bilgilere erişme imkanı elde eder.

Bunun yanı sıra saldırgan, suistimale açık olmayan Cross Site Scripting (XSS) açıklarını exploit ederek ya da cookie'leri set ederek kurbanın,

saldırganın kendi belirlediği bir hesap olarak siteye giriş yapmasını sağlayabilir.

örnek :

Bir saldırgan, CORS'u (Cross Origin Resource Sharing) etkinleştirmek için HTTP headerlarını enjekte edebilir ve farklı originlerdeki sitelerin birbirlerine erişimini

kısıtlayan SOP(Same Origin Policy) tarafından uygulanan kısıtlamaları atlayabilir. Bu ihlal, kötü amaçlı kökenlerden gelen betiklerin farklı bir kökenden

kaynaklarla etkileşime girmesine olanak tanır ve korunan verilere erişebilir.

eline sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.