19 Ekim 2010 Salı

HE:WA-C1 Hacking Exposed: Web applications, 2nd Edition


Bu yazı dizisi, McGraw Hill tarafından yayınlanan "Hacking Exposed: Web Applications 2nd Edition" kitabını okurken alınmış olan notlardan oluşur. Tüm konular ele alınmamıştır, detaylar için kitaba başvurulması şiddetle tavsiye olunur. Kitap için "HA:WA" kısaltması kullanılacaktır.

What is Web Application Hacking?

Web hacking'in özü, HTTP üzerinden uygulamayı kurcalamaktır. Bunu yapmanın 3 temel yolu vardır:

  • Uygulamayı doğrudan grafiksel web arayüzü aracılığıyla manipüle etmek. Login ekranında username kısmında SQL injection açıklığı gibi.
  • URI kurcalamak. Dizin gezinimi (path traversal) saldırısı gibi.
  • URI'de olmayan HTTP elementlerini kurcalamak. Method'lar, header'lar vs.

Browser Extensions

Browser'lara eklenen küçük boyutlu entegreler (add-on) web uygulamaları manuel testleri için en popüler yardımcılardır. Bunların avantajları:

  • Browser ile entegre olmaları. Doğaldır, rahatça konfigürasyon yapılabilir.
  • Şeffaflık.

Internet Explorer Extensions:

  • TamperIE: Oldukça basit, sadece 2 opsiyonu var: GET'leri ve/veya POST'ları kurcalamak. Gezinirken bir POST gerçekleştiğinde TamperIE submission'ı otomatik olarak keser talebi gösteren bir ekran açar. Burada HTTP taleb tüm yönleriyle değiştirilebilir. Uzantının GET kurcalama özelliği de browser tarafından uygulanan kısıtların baypas edilmesinde kullanılır.
  • IEWatch: Basit ama ful-fonksiyonel HTTP izleme client'ı. HTTP ve HTTPS transaction'larının tüm yönlerini ortaya döker. Mesela IEWatch tarafından loglanan bir cookie'ye çift tıklandığında cookie'deki tüm parametreleri ve değerlerini görebilirsiniz. Dezavantajı ise aracın sadece "izleme" amaçlı olmasıdır, bilgileri kurcalamaya izin vermez.
  • IEHeaders: IEWatch ile aynı işi görür, görsel olarak göze daha az hitab eder. Bu araç da varileri kurcalamaya izin vermez.

Firefox Extensions:

  • LiveHTTPHeaders: HTTP ve HTTPS trafiğini bir ekrana indirir. HTTP kurcalama için popüler araçlardan biridir. "Replay" özelliği sayesinde talepleri kurcalamaya izin verir. Yakalanan talebin belli bir parçası istenen yönde manipüle edilir, "replay" tuşu ile talep gönderilir. Örnek uygulama: bir POST talebinin User-Agent header'ı generic bir string ile değiştirilerek bazen web uygulama otorizasyonu baypas edilebilir.
  • TamperData: Header ve POST parametlerini de kapsayacak şekilde HTTP ve HTTPS taleplerini izlemeye ve değiştirmeye izin verir. LiveHTTPHeaders ile aynı temel işlevselliğe sahiptir, daha "raw" edit işlemine izin verdiği için LiveHHTPHeaders tercih edilir genelde.
  • ModifyHeaders: Header'lar üzerinde her talep için ayrı ayrı modifikasyon yapmak yerine kalıcı bir modifikasyon istenirse bu araç kullanılabilir.TamperData ile bir arada kullanılabilir: TamperData talepler incelenerek hangi değerlerin set edileceğine karar vermede kullanılabilir; sonra Modify Headers kalıcı olarak bu değerlerin oturum boyunca kalıcı olarak set edilmesi için kullanılabilir (Automating the "housekeeping" of an attack tabiri kullanılıyor bu yüzden).

Hiç yorum yok:

Yorum Gönder

Web Uygulama Sızma Testleri İçin Kontrol Listeleri - V

Checklist for Web App Pentesting - V 6. Veri Denetimi (Data Validation) Testleri 6.1 Girdi Denetimi Bütün girdiler denetlenmelidir....