Format String

Turk Devilz

Yeni Üye
Katılım
2 May 2014
Mesajlar
131
Tepkime puanı
0
Puanları
0
Format String coderlerin tanıdığı bir açık olmasına rağmen günümüzde çokca bulunmak-
tadır.Çok tehklikeli br açık olup bulunduğunda etkil sonuçlar vermektedir.
Fazla Söze Ne Hacet Diyip Başlıyalım.



Öncelikle arkadaşlar ’’Format String ’’ konusuna girmeden önce ’’Format String’in’’
hangi platformlarda nasıl oluştuğuna değinmek istiyorum.


C’de Java’da C#’da bir uygulamaya başlamadan önce bazı fonksiyonlar kullanılır.
C’de bu fonksiyon ’’main()’’ fonksiyonudur.Ayrıca ’’Format String’i’’ anlatırken
kullanacağım ’’printf()’’fonksiyonudur ve bu fonksiyon ekrana mesaj yazdırılmasını sağlar




Hemen Örneğe Geçelim ;

Kod:
main( )
{
printf(’’Formst Stringe Giriş’’)
}


Farklı özellikleri veri tiplerini uygulama içerisinde belirlemek için de kontrol
karakterleri kullanılır. Her veri için ayrı bir kontrol karakteri kullanılır.


Hemen Örneğe Geçelim ;


Kod:
main( )
{

printf(’’%s %s %ld \\n ,Saat,dakika,saniye ’’)

}

Gördüğünüz gibi printf() fonksiyonu ile ekrana saat,dakika,saniye yazdırırken
%s %s %ld kontrol karakterleride kullandık.

Buraya kadar olanı bir yana bırakarak ’’Format String ’’ Nasıl Meydana Gelir’ geçelim


Kod:
printf(’’%s %s %ld \\n ,Saat,dakika,saniye ’’)

Yukarıdaki örneğin sonucunda Saat,Dakika,Saniye ekrana yansıyacaktır.Buraya kadar normal


Kontrol karakter olmasaydı?

İşte zurnanın zırt dediği yere geldik :)) Kontrol karakterinin olmaması Format String
saldırılarının temelini oluşturur ve kritik bir açık türüdür.


Hemen Örneğimize Geçelim ;

Kod:
#include <stdio.h>
#include <string.h>
main(int *argc, char *argv[]]
{
        char buffer[75];
        strcpy(buffer,argv[1]);
        printf(buffer);
        printf("/n");
        return 0;
}

Evet Arkadaşlar bu örenğimizdeki inputa bir kod girelim

./formatstring Turk Devilz


Not: ./formatstring ’i asla değiştirmeyiniz.


Kodumuzu inputa girdiğimiz zaman bize Turk Devilz çıktısını verecektir.
ve bunu stacka yazacaktır.



Şimdi Arkadaşlar her kullanıcı bizim gibi yaralı olarak kullanayabilir.
yani herkes Turk Devilz gibi çıktıalr vererek stacka eklemez
işte zaten sorunda burada ya normal bir komut değilde zararlı bir komut
çalıştırılırsa olabilecekleri eminim tahmine etmişsinizdir.


Peki Bu Zaralı komutlar Nasıl Çalıştırılır ?

./formatstring %x Stacktan yani Hafızadan veri okur.
./formatstring %s Hafızadaki karakter dizilerini okur.
./formatstring %n Hafızaya Zararlı Kod yazar.



Toparlayacak olursak coderlerin gafletlerinden,uykusuzluklarından :) dolayı
yapmış oldukları hatalar Format Stringi oluşturur.Günümüzde çokca bulunan
kritik bir açık türüdür.Ve çokcada bulunur deyip makalemi bitiriyorum.



Selametle //
 

mersin escort mersin e ticaret bodrum escort fethiye escort alanya escort konya escort marmaris escort bodrum escort vozol puff sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort ankara escort meritking giriş
Üst
Copyright® Ajanlar.org 2012