SQL Nedir?
Çoğu kişi tarafından yazılım dili olarak bilinen Sql aslında yazılım dili değildir.Sitelerin veritabanlarının(MySQL vb.)yönetim sistemidir.Peki bu Veritabanları ne işe yarar?
Veritabanları bilgilerinizi kategorilere ayırarak dağınıklıktan kurtarır.Verilerinizi aradığınızda bulmanızı kolaylaştırır.Mesela okul,hastane gibi devlet kurumlarında bile Veritabanları kullanılmaktadır.Peki neden bilgileri veritabanında tutmak önemlidir? Eğer bilgilerinizi dağınık halde dosyalarda tutarsanız daha sonradan birleştirmek veya bulmak istediğiniz bilgileri aradığınızda bulmanızda zorluk çıkartır.Yani kısaca SQL'ya veritabanları kodlaması diyebiliriz.
SQL Injection Nedir?
Siz bilgilerimi veritabanlarıma yükledim oh rahatım diyorsunuz.Ama birde bakıyorsunuz ki sitenize index yüklenmiş? Peki bu nasıl oldu? SQL Injection veritabanının sorgusuna müdahale ederek veritabanını ele geçirmektir.Bu bilgiler nelerdir? Başlıca; Admin paneli login bilgileriniz,(eğer varsa) sitenizdeki kullanıcıların bilgileri yani veritabanına kaydedilen her bilgidir denebilir.Düşünsenize bu bilgiler bir saldırgan ele geçirdi Peki SQL Injectiondan nasıl korunulur? Kullanıcıdan alınan her veride ' ve " karakterleri getirilerek korunulur. Bu karakterler ya karakter koduna çevrilmeli, ya da başına \ yani kaçırma karakteri eklenmelidir. Bu durumda SQL programı o karakterleri komut olarak algılamayacaktır.SQL Açığı nasıl tespit edilir? https://njsfwc.org/projects.php?id=21 örneğin sitemizde böyle bir sayfa var biz bu sayfada "21" sayısının sonuna (') karakteri ekliyoruz. https://njsfwc.org/projects.php?id=21' karşımıza böyle bir sayfa çıkıyor eğer bu sayfada MySQL(1) gibi kelimeler yazıyorsa sitemizde SQL Açığı vardır.(SQL Inj yapmayı anlatmayacağım hack forumu değiliz sonuçta :d)
Ben burda temel şekilde anlattım tabikide profesyonelleşmek isteyenler daha iyi araştırmalar yapmalı.
Birkaç yerde yardım aldığım kaynaklar;
Çoğu kişi tarafından yazılım dili olarak bilinen Sql aslında yazılım dili değildir.Sitelerin veritabanlarının(MySQL vb.)yönetim sistemidir.Peki bu Veritabanları ne işe yarar?
Veritabanları bilgilerinizi kategorilere ayırarak dağınıklıktan kurtarır.Verilerinizi aradığınızda bulmanızı kolaylaştırır.Mesela okul,hastane gibi devlet kurumlarında bile Veritabanları kullanılmaktadır.Peki neden bilgileri veritabanında tutmak önemlidir? Eğer bilgilerinizi dağınık halde dosyalarda tutarsanız daha sonradan birleştirmek veya bulmak istediğiniz bilgileri aradığınızda bulmanızda zorluk çıkartır.Yani kısaca SQL'ya veritabanları kodlaması diyebiliriz.
SQL Injection Nedir?
Siz bilgilerimi veritabanlarıma yükledim oh rahatım diyorsunuz.Ama birde bakıyorsunuz ki sitenize index yüklenmiş? Peki bu nasıl oldu? SQL Injection veritabanının sorgusuna müdahale ederek veritabanını ele geçirmektir.Bu bilgiler nelerdir? Başlıca; Admin paneli login bilgileriniz,(eğer varsa) sitenizdeki kullanıcıların bilgileri yani veritabanına kaydedilen her bilgidir denebilir.Düşünsenize bu bilgiler bir saldırgan ele geçirdi Peki SQL Injectiondan nasıl korunulur? Kullanıcıdan alınan her veride ' ve " karakterleri getirilerek korunulur. Bu karakterler ya karakter koduna çevrilmeli, ya da başına \ yani kaçırma karakteri eklenmelidir. Bu durumda SQL programı o karakterleri komut olarak algılamayacaktır.SQL Açığı nasıl tespit edilir? https://njsfwc.org/projects.php?id=21 örneğin sitemizde böyle bir sayfa var biz bu sayfada "21" sayısının sonuna (') karakteri ekliyoruz. https://njsfwc.org/projects.php?id=21' karşımıza böyle bir sayfa çıkıyor eğer bu sayfada MySQL(1) gibi kelimeler yazıyorsa sitemizde SQL Açığı vardır.(SQL Inj yapmayı anlatmayacağım hack forumu değiliz sonuçta :d)
Ben burda temel şekilde anlattım tabikide profesyonelleşmek isteyenler daha iyi araştırmalar yapmalı.
Birkaç yerde yardım aldığım kaynaklar;
Kod Evreni - Yazılım ve Programlama Topluluğu
www.kodevreni.com
WM Aracı - Webmaster Portalı
Gelişmiş webmaster araçları, bilgi dolu blog ve forumu ile Türkiye'nin en büyük webmaster portalı.
wmaraci.com