BlackFullMoon 1
BlackFullMoon
Agora Metin2 1
Agora Metin2
PrimeAC 1
PrimeAC
ShadowFon 1
ShadowFon
noisiv 1
noisiv
Manwe Work 1
Manwe Work
romegames 1
romegames
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Bvural41 1
Bvural41
NovaLst 1
NovaLst
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Sql İncetion Nedir ? Metin2 Pro Pwplerde işe yarayan bilgi.

  • Konuyu başlatan Konuyu başlatan sanguchi
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 1
  • Görüntüleme Görüntüleme 710

sanguchi

Level 5
TM Üye
Katılım
4 Ağu 2009
Konular
52
Mesajlar
523
Online süresi
1h 21m
Reaksiyon Skoru
24
Altın Konu
0
TM Yaşı
16 Yıl 10 Ay 14 Gün
Başarım Puanı
115
MmoLira
25
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

[P]<FONT face="times new roman"><FONT color=#ff0000 size=4>Sıradışı SQL Injection[/FONT][/FONT]
[/P][P]<FONT face="times new roman" size=3>Diğerlerine göre kısmen alışılmamış SQL injection’ı anlatan bu belge, başlıktan da anlaşılacağı üzere, aslında diğer SQL incjection’lara benzemeyen, yani sıra dışı injection’lardan bahsetmektedir. Bu makalenin yazılma amacı sadece konu hakkında kapsamlı belge olmasının ve öğrenmeye destek olmasının yanı sıra, aynı zamanda internet üzerinde gerçek kullanımlı SQL injection hakkında araştırma yapanlara yardımcı olmaktır. Geçmişte okuduğum ve şuan da okumakta olduğum SQL injection rehberlerinin hepsi olmasa da çoğunda şuna rastladım ki; bunların hepsi baskı hatalarıyla, gramatik yapıda ekran hatalarıyla, yazarın bile tam anlamadığı karışık, karmaşık kelimelerle dolu. Ya da bir web sitesine sql injection uygularken gerekli olabilecek belli teknikleri içermeyen belgeler. Bu tarz belgeleri okurken yorum yapmadan anlamaya çalışmak aslında aldatıcı olabilir. Neyse ki bu bildiğiniz sıradan SQL injection belgelerinden değil ve şunu fark ettim ki siz ve SQL injection’ın nasıl yapıldığını anlama arasında başka bir basamak yok. Bu okuması gayet kolay olan belgeyi okurken ve uygularken keyif alacağınızı umuyorum.[/FONT]
[/P][P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>SQL ve kullanımı[/FONT][/FONT][/FONT]
[/P][P]<FONT color=#ff0000 size=3>·[/FONT]<FONT color=#ff0000>**[/FONT] <FONT face="times new roman" size=3>SQL bir bilgisayar dilidir[/FONT]
[/P][P]<FONT color=#ff0000 size=3>·[/FONT] * <FONT face="times new roman" size=3>Web sayfaları yazmaya yarar.[/FONT]
[/P][P]<FONT color=#ff0000 size=3>·[/FONT]<FONT color=#ff0000>*[/FONT] <FONT face="times new roman" size=3>Açılımı* "Yapılandırılmış Sorgu Dili " dır.[/FONT]
[/P][P]<FONT color=#ff0000 size=3>·[/FONT]<FONT color=#ff0000>*[/FONT] <FONT face="times new roman" size=3>SQL bir serverdaki web sitesine bilgi eklemek, göstermek ve depolamak için kullanılır.[/FONT]
[/P][P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>Tablolar[/FONT][/FONT][/FONT]

<FONT face="times new roman" size=3>Bir SQL veritabanında bilgilerin saklandığı tablolar vardır.[/FONT]
<FONT face="times new roman" size=3>Tablolar web sitesindeki envai çeşit bilgiyi saklayabilirler (kullanıcı adları, şifreler, adresler vs.)[/FONT]
<FONT face="times new roman" size=3>Tablolarda bilgilerin saklandığı sütunlar vardır.[/FONT]
<FONT face="times new roman" size=3>Her tablo ve sütunun bir ismi vardır.[/FONT]
<FONT face="times new roman" size=3>SQL enjeksiyon bu tabloların bir ya da daha fazlasında değişiklik yapma manasına gelir.[/FONT]
[/P][P]<FONT face="times new roman" size=3>Aşağıda örnek bir tablo var. [/FONT]
[/P][P]<FONT size=3><FONT face="times new roman">Tablonun ismi "Siteler", sütunların ismi "İLK" ve "İKİNCİ". Bu tablo site isimlerinin saklandığı yerdir. İki kayıt mevcut su an için. "Cyber Warrior"* ve* "Cyber Security" [/FONT][/FONT]
[/P][P]<FONT size=3><FONT face="times new roman"> Siteler[/FONT][/FONT][/P]
[P]<FONT size=3><FONT face="times new roman"> * |** İLK |* İKİNCİ |[/FONT][/FONT][/P]
[P]<FONT size=3><FONT face="times new roman"> **| Cyber |* Warrior |[/FONT][/FONT][/P]
[P]<FONT size=3><FONT face="times new roman"> | Cyber |* Security **|[/FONT][/FONT]
[/P][P]<FONT size=3><FONT face="times new roman">*<FONT color=#ff0000>Açıklar[/FONT][/FONT][/FONT][/P][P]<FONT face="times new roman" color=#ff0000 size=3>[/FONT]
<FONT face="times new roman" size=3>SQL Enjeksiyon açıkları iki ana biçim üzerinde kullanılır.[/FONT]
<FONT face="times new roman" size=3>Her iki biçim de bir web sitesine SQL kodu enjekte edilmesine yol açar.[/FONT]
<FONT face="times new roman" size=3>"SQL kodu enjekte etmek" demek* "SQL kodu yazmak"* demektir[/FONT]
<FONT face="times new roman" size=3>Bir siteye SQL enjekte ettiğinde site, sen ondan ne yapmasını istersen onu yapacaktır ya da artık amacın her neyse ona ulaşabileceksin. [/FONT]
[/P][P]<FONT size=3><FONT face="times new roman">** -(1) Forma enjekte edilmesi.* Giriş sayfasındaki kullanıcı adı ve şifre kutuları gibi[/FONT][/FONT][/P]
[P]<FONT size=3><FONT face="times new roman">** -(2) URL’ ye enjekte edilmesi. gibisinden.[/FONT][/FONT]
[/P][P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>Amaçlar[/FONT][/FONT][/FONT]
<FONT face="times new roman" size=3>Kodu enjekte eden olarak amacın SQL sunucusunun hakkından gelmek, o servera sızabilmektir.[/FONT]
<FONT face="times new roman" size=3>Servera sızarak sitenin tablolarındaki bilgileri ekranında görebileceksin.[/FONT]
<FONT face="times new roman" size=3>Tablolara bilgi ekleyip çıkarabileceksin[/FONT]
<FONT face="times new roman" size=3>Ek olarak, belli güvenlik duvarlarını, engellerini (log in olma gibi) asıl kullanıcı adı ve şifresi olmadan aşabileceksin.[/FONT]
[/P][P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>SQL nasıl Çalışır?[/FONT][/FONT][/FONT]

<FONT face="times new roman" size=3>Enjekte yapmadan önce SQL in nasıl çalıştığını anlaman gerekli[/FONT]
<FONT face="times new roman" size=3>Kullanıcı adı ve şifresiyle siteye bağlandığında, kullanıcı adin ve şifren sitedeki üye tablosunda saklanacaktır[/FONT]
<FONT face="times new roman" size=3>Kullanıcı adı ve şifre ayrı sütunlarda saklanır.[/FONT]
<FONT face="times new roman" size=3>Kullanıcı adı ve şifresiyle siteye girdiğinde, giriş sayfası kullanıcı adı ve şifresinin olduğu bir satır arayacaktır.[/FONT]
<FONT face="times new roman" size=3>Giriş formu sağladığın koşulları alır ve bu koşulları karşılayan sırayı üye tablosundan araştırır.[/FONT]
<FONT face="times new roman" size=3>Eğer ki satır ayni kullanıcı adi ve şifresini içerirse hesabına girişine izin verilir[/FONT]
<FONT face="times new roman" size=3>Eğer olurda bu satır bulunamazsa, giriş sayfası yazdığın kullanıcı adı ve şifresinin bulunduğu satırın olmadığını söyleyecektir.[/FONT]
<FONT face="times new roman" size=3>SQL ayrıca bir web sitesindeki bilgileri de gösterir.[/FONT]
<FONT face="times new roman" size=3>Eğer site de bir haber kısmı varsa, bütün konu isimlerinin bulunduğu bir SQL tablosu da olabilir[/FONT]
<FONT face="times new roman" size=3>Genelde bu konu isimleri numarayla belirtilir[/FONT]
<FONT face="times new roman" size=3>Konu üzerindeki linke tıkladığında, genelde konu numaralarını bulunduğun sayfanın URL çubuğunda görürsün.[/FONT]
<FONT face="times new roman" size=3>Örneğin, [/FONT]<a href= "http://www.Cyber-warrior.org/news.asp?articleid=10">face=times new roman color=#0000ff www.Cyber-warrior.org/news.asp?ArticleID=10</A><FONT face="times new roman" size=3> gibisinden bir linke tıkladığınızda, bu link, siteye konu isimlerinin saklandığı tabloya bakıp, ’ArticleID’ si 10 olan konuya bakmasını söyleyecektir.[/FONT]
<FONT face="times new roman" size=3>Web sitesi tablodaki bu sütunu bulduğunda, aynı satırda ’Konu’ isminde bir sütun arayabilir ve bu değeri konunun başlığında gösterir.[/FONT]
[/P][P]<FONT size=3><FONT face="times new roman">*<FONT color=#ff0000>Komutlar nedir ve ne ararlar?[/FONT][/FONT][/FONT]

<FONT face="times new roman" size=3>Komut denen belli kelimeleri kodlayarak, SQL sunucusuna (web sitesine) belli bir tabloya, sütuna ve satıra ne yapmak istediğiniz söyleyebileceksiniz[/FONT]
<FONT face="times new roman" size=3>Komut içerisine, ne yapmak istediğini belirtmen gerekecek.[/FONT]
<FONT face="times new roman" size=3>Bir linke enjekte edeceksen, isteğini URL deki ’=’ işaretinden sonra yazman gerekli[/FONT]
<FONT face="times new roman" size=3>Bir form a enjekte edeceksen, giriş formu gibi, istediklerini normalde isim ve şifrelerini yazdığın kutulara yazmalısın[/FONT]
<FONT face="times new roman" size=3>Web sitesi ne yazdığını ve ne istediğini okuyacak ve ne istersen yapacaktır.[/FONT]
<FONT face="times new roman" size=3>Olanaklar sonsuzdur; bazı örnekler okur, değiştirir, kullanıcı isimleri ve şifreleri ekler ve sayfadaki kelimeleri değiştirebilir.[/FONT]
[/P][P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>Tanıtma ve Söz Dizimi[/FONT][/FONT][/FONT]

<FONT face="times new roman" size=3>Komutlarına yazım tarzına sözdizimi (syntax) denir.[/FONT]
<FONT face="times new roman" size=3>SQL server’in seni anlayabilmesi ve istediğini yapabilmesi için sağ sözdizimini kullanmalısın.[/FONT]
<FONT face="times new roman" size=3>Aşağıdaki kodlarla kendini tanıt ve bu belge boyunca ve normalde SQL enjekte ederken kullan[/FONT]
<FONT face="times new roman" size=3>Doğru sözdizimi hakkında endişelenmene gerek yok. Öğrenmek için buradasın ve en sonunda onu hafızanda tutabileceksin. Tabi bunun için pratik yapman ve örnekleri iyice sindirmen gerekecek.[/FONT]
<FONT face="times new roman" size=3>İlerlerken daha önce öğrendiklerini hatırlamak senin yararına olacaktır[/FONT]
<FONT face="times new roman" size=3>Ekranda dili göreceksin sadece kelimeleri değil[/FONT]
<FONT face="times new roman" size=3>Göreceğin ve kullanacağın kodların tamamı listelenmiş değil.[/FONT]
<FONT face="times new roman" size=3>Daha sonraları bunları göreceksin (kafa karıştırıcı olanları), ne yaptıklarını ve nasıl kullanıldıklarını bileceksin fakat muhtemelen neden çalıştıklarını anlayamayacaksın.[/FONT]
<FONT face="times new roman" size=3>Kolaylık açısından aklında kalsın diye, bu komutlar ve kullanımları aşağıdaki listeden çıkarılmıştır.[/FONT]
[/P][P]
<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>Hızlı Kod Kullanım Rehberi[/FONT][/FONT][/FONT][/P]<FONT face="times new roman" size=3>ORDER BY - Web sitesine baktığın sayfadaki hangi sütunu göstereceğini söyler.[/FONT]
<FONT face="times new roman" size=3>SELECT - Tablodaki belli bir bilgiyi seçer[/FONT]
<FONT face="times new roman" size=3>UPTADE - Tablodaki sütunda var olan bilgiyi değiştirir[/FONT]
<FONT face="times new roman" size=3>AND - Komutun çalışması için her iki durumun da doğruluğu sağlanmalıdır.[/FONT]
<FONT face="times new roman" size=3>OR - Komutun çalışması için tek durumun doğru olması gerekir.[/FONT]
<FONT face="times new roman" size=3>-- (iki çizgi) - Komutlarını sonlandırır.[/FONT]
<FONT face="times new roman" size=3>+ - Boşluk yerine artı işaretini kullan[/FONT]






[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>Form Injection[/FONT][/FONT][/FONT][/P]<FONT face="times new roman" size=3>En kolay SQL enjekte çeşidi** "izin geçişi"* dır. (authorization bypass)[/FONT]
<FONT face="times new roman" size=3>Bu enjekte SQL in, web sitesindeki kullanıcı adını ve şifreni girdiğin kutulara enjekte edilmesini sağlar, mesela bir giriş sayfası[/FONT]
<FONT face="times new roman" size=3>"SQL nasıl çalışır" başlığından da hatırlayacaksınız, giriş sayfaları; girdiğiniz bilginin doğru koşulu sağlayıp sağlamadığını üye tablosundaki satırlara bakarak bulur[/FONT]
<FONT face="times new roman" size=3>Web sitesini; bizim yazdığımızın doğru kullanıcı adı ve şifresini sağladığını sanmasını ve en azından bir satırı bize göstermesini sağlamak için kandırmalıyız[/FONT]
<FONT face="times new roman" size=3>Kullanıcı adı ve şifre kutularının her biri görünmeyen bir tırnak işareti tarafından çevrelenmiştir[/FONT]
<FONT face="times new roman" size=3>Form sunulduğunda; tek tırnak işaretiyle çevrelenen her neyse, iste o web sitesinin, üye tablosunda aradığı şeydir. [/FONT]
<FONT face="times new roman" size=3>Bu yöntemde, eğer açık tırnak işareti kullanırsanız, onu ya kapatmalısınız ya her zaman hata alırsınız[/FONT]
<FONT face="times new roman" size=3>Örneğin, eğer z’* yazarsanız hata alırsınız, çünkü tırnak açılmış lakin kapatılmamıştır.[/FONT]
<FONT face="times new roman" size=3>Şu unutulmamalıdır ki, her zaman görünmeyen iki tane tırnak işareti zaten yazdığın her kutuyu çevreler. [/FONT]
<FONT face="times new roman" size=3>Peki ya sunu yazarsak:* z’ OR ’x’=’x[/FONT]
<FONT face="times new roman" size=3>Basitçe İngilizcede, SQL’i bir kenara bırakalım,* z’ OR ’z’=’z servera herhangi bi satırda kullanıcı adı olarak ’z’ ya da ’x’ harfiyle ayni ’x’ harfi var mı yok mu aramasını söyler [/FONT]
<FONT face="times new roman" size=3>Bu gayet doğru bir ifadedir çünkü her satırda, tabloda, sütunda ve dilde x harfi x harfiyle aynidir ( :[/FONT]
<FONT face="times new roman" size=3>SQL servera göre bu geçerli bir kullanıcı adıdır çünkü x her satırda x ile aynidir[/FONT]
<FONT face="times new roman" size=3>Oldukça garip ama SQL sunucu bizim üye tablosunda olup olmadığımızı öğrenmek için ne istediyse verdik ve bingo[/FONT]
<FONT face="times new roman" size=3>Bunu hem kullanıcı adı hem de şifre için yaparsanız, alnınızın teriyle web sitesine giriş yapmış olursunuz. [/FONT]






[P]<FONT size=3><FONT face="times new roman"> - Şekil C -[/FONT][/FONT][/P]
[P]<FONT size=3><FONT face="times new roman"> ** Username: ’ |* Cyber* |* ’ (’Cyber’ ismi üye tablosunda aranacaktır)[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"> -* Şekil D -[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"> ** Username: ’ | z’ | ’[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]<FONT face="times new roman" size=3>Bu şekilde yazarsak üye tablosundan* ’z’’* kelimesi araştırılacaktır[/FONT]
<FONT face="times new roman" size=3>Bu bir problem oluşturacaktır, çünkü SQL server açık olan bir tırnak işaretinin kapatılmasını bekleyecektir. Ama beklediğini bulamayınca tabi error verecek.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"> - Şekil E -[/FONT][/FONT][/P]
[P]<FONT size=3><FONT face="times new roman"> * Username:* ’ | z’ OR ’x’=’x* | ’[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]<FONT face="times new roman" size=3>Şimdi burada sizce ne arayacaktır?* Parantez içine yazıyorum, karışmasın* ( ’z’ OR ’x’=’x’ )[/FONT]
<FONT face="times new roman" size=3>Burada o basta ve sondaki tırnak işaretleri nerden geldi, hani demiştik ya kutucukların dışında bizim görmediğimiz tırnak işareti var diye. İşte oradan geldi.[/FONT]
<FONT face="times new roman" size=3>Her açılmış tırnak işareti kapatılmış böylelikle bu istek hata vermeyecektir [/FONT]
<FONT face="times new roman" size=3>’z’ ismi tabloda yer almasa da* ’x’* her zaman ’x’* e eşit olacağından problem yaşamayacaksınız ( :[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>Bilgi Şeması[/FONT][/FONT][/FONT][/P]<FONT face="times new roman" size=3>"BİLGİ_ŞEMASI" bir sitedeki her tablo ve sütunun isminin tutulduğu yerdir.[/FONT]
<FONT face="times new roman" size=3>Her SQL sunucu da bir "INFIRMATION_SCHEMA" vardır ve ismi asla değişmez.[/FONT]
<FONT face="times new roman" size=3>Diğer bütün tabloları içinde barındıran "INFORMATION_SCHEMA”* "INFORMATION_SCHEMA.TABLES* olarak adlandırılır.[/FONT]
<FONT face="times new roman" size=3>"INFORMATION_SCHEMA.TABLES* tablosunun içindeki bilgileri barındıran sütuna “table_name” denir.[/FONT]
<FONT face="times new roman" size=3>Diğer bütün sütunları da *içinde barındıran "INFORMATION_SCHEMA” , "INFORMATION_SCHEMA.COLUMNS* olarak adlandırılır.[/FONT]
<FONT face="times new roman" size=3>"INFORMATION_SCHEMA.COLUMNS* sütununun* içindeki bilgileri barındıran sütuna “column_name” denir.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">URL Enjeksiyon[/FONT][/FONT][/P]<FONT face="times new roman" size=3>İyi haber; Asıl gırgır şimdi başlıyor![/FONT]
<FONT face="times new roman" size=3>Burada ise tablo ve sütunların isimlerini bularak, tablolarda saklanan bilgilerin nasıl okunduğunu ve değiştirdiğini öğreneceğiz.[/FONT]
<FONT face="times new roman" size=3>Kötü haber; yukarıda bahsetmiş olduğumuz “Komutlar” bölümünü iyi öğrenmiş olmanız gerekir,(özellikle b bölümünü), bu bölümü yeniden incelemek zor olmasa gerek.[/FONT]
<FONT face="times new roman" size=3>Web sayfasındaki herhangi bir linkte “=” işaretine rastlayabilirsiniz.[/FONT]
<FONT face="times new roman" size=3>Bu sitede SQL Enjeksiyonu uygulayabilmek için, eşittir işaretinden sonra komutları yazmanız gerekir.[/FONT]
<FONT face="times new roman" size=3>Şimdi eşittir işaretinden sonra komutları yazmaya başlayalım ve tarayıcımızdan, sanki yeni bir siteye giriyormuşuz gibi git butonuna basarak devam edelim. [/FONT]
<FONT face="times new roman" size=3>Ne yapmanız gerektiğini anlamanın en basit yolu, örnek bir saldırıyı adım adım incelemektir.[/FONT]
<FONT face="times new roman" size=3>Saldırı örneklerimizi uygulayacağımız örnek URL’ de [/FONT]<a href= "http://www.site.com/news.asp?articleid=10">face=times new roman www.site.com/news.asp?ArticleID=10</A><FONT face="times new roman" size=3> olsun.[/FONT]
<FONT face="times new roman" size=3>Aşağıdaki diğer örneklerde de, açık bulunan sitelerde gerçekleştirebileceğimiz iki genel saldırı çeşidini inceleyeceğiz. [/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>Saldırı 1[/FONT][/FONT][/FONT][/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>Hedef:[/FONT] Bir kullanıcı adı ve şifre edinin[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>Açığın bulunduğu URL: [/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>1.ADIM:[/FONT] Linkte açık olup olmadığını belirleyin.[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">a. [/FONT][/FONT]<a href= "http://www.site.com/news.asp?articleid=10+and+1=0-">face=times new roman www.site.com/news.asp?ArticleID=10+AND+1=0-</A>[/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]<FONT face="times new roman" size=3>Komut Çevirisi: Eğer sadece 1 rakamı 0 rakamının benzeri ise, 10 numaralı makaleyi göster.[/FONT]
<FONT face="times new roman" size=3>Bu durumda, “AND” komutu makalenin görüntülenmek için uygun olduğu anlamına gelir, makale 10 bulunmalı ve 1’de 0’a eşit olmalı.[/FONT]
<FONT face="times new roman" size=3>Bu da makalenin yüklenmemesine neden olur çünkü 1, 0’a benzer degildir. [/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">b. [/FONT][/FONT][/P]<FONT face="times new roman" size=3>Komutun tercümesi; Eğer sadece 1 rakamı 0 rakamının benzeri ise, 10 numaralı makaleyi göster.[/FONT]
<FONT face="times new roman" size=3>Makale görüntülenebilmeli, çünkü 10 numaralı makale mevcut ve 1’de 0’a eşit. [/FONT]
<FONT face="times new roman" size=3>İstediğinizde makale yüklendiğinden ve istemediğinizde de yüklenmediğinden dolayı komutlarımızın buradan komutların çalışıyor olduğunu anlayabiliriz. Bu da linkin açık olduğu ve devam edebileceğimiz anlamına gelir.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>ADIM 2: [/FONT]Sayfada gösterilen toplam sütun sayısını bulmak[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">a. [/FONT][/FONT][/P]<FONT face="times new roman" size=3>“ORDER BY 1”( bir numaralı sütunun bulunduğu yer) sayfaya 1 numaralı sütunu ilk sayfa içerisinde göstermesini söyler.[/FONT]
<FONT face="times new roman" size=3>“ORDER BY 2”* 2 numaralı sütunu ilk sayfada gösterir.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">b. 2. Adımın a şıkkını tekrar edelim. Numaraları her defasında birer birer artırıyoruz ta ki; bir hata mesajı alana kadar.[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">i. Hata mesajı aldığımızda duruyoruz. Ulastığımız rakamdan bir çıkarıyorz ve kaydediyoruz. [/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>- Örnek olarak 4 rakamına ulaştığımızda bir hata mesajı aldık[/FONT][/P]
[P]<FONT face="times new roman" size=3>( ), 3’ü elde etmek için 4’ten 1 çıkarıyoruz.[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">ii.** Buradan sayfada üç sütun bulunduğunu anlayabiliriz.[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>ADIM 3:[/FONT] Tablo Adlarının Görüntülenmesi[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT face="times new roman" size=3>*3 ve 4 numaralı adımlara referans olarak “BİLGİ ŞEMASI” bölümünü kullanabilirsiniz.[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">a. [/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>- 1+UNION+SELECT+1,2,3+FROM+INFORMATION_SCHEMA.TABLE S-[/FONT][/P]
[P]<FONT face="times new roman" size=3>-Komut Anımsatıcı: “SELECT” web sitesine sizin belirtmiş olduğunuz tablodan yine sizin belirttiğiniz bilgileri görüntülemesini söyler.[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT face="times new roman" size=3><a href= "http://www.Cyber-warrior.org/forum/display_topic_threads.asp?forumid=64&topicid=21086 8&pageposition=2#"><a href= "http://www.Cyber-warrior.org/forum/display_topic_threads.asp?forumid=60&topicid=22258 1&pageposition=1#">Cyber-Warrior TIM</A></A> | Haberci Group’dan Not: [/FONT][/P]
[P]<FONT face="times new roman" size=3>Alttaki kısımda negative one derken neyi kastediyor açıkça belirtmemiş. –1 mi yoksa -10 mı diye. Ben her iki şekilde de yazıyorum. Siz uzmanlar konuya daha vakıf olduğunuz için hangisinin doğru olduğunu daha iyi anlarsınız[/FONT][/P]
[P]<FONT face="times new roman" size=3>Not:* Orijinal makale numarasını (10) eksi 1’le değiştirmelisiniz.[/FONT][/P]
[P]<FONT size=3><FONT face="times new roman"> * Orijinal makale numarasını (10) -10 ile değiştirmelisiniz.[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT face="times new roman" size=3>Not: Adım 2’nin b şıkkında ulaştığımız son rakam, üstte yazmış olduğumuz komuta, 1’den geldiği son rakama kadar sıralanarak ve virgüllerle ayrılarak yazılır.[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]<FONT face="times new roman" size=3>Şu anda yukarıdaki komutta sıralamış olduğunuz web sayfasında herhangi bir yerde gösterilen numaraları, görebilirsiniz. [/FONT]
<FONT face="times new roman" size=3>Şu andan itibaren, eğer sayfada görüntülenebiliyorsa, URL içinde sadece numaralı değiştirebilirsiniz.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">b. [/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]<FONT face="times new roman" size=3>1+UNION+SELECT+1,table_name,3+FROM+INFORMATION_SCH EMA.TABLES-[/FONT]
<FONT face="times new roman" size=3>Hatırlatıcı: sayfada tablo adlarıyla birlikte gösterilen herhangi bir rakamı değiştirebilirsiniz. [/FONT]
<FONT face="times new roman" size=3>Komutun Tercümesi: Tablo isimlerini göster.[/FONT]
<FONT face="times new roman" size=3>Sayfada rakamlardan herhangi bir tanesi yerine tablo adı gösteriliyor olmalıdır.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>ADIM 4:[/FONT] Hedef Tablo İsimlerini Bulmak[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">a. [/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>-1+UNION+SELECT+1,table_name,3+FROM+INFORMATION_SCH EMA.TABLES+ [/FONT][/P]
[P]<FONT face="times new roman" size=3>WHERE+table_name>’displayed_table’-[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]<FONT face="times new roman" size=3>Sayfada ilk görüntülenen tek sayılı tablo isimi bizim aradığımız olan değildir, bizim asıl aradığımız içinde kullanıcı isimleri ve şifrelerin bulunduğu tablolardır.[/FONT]
<FONT face="times new roman" size=3>Tablolar listesini tespit edip, doğru tabloyu bulabilmek için “TABLES” kısmını sonuna* "+WHERE+table_name>’displayed_table’ " bölümünü ekleyin.[/FONT]
<FONT face="times new roman" size=3>Komutun Tercümesi: Listedeki ‘displayed_table’* den sonraki tablonun ismini görüntüle.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">b. Adım 4’ün a şıkkını uygun bir üye tablosu ismi görüntülene kadar tekrarlıyorz. [/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>-Saldırı için diyelim ki “UserAccounts” adında bir tablo bulduk.[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">c. 4. Adımın b şıkkından tablo ismini hatırlayın eğer gerekiyorsa bir yere not alın.[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>ADIM 5: [/FONT]Sütun İsimlerini Görüntülemek [/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">a. [/FONT][/FONT][/P]<FONT face="times new roman" size=3>1+UNION+SELECT+1,column_name,3+FROM+INFORMATION_SC HEMA.COLUMNS+WHERE+table_name=’UserAccounts’—[/FONT]
<FONT face="times new roman" size=3>Komutun Tercümesi: “UserAccounts” tablosundaki sütunların isimlerini görüntüle.[/FONT]
<FONT face="times new roman" size=3>Şimdi, tablo ismi yerine, görüntülenen “UserAccounts” tablosundaki sütun isimlerini göreceksiniz.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>ADIM 6:[/FONT] Hedef Sütunları Bulmak[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">a. [/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>name,3+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+table _name=’User [/FONT][/P]
[P]<FONT face="times new roman" size=3>Accounts’+AND+column_name>’displayed_column’-[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]<FONT face="times new roman" size=3>4. Adımda olduğu gibi burada da işinize yarayacak sütunların isimlerini bulmanız gerekmektedir.[/FONT]
<FONT face="times new roman" size=3>Eğer kullanıcı adı ve şifreleri arıyorsanız; username, password, user,pass, login_name gibi isimlerle adlandırılmış sütunları bulmayı denemelisiniz.[/FONT]
<FONT face="times new roman" size=3>Komutun Tercümesi: Listedeki ’displayed_column.’ Dan sonraki diğer sütunun ismini görüntüle.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">b. 6.Adımın a şıkkındakileri doğru sütunu bulana kadar tekrarlayın.[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>- Örnek saldırımız için, “username” ve “password” adını taşıyan sütunları bulduğumuzu düşünücez. [/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">c. Adım 6’nın b şıkkını hatırlayıp, gerekiyorsa onları bir yere not alıcaz.[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>ADIM 7:[/FONT] Kayıtları Görüntülemek[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>* Bu adım için artık elimizde, bir yere not ettiğiniz uygun tablo ve sütun adlarımız mevcut.[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT face="times new roman" size=3>Tablo Adı: “UserAccounts”[/FONT][/P]
[P]<FONT face="times new roman" size=3>Sütun Adı: “username”* ve “password”[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">a. [/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>FROM+UserAccounts-- [/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]<FONT face="times new roman" size=3>Komutun Tercümesi: “UserAccounts” tablosundaki “username” sütununda bulunan kayıtları görüntüle.[/FONT]
<FONT face="times new roman" size=3>Diyelim ki sayfa kullanıcı adı olarak “Adam”[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">b. [/FONT][/FONT][/P]<FONT face="times new roman" size=3>1+UNION+SELECT+1,password,3+FROM+UserAccounts+WHER E +username=’Adam’--[/FONT]
<FONT face="times new roman" size=3>Komutun Tercümesi: UserAccounts Tablosundaki “Adam” nickinin kullandığı şifreyi görüntüle.[/FONT]
<FONT face="times new roman" size=3>Bu farazi saldırımızda diyelim ki sayfa “neo” diye bir şifre gösterdi.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">c. “Adam” nickinin kullandığı “neo” şifresini buldunuz.[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>Kullanıcı adı: “Adam” [/FONT][/P]
[P]<FONT face="times new roman" size=3>Şifre: “neo”[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT face="times new roman" size=3>Evet ilk SQL Injection saldırınızı gerçekleştirdiniz.[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>Saldırı 2[/FONT][/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>HEDEF:[/FONT] Sayfada Gösterilen Metni Değiştirmek[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3><FONT color=#ff0000>Açık URL:[/FONT] [/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>ADIM 1:[/FONT] Tablo ve Sütun İsimlerini Bulmak[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">a. [/FONT][/FONT][/P]<FONT face="times new roman" size=3>Bu komut ("HAVING+1=1") bir hata mesajının verilmesine neden olacaktır.[/FONT]
<FONT face="times new roman" size=3>Hata mesajıda; "Column ’news.id’ is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause."* Yani; seçili listedeki ‘news.id’ sütunu geçerli değildir çünkü kümeleme fonksiyonuna dahil edilmemiş ve GROUP BY maddesi yok[/FONT]
<FONT face="times new roman" size=3>Yalnız burada hata mesajına dikkat edin tablo ve sütun isimlerini açığa çıkarıyor.[/FONT]
<FONT face="times new roman" size=3>Hata mesajındaki “news.id” , “news” tablosunda “id” isimli bir sütun olduğu anlamına gelmektedir. [/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>ADIM 2:[/FONT] İşe Yarar Bir Sütun Adı Bulmak[/FONT][/FONT][/P]
[P]<FONT size=3><FONT face="times new roman">a. [/FONT][/FONT][/P]<FONT face="times new roman" size=3>Tabloda, bir sonraki sütunun ismini bulabilmek için “HAVING” komutundan önce "GROUP+BY+first_column_name_displayed" kısmını eklemelisiniz. [/FONT]
<FONT face="times new roman" size=3>Bu komutta ise, "first_column_name_displayed" yani* “görüntülenen_ilk_sütun_adı” “id” dir. [/FONT]
<FONT face="times new roman" size=3>Bu komut başka bir hata mesajı oluşturur, bu kez de “news.id” hata mesajındaki “id” kısmı değişecektir, ve bu da diğer sütunun ismidir.[/FONT]
<FONT face="times new roman" size=3>Farzı mahal, bu defada hata mesajını “news.release” şeklinde vermiş olsun.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">b. [/FONT][/FONT][/P]<FONT face="times new roman" size=3>Sütun isimlerini görüntülemeye devam etmek için, hata mesajındaki sütun ismini bir virgül koyarak ekleyin.[/FONT]
<FONT face="times new roman" size=3>Virgülle ayrılmış listeye virgülleri ve mevcut hata mesajındaki sütun isimlerini eklemeye devam edin.[/FONT]
<FONT face="times new roman" size=3>Şimdi de diyelim ki hata mesajı bize “title” ismindeki sütunu versin (“news.title”).[/FONT]
<FONT face="times new roman" size=3>Makale başlıkları muhtemelen bu sütunda saklanmakta ve sayfada gösterilmekte.[/FONT]
<FONT face="times new roman" size=3>Eğer “title” sütunundaki makale başlıkları kısmını değiştirebilirseniz, sitede son gösterilenleri de değiştirebilirsiniz.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman"><FONT color=#ff0000>ADIM 3:[/FONT] Sayfayı Değiştirmek[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">a. injected’-[/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]<FONT face="times new roman" size=3>Bu news tablosundaki tüm başlıkları “sql injected” şeklinde değiştirecektir.[/FONT]
<FONT face="times new roman" size=3>Web sitesinin kendi orijinal* makale başlıklarını değiştirmek yerine, bütün başlıklarda “sql injected” yazacaktır.[/FONT]
<FONT face="times new roman" size=3>Yalnız buraya dikkat. Bu hareket bütün başlıkları değiştirecektir. Eğere sadece belirli bir makalenin başlığını değiştirmek istiyorsanız, o zaman bu bölümdeki 3. Adımın b şıkkına geçin.[/FONT]






[P]<FONT face="times new roman" size=3>[/FONT]*[/P]
[P]<FONT size=3><FONT face="times new roman">b. [/FONT][/FONT][/P]
[P]<FONT face="times new roman" size=3>injected’+WHERE+id=10—[/FONT][/P]
[P]<FONT face="times new roman" size=3>[/FONT]*[/P]<FONT face="times new roman" size=3>Bu komut ise sadece 10 numaralı makalenin başlığını “sql injected” şeklinde değiştirecektir.[/FONT]
<FONT face="times new roman" size=3>Farklı bir makalenin başlığını değiştirmek için ,id=10 kısmındaki 10 rakamını başka bir numara ile değiştirin.[/FONT]
<FONT face="times new roman" size=3>Örnek olarak; id=10’u id=8’ e çevirebilirsiniz. Yalnız burada değişikliği görebilmek için,* "www.site.com/news.asp?ArticleID=8" yazıp enter’lemeniz gerekecektir.[/FONT]






[P]<FONT face="times new roman" size=3>Tebrikler! SQL Enjeksiyonun temelini öğrendiniz. Umarım bu sayfadan bir şeyler öğrendiniz ve daha fazlasını öğrenmek için de istekli olursunuz. Öğrenecek olduğunuz şeyler tabiî ki burada bitmiyor. Keşfedeceksiniz, merakınız artacak, sorular soracaksınız, hatta bazen kaçınılmaz bir şekilde hüsrana uğradığınızı bile hissedeceksiniz. Kolaylıkla tükendiğiniz ve cesaretinizin kırıldığı da olabilir, ancak bırakmak asla sorularınızın cevaplarına bir çözüm olmayacaktır. Teşebbüs etmek, denemek üstesinden gelmek demektir. Asla isteklerinizden bir şeylerin azalmasına müsaade etmeyin, ne olursa olsun.

Emeğe Saygı.:ka19:
 
Yazırlar değişik çıkmış..
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst