lostyazilim

SQL Injection Saldırıları ve Korunma Yöntemleri

12 Mesajlar 13.762 Okunma
lstbozum
wmaraci reklam

Omercitak Omercitak Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 01.08.2012
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci / Php Developer
  • Konum Yalova
  • Ad Soyad ** **
  • Mesajlar 174
  • Beğeniler 64 / 45
  • Ticaret 1, (%100)



Videodaki Dosyalar : http://yadi.sk/d/exOpW3xBFGp6D

Kaynak : http://omercitak.net/sql-injection-saldirilari-ve-korunma-yontemleri.html
Batuhan soulmy srhtycl

kişi bu mesajı beğendi.

wmaraci
reklam

soulmy soulmy WM Aracı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Öğretmen
  • Konum Samsun
  • Ad Soyad O** Y**
  • Mesajlar 1722
  • Beğeniler 398 / 400
  • Ticaret 20, (%100)
SQL açığının nelere mal olabileceğini gösteren başarılı bir video. Tebrik ediyorum sizi.

Videoda sadece DB bilgilerini listelemeyi göstermişsiniz, bunun haricinde DB'yi boşaltan SQL komutlar da yazılabilir. Bir de işin o boyutu var. :)

Bir de arkadaşlara şunu hatırlatayım izninizle. PHP'nin yeni sürümlerinde mysql_ fonksiyonları çalışmıyor. Yani mysql_real_escape_string fonksiyonunu yeni php sürümlerinde kullanamazsınız. Bunun yerine PDO veya MySQLi fonksiyonları kullanılmalı.

Sitenizdeki diğer videolar da çok başarılı. Emeğiniz için çok çok teşekkürler.
Omercitak

kişi bu mesajı beğendi.

.

srhtycl srhtycl IBM Ambassador Kullanıcı
  • Üyelik 13.04.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Software Engineer
  • Konum İstanbul Anadolu
  • Ad Soyad S** Y**
  • Mesajlar 501
  • Beğeniler 86 / 124
  • Ticaret 12, (%100)
Hocam emeğinize sağlık ama sanırım bu yöntemle, bilgileri öğrenmek imkansıza yakın. Üyelerin hangi tabloda listelendiğini bilmeden, daha önce bu siteyle hiçbir bağlantı kurmadan (yönetim kadrosunda,phpmyadmin'e daha önce girmeden)bu yöntemi uygulamak imkansıza yakın.
 

 

XnCN XnCN Yazılımcı Kullanıcı
  • Üyelik 30.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım
  • Konum Kocaeli
  • Ad Soyad A** H**
  • Mesajlar 447
  • Beğeniler 56 / 109
  • Ticaret 1, (%100)
Merak ettiğim bir konuydu hocam genelde c# projeleri yapıyorum fakat bazen php yede ihtiyacım oluyordu bunları bir kenarda tutim:))
 

 

wmaraci
wmaraci

Omercitak Omercitak Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 01.08.2012
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci / Php Developer
  • Konum Yalova
  • Ad Soyad ** **
  • Mesajlar 174
  • Beğeniler 64 / 45
  • Ticaret 1, (%100)

srhtycl adlı üyeden alıntı

Hocam emeğinize sağlık ama sanırım bu yöntemle, bilgileri öğrenmek imkansıza yakın. Üyelerin hangi tabloda listelendiğini bilmeden, daha önce bu siteyle hiçbir bağlantı kurmadan (yönetim kadrosunda,phpmyadmin'e daha önce girmeden)bu yöntemi uygulamak imkansıza yakın.


Hayır yanılıyorsun. "union select group_concat(schema_name) from information_schema.schemata" komutu ile veritabanıdaki tüm tabloları listeleyebilir :) Ayrıca sadece veri çekmek olarak düşünmeyelim, @soulmy'nin dediği gibi tüm mysql komutları yazılabilir. Yani veritabanını boşaltabilirler, silebilirler vs.
 

 

nopacq2 nopacq2 WM Aracı Kullanıcı
  • Üyelik 14.05.2014
  • Yaş/Cinsiyet 27 / E
  • Meslek Web Programlama Öğrencisi
  • Konum Aydın
  • Ad Soyad A** K**
  • Mesajlar 33
  • Beğeniler 1 / 4
  • Ticaret 0, (%0)
Hocam , phpye yeni başladım , session olaylarıdır postdur getdir md5dir yeni yeni öğrendim , bi iş aldım teknik servis için , birisi girecek formu dolduracak falan sonra bu yönetim paneline gidecek , ama benim için önemli olan yönetim paneline giden yolu veri tabanını falan girememesiydi . Bunu sayenizde öğrendim çok teşekkür ederim :)
 

 

