oylg2013 web uygulamalari sizmatesti
TRANSCRIPT
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Hakkımda
• Mehmet Dursun Ince
• Uygulama Güvenliği ve Sızma Testleri alanında çalışmalar gerçekleştirmekte.
• [email protected]• twitter.com/mmetince
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Web Uygulama Güvenlik Testleri Nasıl Yapılır ?
Black Box PentestWhite Box Pentest
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Güvenlik Açıkları Nasıl Oluşur ?
1.Mühendislik Hataları ?2.Programlama Diline Hakimiyet ?
3.İşletim Sistemine Hakimiyet ?4.Framework’e Güvenmek ?5.Unutkanlık
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
TOP #10 VulnerabilityA1-Injection
A2-Cross Site Scripting (XSS)
A3-Broken Authentication and Session Management
A4-Insecure Direct Object References
A5-Cross Site Request Forgery (CSRF)
A6-Security Misconfiguration
A7-Insecure Cryptographic Storage
A8-Failure to Restrict URL Access
A9-Insufficient Transport Layer Protection
A10-Unvalidated Redirects and Forwards
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Örnek Web Mimarisi - 1
IIS /Apache
DB-1
DB-2
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Örnek Web Mimarisi - 2
DB-1
DB-2
IIS /Apache
IIS /Apache
IIS /Apache
Load Balancer
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
DB-1
DB-2
IIS /Apache
IIS /Apache
IIS /Apache
Load Balancer
Web Services
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
HTTP Requestleri Nasıl Değiştirilir ?
• Web uygulama güvenlik testleri, hedef web sitesine giden HTTP taleplerinin analizi/değiştirilmesi ile gerçekleştirilir.
• Firefox –Live HTTP headers–Tamper Data–Hackbar
• Burp Suite
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
INPUT
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Web Uygulamalarında SQL Injection
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Web Uygulamalarında SQL Injection
• Kullanıcı girdisi :– Kisaad = ahmet– Parola = 123456
• Hacker girdisi :– Kisaad = hacker or 1=1– Parola = hacker or 1=1
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Web Uygulamalarında Output Encoding
DATABASE
Online T-Shirt Sipariş
Sipariş Takip Modülü
Kullanıcıdan gelen datalar veri tabanı sistemi üzerinde tutulmaktadır. Bu datalar farklı modüllerde kullanılmaktadır.
Örnek Senaryo : Alış veriş sitesinden t-shirt siparişi veren kullanıcılar, t-shirt’in üstüne yazılacak yazıya karar verebilmektedirler. Bu bilgi kullanıcıdan
alınarak veri tabanında tutulur. Ardından Sipariş Takip Modül’ü ile şirket çalışanlarına iletilir.
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Web Uygulamalarında İzinler
www.gsmsirketi.com/faturalar/fatura_liste
SELECT fatura_id,fatura_ay FROM Faturalar WHERE fatura_uid= 1
www.gsmsirketi.com/faturalar/fatura_id/18234
SELECT * FROM Fatura_detay WHERE fatura_id = 18234
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
CSRF
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Web Uygulamalarında Oturumlar
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Web Uygulamalarında Oturumlar
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Web Uygulamalarında Oturumlar
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
Web Uygulamalarında Oturumlar
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
UYGULAMA
SQL Injection
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
UYGULAMA
Stored XSS
Web Uygulama Sızma Testleri
Proactive Defense Against Future Threats
UYGULAMA
PHP Object Injection