ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Web Güvenliğinde Otomasyon ve SQL Injection
.onur
Bölüm I – Giriş
Konuşmacının size onu dinlemeniz için geçerli
nedenler vermeye çalıştığı bölüm...
.onur

 Web Uygulaması Güvenliği üzerine çalışmayı
  seviyor
 Şu anda Mavituna Security Limited şirketinde
  Security Researcher olarak çalışıyor
Bölüm II – Mızmızlanma...
Konuşmacının güvenlik işinin aslında ne kadar sıkıcı
olabileceği hakkında mızmızlandığı kısım...
Uzun iÅŸ...

 Bir sistemi tek tip bir güvenlik açığı için test
  etme
   Bir sayfada 5 dinamik parametre
   50 dinamik sayfa
   10 farklı saldırı kombinasyon

               5 * 50 * 10 = 2.500
                farklı deneme gereksinimi.
SQL Injection Tespiti
                 * Tam anlamı ile bir SQL Injection Tespiti

 Filtre Bypass Kombinasyonları = 2
    Comment Out Kombinasyonları = 2
        Group Test Kombinasyonları = 4
           ï‚­   Integer Test = 1
           ï‚­   String Test = 1
              AND / OR kombinasyonları = 2
              Injection Pozisyon Kombinasyonları = 3


               (2 + 1 + 1) * 4 * 2 * 2 * 3 = 172 farklı olasılık
   Eğer veritabanı tipi belli değilse bunu 3+ ile tekrar çarpmamız gerekiyor.
  * Aslında tüm bu testlere rağmen hala bu açığı kaçırma şansımız var
Exploit Etme Süreci

 Her açık eşit değildir
 Bazı açıklar karşıdaki sistemde kod
  çalıştırmaya izin verirler
 Açığın tipine göre manuel exploit süreci
  uzayabilir ya da normal bir insan için imkansız
  bir hale gelebilir
   Tek tek istek yaparak Blind SQL Injection deneyen
    oldu mu? 10 kayıtlık bir tabloyu almak sadece(!)
    10.000 değişik HTTP isteği yapmanızı
    gerektiriyor...
Çö³úü³¾

    Bu işin sıkıcı olduğunu anladık peki çözüm nedir?

•   Hindistan’ a outsource etmek?
•   Ya da otomasyon...
Bölüm III – Eylem
Bu kadar sohbet muhabbetten sonra nihayet gerçek
konunun anlatıldığı bölüm...
Bölüm VII
Soru, ekleyeceÄŸiniz bir ÅŸey?
TEÅžEKKÃœRLER

Onur Yılmaz, Ankara Yazılım Atölyesi – Mayıs 2012
              onur.yilmaz@owasp.org
            twitter / onuryilmazinfo

More Related Content

Web Güvenliğinde Otomasyon ve SQL Injection

  • 1. Web GüvenliÄŸinde Otomasyon ve SQL Injection .onur
  • 2. Bölüm I – GiriÅŸ KonuÅŸmacının size onu dinlemeniz için geçerli nedenler vermeye çalıştığı bölüm...
  • 3. .onur  Web Uygulaması GüvenliÄŸi üzerine çalışmayı seviyor  Åžu anda Mavituna Security Limited ÅŸirketinde Security Researcher olarak çalışıyor
  • 4. Bölüm II – Mızmızlanma... KonuÅŸmacının güvenlik iÅŸinin aslında ne kadar sıkıcı olabileceÄŸi hakkında mızmızlandığı kısım...
  • 5. Uzun iÅŸ...  Bir sistemi tek tip bir güvenlik açığı için test etme  Bir sayfada 5 dinamik parametre  50 dinamik sayfa  10 farklı saldırı kombinasyon 5 * 50 * 10 = 2.500 farklı deneme gereksinimi.
  • 6. SQL Injection Tespiti * Tam anlamı ile bir SQL Injection Tespiti  Filtre Bypass Kombinasyonları = 2  Comment Out Kombinasyonları = 2 ï‚  Group Test Kombinasyonları = 4 ï‚­ Integer Test = 1 ï‚­ String Test = 1 ï‚­ AND / OR kombinasyonları = 2 ï‚­ Injection Pozisyon Kombinasyonları = 3 (2 + 1 + 1) * 4 * 2 * 2 * 3 = 172 farklı olasılık EÄŸer veritabanı tipi belli deÄŸilse bunu 3+ ile tekrar çarpmamız gerekiyor. * Aslında tüm bu testlere raÄŸmen hala bu açığı kaçırma ÅŸansımız var
  • 7. Exploit Etme Süreci  Her açık eÅŸit deÄŸildir  Bazı açıklar karşıdaki sistemde kod çalıştırmaya izin verirler  Açığın tipine göre manuel exploit süreci uzayabilir ya da normal bir insan için imkansız bir hale gelebilir  Tek tek istek yaparak Blind SQL Injection deneyen oldu mu? 10 kayıtlık bir tabloyu almak sadece(!) 10.000 deÄŸiÅŸik HTTP isteÄŸi yapmanızı gerektiriyor...
  • 8. Çö³úü³¾ Bu iÅŸin sıkıcı olduÄŸunu anladık peki çözüm nedir? • Hindistan’ a outsource etmek? • Ya da otomasyon...
  • 9. Bölüm III – Eylem Bu kadar sohbet muhabbetten sonra nihayet gerçek konunun anlatıldığı bölüm...
  • 11. TEÅžEKKÃœRLER Onur Yılmaz, Ankara Yazılım Atölyesi – Mayıs 2012 onur.yilmaz@owasp.org twitter / onuryilmazinfo

Editor's Notes

  • #8: BSQL Hacker ile Küçük bir SQL Injection demosu