Gizli Parametreleri Bulma: Gelişmiş numaralandırma kılavuzu


Keşif, Hidden Parametre Keşfi ile, genellikle yetersiz doğrulama ile bırakıldıkları için gizli parametre keşfi ile böcek ödül avında ayrılmaz bir rol oynar. Bu tür parametreleri genellikle SQL’ler, XSS, Idors ve hatta komut enjeksiyonları gibi yaygın enjeksiyon güvenlik açıklarına karşı daha duyarlı hale getirmek.

Bu makalede, tüm işlemi ölçekte otomatikleştirmenize yardımcı olacak açık kaynaklı araçlar da dahil olmak üzere, olası gizli giriş parametrelerini tespit etmenin 5 çeşitli yollarını ele alacağız.

Hadi dalalım!

Gizli parametreleri keşfetmek için 5 yönteme dalmadan önce, önce nasıl ortaya çıktıklarını anlamalıyız. Birçok geliştirici bilinçsizce bir savunma mekanizması olarak belirsizliğe güvenir. Web uygulama arabiriminde belgelenmemiş veya kullanılmadıysa saldırganların (gövde veya sorgu) parametresini bulamayacağına inanıyorlar. Bu özellikle yaygındır:

  • Geliştirmeden kalan hata ayıklama parametreleri (önbellek bypass parametreleri gibi)

  • Yalnızca dahili veya yönetici işlev parametreleri (izleme parametreleri gibi)

  • Eski API uç noktaları ve uygulama yolları

  • Son kullanıcı için değil, yine de herkes tarafından erişilebilir olan diğer belgesiz parametreler

Bu makale boyunca belgelenen yöntemleri kullanarak, yeterli doğrulama içermeyen ve son kullanıcı tarafından erişilebilir olan gizli parametreleri belirleyebileceğiz. İlk keşif yöntemine girelim.

Daha fazla parametre keşfetmenin en basit yolu, ‘İD’ ve ‘isim’ Biçim dışı giriş alanları dahil olmak üzere her HTML öğesinin özellikleri. Bu genellikle hedefi sürünerek ve öznitelik değerlerini ayrıştırarak yapılır. Gospider ve GetallParams (GAP) gibi otomatik araçlar bu görev için özel olarak dağıtılabilir.

Aşağıdaki basitleştirilmiş örnekte, 2 parametreyi geri alabiliriz; ‘şifre’ Ve ‘Kullanıcı kimliği.’ Biri görünür bir giriş alanından, diğeri ise kullanıcı kimliğini yansıtmak için kullanıldı.

HTML kaynak kodunda gizli parametreleri bulmak

Burp süitinde gizli form giriş alanlarını vurgulamak

Burp Suite ve Zaproxy gibi proxy interceptors, gizli giriş alanlarını vurgulamanızı sağlar. HTTP vatansız olduğundan, geliştiriciler web uygulamalarındaki sayfa yükleri arasındaki verilerin korunmasına yardımcı olmak için genellikle gizli giriş alanlarını kullanırlar. Temel olarak, SQLI, XSS veya diğer herhangi bir yük dizesi için herhangi bir yükümüzü enjekte etmek için ideal yer. Tıpkı önceki örnekte gördüğümüz gibi.

Burp süitinde gizli parametreleri vurgulamak

Hepimiz biliyoruz ki, JavaScript dosyaları, API uç noktalarına, uygulama yollarına ve elbette giriş parametrelerine birkaç referans içerdikleri için hata ödül avcıları için bir altın madeni olduğunu biliyoruz. JavaScript dosyalarını incelemek ve parametrelerin değerlerini ayrıştıran ve alan belirli işlev çağrıları aramak burada anahtardır.

Aşağıdaki basitleştirilmiş örnekte, ‘tip’ Sorgu parametresi.

JavaScript kodunda gizli parametreleri bulmak

Değişken Adları

