Web Güvenlik Açıkları Metodolojisi
{{#include ../../banners/hacktricks-training.md}}
Her Web Pentest'te, gizli ve belirgin birçok yerin savunmasız olabileceği durumlar vardır. Bu yazı, tüm olası yerlerde güvenlik açıklarını aradığınızı doğrulamak için bir kontrol listesi olarak tasarlanmıştır.
Proxiler
Tip
Günümüzde web uygulamaları genellikle bazı tür aracı proxy'ler kullanır, bunlar güvenlik açıklarını istismar etmek için (kötüye) kullanılabilir. Bu güvenlik açıklarının var olması için bir savunmasız proxy'nin mevcut olması gerekir, ancak genellikle arka uçta da ek bir güvenlik açığına ihtiyaç duyarlar.
- Hop-by-hop başlıklarının kötüye kullanılması
- Önbellek Zehirleme/Önbellek Aldatma
- HTTP İstek Kaçırma
- H2C Kaçırma
- Sunucu Tarafı Dahil Etme/Kenar Tarafı Dahil Etme
- Cloudflare'ı Ortaya Çıkarma
- XSLT Sunucu Tarafı Enjeksiyonu
- Proxy / WAF Koruma Aşma
Kullanıcı Girişi
Tip
Çoğu web uygulaması, kullanıcıların daha sonra işlenecek bazı verileri girmesine izin verir.
Sunucunun beklediği veri yapısına bağlı olarak bazı güvenlik açıkları uygulanabilir veya uygulanmayabilir.
Yansıtılan Değerler
Eğer girilen veriler bir şekilde yanıtta yansıtılabiliyorsa, sayfa çeşitli sorunlara karşı savunmasız olabilir.
- İstemci Tarafı Şablon Enjeksiyonu
- Komut Enjeksiyonu
- CRLF
- Asılı İşaretleme
- Dosya Dahil Etme/Yol Geçişi
- Açık Yönlendirme
- Prototip Kirliliği ile XSS
- Sunucu Tarafı Dahil Etme/Kenar Tarafı Dahil Etme
- Sunucu Tarafı İstek Sahteciliği
- Sunucu Tarafı Şablon Enjeksiyonu
- Ters Sekme Yakalama
- XSLT Sunucu Tarafı Enjeksiyonu
- XSS
- XSSI
- XS-Arama
Bahsedilen bazı güvenlik açıkları özel koşullar gerektirirken, diğerleri yalnızca içeriğin yansıtılmasını gerektirir. Hızlı bir şekilde güvenlik açıklarını test etmek için bazı ilginç poliglotlar bulabilirsiniz:
{{#ref}} ../pocs-and-polygloths-cheatsheet/ {{#endref}}
Arama Fonksiyonları
Eğer fonksiyon, arka uçta bir tür veri aramak için kullanılabiliyorsa, belki de onu keyfi verileri aramak için (kötüye) kullanabilirsiniz.
- Dosya Dahil Etme/Yol Geçişi
- NoSQL Enjeksiyonu
- LDAP Enjeksiyonu
- ReDoS
- SQL Enjeksiyonu
- XPATH Enjeksiyonu
Formlar, WebSocket'ler ve PostMsg'ler
Bir websocket bir mesaj gönderdiğinde veya kullanıcıların eylemler gerçekleştirmesine izin veren bir form olduğunda güvenlik açıkları ortaya çıkabilir.
HTTP Başlıkları
Web sunucusu tarafından verilen HTTP başlıklarına bağlı olarak bazı güvenlik açıkları mevcut olabilir.
Aşmalar
Bazı özel işlevlerde, bunları aşmak için bazı geçici çözümler yararlı olabilir.
- 2FA/OTP Aşma
- Ödeme Sürecini Aşma
- Captcha Aşma
- Giriş Aşma
- Yarış Durumu
- Hız Sınırı Aşma
- Unutulan Şifreyi Sıfırlama Aşma
- Kayıt Güvenlik Açıkları
Yapılandırılmış Nesneler / Özel Fonksiyonlar
Bazı işlevler, verilerin çok özel bir formatta yapılandırılmasını gerektirir (örneğin, bir dil serileştirilmiş nesne veya XML). Bu nedenle, uygulamanın bu tür verileri işlemesi gerektiğinden, savunmasız olup olmadığını belirlemek daha kolaydır.
Bazı özel işlevler de, girişin belirli bir formatta kullanılması durumunda savunmasız olabilir (örneğin, E-posta Başlık Enjeksiyonları).
Dosyalar
Dosya yüklemeye izin veren işlevler çeşitli sorunlara karşı savunmasız olabilir.
Kullanıcı girişini içeren dosyalar oluşturan işlevler beklenmedik kod çalıştırabilir.
Kullanıcıların, kullanıcılar tarafından yüklenen veya kullanıcı girişini içeren otomatik olarak oluşturulan dosyaları açması durumunda tehlikeye girebilir.
Dış Kimlik Yönetimi
Diğer Yardımcı Güvenlik Açıkları
Bu güvenlik açıkları, diğer güvenlik açıklarını istismar etmeye yardımcı olabilir.
{{#include ../../banners/hacktricks-training.md}}