7 Eylül 2016 Çarşamba

Web Uygulaması Güvenliği


Bir web uygulaması internete açıldığı andan itibaren siber saldırıların hedefi olmaya başlıyor. Üstelik her geçen gün bu saldırıların sayısı katlanarak artıyor ve her geçen dakika birileri bir yerlerde yeni bir açık keşfediyor. Dakikalar içinde kompleks istismar kodları geliştiriliyor ve internete açık her sunucu düzenli olarak bu saldırılara mağruz kalıyor.

Üstelik bu saldırıların büyük bir çoğunluğunun istismar ettiği açıklar sunucu üzerinde çalışan hizmetlerden ziyade, web uygulamasının yanlış yapılandırılmasından kaynaklanıyor. Türkiye de bütün dünya ülkeleri gibi kendi yazılımlarını geliştiriyor. Bankalar, fabrikalar, online satış siteleri hatta güvenlik firmaları kendi uygulamalarını yazıyorlar veya yazdırıyorlar. Ve yine, dünya genelinde olduğu gibi bu uygulamalar zaman zaman kritik açık barındırıyorlar. Web uygulamasına eklenen küçücük bir yeni özellik, sunucunun ele geçirilmesinden müşterilerin kredi kartı bilgilerinin çalınmasına kadar uzanan sonuçlar doğurabiliyor.

Bütün zafiyetler bir hafta içinde bir yama veya güncelleme ile etkisiz hale getirilirken Anonymous'un hastası olduğu SQL Injection açığı 1998'den beri var. Bunun nedeni, uygulama bazlı zafiyetlerin insan hatası yüzünden ortaya çıkmasına dayanıyor.

En iyi yazılımcı bile kompleks bir uygulama yazarken binlerce hata yapıyor. Bu nedenle test edilmeyen her yeni uygulama ait olduğu kurum veya şirket için büyük risk teşkil ediyor.

Wordpress zafiyetlerinin sıklıklarına göre bir şeması:



Önümüzdeki hafta boyunca bu açıkların en tehlikeli olanlarını teker teker ele alacağım.

Bu çalışma boyunca:
  1. Söz konusu açığın yol açabileceği sorunlardan bahsedeceğim.
  2. Her açığı uygulamalı olarak istismar edeceğim.
  3. Uygulamaların sistem tarafında nasıl korunabileceğine dair örnekler vereceğim.
  4. Uygulamaların yazılım tarafında nasıl korunabileceğine dair örnekler vereceğim.

Bu çalışmayı gerçekleştirirken Mutillidae ve DVWA programlarından yararlanacak, saldırıları gerçekleştirmek için de Parrot Security OS kullanacağım.

İşte değineceğim konu başlıkları:
  1. Cross Site Scripting
  2. SQL Injection
  3. Authentication Bypass
  4. Cross Site Request Forgery
  5. File Upload
  6. File Inclusion
  7. Command Execution
Bunların dışında bol bol php biraz da html ve javascript okumak gerekecek diye tahmin ediyorum. Bu çalışma boyunca tüm soru ve önerilere elimden geldiğince kulak vereceğim. Listeye eklemek istediğiniz bir şey olursa irtibat kurmaktan çekinmeyin.

Bir sonraki bölüm: Cross Site Scripting
on 07 Eylül by Berk Cem Göksel |   Edit