Yalnızca önceden tanımlanmış HTTP isteklerinde veya ayrıştırma işlevlerinde potansiyel parametrelere bakmanın yanı sıra, değişken adların bir listesini de deneyebilir ve bunları gövde veya sorgu parametreleri olarak talep edebilirsiniz! Bu harika ipucunu bizimle paylaştığı için @Hakluke’ye çok teşekkürler!

İstemci tarafı parametrelerini engelleyen

Yeni parametreleri tespit etmenin bir başka yolu da bunları istemci tarafında kesmektir. Değerlendirme Villain gibi araçlar, tedarik edilen giriş parametrelerinden herhangi biri DOM tarafından işlenirse, kesmenize ve bildirilmenize olanak tanır. Bu davranış genellikle DOM tabanlı bölgeler arası komut dosyası (XSS) gibi DOM tabanlı bir güvenlik açığını gösterir.

Google Dorking, keşif yapmak ve hedefinize bağlı parametreler de dahil olmak üzere daha ilginç URL’ler bulmak için başka bir yöntemdir. Bu yöntem iyi bilinse de, otomatikleştirmenin zor olduğunu kanıtlar, çoğu araştırmacının arama motorları aracılığıyla keşfedilmemiş içerik aramayı atlamasını sağlar.

Basit bir arama, test ederken deneyebileceğiniz 10’lu yeni potansiyel parametreler verebilir:

site:.example.com inurl:? || inurl:&

Google Search (Dorking) Kullanarak Gizli Parametreleri Bulma

Aynı şeyi Bing, DuckDuckgo, Yandex ve hatta GitHub dahil olmak üzere diğer büyük arama motoru veya platformları için uygulayabilirsiniz!

İnternet arşivini kullanarak daha gelişmiş olmak

İnternet arşivi (Wayback makinesi olarak da adlandırılır), internetteki neredeyse tüm web sayfalarının birden fazla sürümünü dizine eklediği için daha fazla parametre keşfetmenize yardımcı olabilir. Örneğin, (sorgu) parametreleri olan daha fazla dizinli URL’leri bulmanıza yardımcı olacak harika bir araç haline getirir.

WaybackMachine kullanan parametreleri bulmak için web.archive.org adresine gidin ve hedefinizi arayın. Daha sonra, sorgu parametreleri içeren dizinli URL’ler için filtre.

Gizli parametreleri bulmak için internet arşivinden yararlanma örneği (Wayback Machine)

UÇ! İlginç bir JavaScript dosyası mı buldunuz? Potansiyel olarak daha fazla (eski) parametreleri bulmak için Wayback makinesinde dizinli bir sürümü görüntüleymeye çalışın! Daha derin dalmak Gelişmiş keşif teknikleri!

Parametre bulantı, gizli ve referanssız parametreleri keşfetmenin en doğru ve ölçeklenebilir yoludur. Muhtemelen bir parametre tarafından indüklenen yanıt değişikliklerini gözlemleyerek, belirli bir parametre arka uç tarafından işlenirse doğru bir şekilde genel bir bakış elde edebilirsiniz.

Neyse ki bizim için, bu görevi otomatikleştirmek için FFUF, Arjun, X8, Papaminer, vb. Gibi birden fazla araç da vardır. Ana zorluk, kaba forma için kullandığınız kelime listesinden kaynaklanmaktadır.

Arjun, açık kaynaklı, Python tabanlı bir parametre keşif aracıdır

Genel olarak, adlandırma kuralları, yerelleştirme, programlama dili veya çerçevesi gibi uygulamaya bağlı birkaç faktör alarak oluşturulan özel kelime listeleri, genel parametre kelime listelerinden daha iyi performans gösterme eğilimindedir.

Bununla birlikte, hem en çok kullanılan parametre adlarını içeren bir özel hem de genel bir kelime listesinin bir kombinasyonu daha önerilir ve daha doğru sonuçlar sağlayabilir.