Bence PROGRAMLAMACILAR ölmemelidir!
http://buradaogreniyoruz.blogspot.com.tr

JustCode JustCode WM Aracı E-Mail Onaysız
  • Üyelik 01.05.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek coder
  • Konum Romanya
  • Ad Soyad R** S**
  • Mesajlar 81
  • Beğeniler 2 / 14
  • Ticaret 3, (%100)
Benim şu şekilde kendi yazdığım, sitede ki bütün GET veri akışını süzen ufak bi kod var. Ne kadar güvenlik sağlar bilmiyorum. Yoruma açık.


foreach($_GET as $check => $value):

$_GET[$check] = htmlspecialchars(strip_tags(mysql_escape_string($value)));

endforeach;
Omercitak

kişi bu mesajı beğendi.

Omercitak Omercitak Sms Onayı Gerekli Banlı Kullanıcı
  • Üyelik 01.08.2012
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci / Php Developer
  • Konum Yalova
  • Ad Soyad ** **
  • Mesajlar 174
  • Beğeniler 64 / 45
  • Ticaret 1, (%100)

JustCode adlı üyeden alıntı

Benim şu şekilde kendi yazdığım, sitede ki bütün GET veri akışını süzen ufak bi kod var. Ne kadar güvenlik sağlar bilmiyorum. Yoruma açık.


foreach($_GET as $check => $value):

$_GET[$check] = htmlspecialchars(strip_tags(mysql_escape_string($value)));

endforeach;


Güzel filtre hocam, ancak eksik. Çünki htmlspecialchars ve strip_tags html tagleri ile ilgili filtreler. Sql injection tırnak veya sql komutları ile yapılan bir saldırı. Onları filtrelemeliyiz. Bunlar için mysql_real_escape_string kullanmışsınız ancan mysql_real_escape_string fonsiyonu bypass edilebiliyor. Aşağıdaki linkte bu fonksiyonun nasıl bypass edildiğini ve nasıl bypasstan korunulabileceğini anlatmıştım. Kolay gelsin...



Sql Inj. mysql_real_escape_string & addslashes Bypass :
http://omercitak.net/sql-inj-mysql_real_escape_string-ve-addslashes-bypass.html
 

 

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

Ömer Çıtak adlı üyeden alıntı

Güzel filtre hocam, ancak eksik. Çünki htmlspecialchars ve strip_tags html tagleri ile ilgili filtreler. Sql injection tırnak veya sql komutları ile yapılan bir saldırı. Onları filtrelemeliyiz. Bunlar için mysql_real_escape_string kullanmışsınız ancan mysql_real_escape_string fonsiyonu bypass edilebiliyor. Aşağıdaki linkte bu fonksiyonun nasıl bypass edildiğini ve nasıl bypasstan korunulabileceğini anlatmıştım. Kolay gelsin...



Sql Inj. mysql_real_escape_string & addslashes Bypass :
http://omercitak.net/sql-inj-mysql_real_escape_string-ve-addslashes-bypass.html

renk v5 açığı nedir hocam bir yardımcı olsanız özelden atabilir misiniz
 

 

JustCode JustCode WM Aracı E-Mail Onaysız
  • Üyelik 01.05.2014
  • Yaş/Cinsiyet 33 / E
  • Meslek coder
  • Konum Romanya
  • Ad Soyad R** S**
  • Mesajlar 81
  • Beğeniler 2 / 14
  • Ticaret 3, (%100)
Mysql 5.5.37 sürümünü kullanıyorum, charsetlerde utf8 durumunda. Ayrıca videonuzda da göründüğü gibi ekrana basılan hata kodlarından çıkarımlar yapılmasını engellemek içinde "ini_set('display_errors',0);" kodunu kullanma kısmi olsa bir önlem. Bu durumlardan başı dertte olan arkadaşlara öneririm.
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al