UÇ! Özel kelime listeleri, referanssız uç noktaların ve uygulama yollarının numaralandırılması da dahil olmak üzere her türlü içerik keşfi için dağıtılabilir! Kendinizi nasıl hazırlayabileceğiniz hakkında daha fazla bilgi edinmek için derinlemesine makalemizi okuyun hedeflenen kelime listeleri Özel hedefleriniz için!

Bazı durumlarda, sorgu ve gövde parametreleri birden çok uygulama yolu ve API uç noktaları boyunca yeniden kullanılır ve kabul edilir. Hem Zaproxy hem de Burp Suite, size kolayca ihraç edebileceğiniz ve ayrıştırabileceğiniz bir tarama geçmişi sağlar. Ayrılmış parametrelerin bazılarını farklı uç noktalarda denemek her zaman denemeye değer.

UÇ! Hedefinizin bir mobil uygulaması varsa, kaynak kodunu da incelediğinizden ve parametreleri içeren web uygulamasına işaret eden URL’leri veya diğer bağlantıları aradığınızdan emin olun!

Otomatik takım, gizli parametrelerin keşfi de dahil olmak üzere tekrarlayan tarama görevlerinizi hızlandırmaya yardımcı olabilir. Aşağıda, referanssız giriş parametrelerini pasif ve aktif olarak numaralandırmanıza yardımcı olabilecek (belirli bir sırayla) listelenen birkaç ücretsiz, açık kaynaklı araç bulunmaktadır.

Arjun

Arjun, popüler açık kaynaklı, Python tabanlı bir parametre keşif aracıdır. Birden fazla içerik türü ve HTTP istek yöntemleri için destek sağlar, çeşitli bağlamlarda parametreleri keşfetmek için idealdir. Arjun GitHub’da mevcuttur:

https://github.com/s0md3v/arjun

x8

X8, yanan, pasla çalışan gizli bir parametre keşif paketidir. Kapsamlı yapılandırma desteği ve özel kelime listeleri kullanma yeteneği ile, her türlü parametre keşif taramasını gerçekleştirmeyi kolaylaştırır. X8 GitHub’da mevcuttur:

https://github.com/sh1yo/x8

Cemaat

Pazamminer, geğirme süitinde aktif olarak referanssız parametreleri bulmak için kullanımı basit bir eklentidir. Ayrıca, hızlı bir şekilde yeni kabarık taramalar başlatmanıza yardımcı olacak birkaç kapsamlı kelime listesi ile birlikte gelir. Pazamminer, Bapp mağazasında ve GitHub’da mevcuttur:

https://github.com/portswigger/param-miner

Getallparams (Gap)

Getallparams (GAP), yeni parametreleri aktif ve pasif olarak tespit edebilen alternatif bir gübre paketi uzantısıdır. Uzantı, özel kelime listeleri oluşturmak için de kullanılabilir, bu da bunu vazgeçilmez bir araç haline getirir. GAP GitHub’da mevcuttur:

https://github.com/xnl-h4ck3r/gap-burp-extension

Herhangi bir hedefe yaklaştığınızda keşif çok önemlidir. Gizli giriş parametrelerini tanımlamak daha da önemlidir ve size bir kenar sağlayabilir, çünkü bunlar genellikle unutulur (veya kasıtlı olarak gizlenir) ve yeterli doğrulamadan yoksundur.

Yani, daha fazla güvenlik açıkları bulmak için daha gizli parametrelerin nasıl keşfedileceğini öğrendiniz … şu anda, becerilerinizi test etme zamanı! Savunmasız laboratuvarlarda pratik yaparak başlayabilir veya … Intigriti’deki 70+ genel hata ödül programlarımıza göz atabilirsiniz ve belki de bir sonraki gönderiminizde bir ödül kazanın!

Bugün Intigriti’de hacklemeye başlayın



Source link