Arjun

Arjun, gizli HTTP parametrelerini bulmak için özel olarak oluşturulmuş bir komut satırı aracıdır. Günümüz web uygulamaları, dinamik işlevselliği sağlamak için çeşitli parametrelerle donatılmıştır. Arjun, bu parametreleri keşfetmek suretiyle size yeni test uç noktaları sunmayı amaçlar.

Peki bu parametre nedir

Parametre, bir sistemin veya işlevin belirli bir özelliğini, davranışını veya ayarını kontrol etmek veya değiştirmek için kullanılan bir değer veya değişkendir. Web geliştirme bağlamında, bu terim genellikle HTTP istekleri veya komutlarıyla iletilen bilgileri ifade eder. Bir HTTP isteği gönderilirken, URL'de veya istek gövdesinde bulunan parametreler, sunucuya belirli bir isteğin detaylarını bildirir. Bu parametreler, web sunucusunun isteğe uygun yanıtlar vermesini sağlar. Örneğin, bir arama motoruna bir arama sorgusu gönderirken, URL'de "?q=aranacak_kelime" gibi bir parametre bulunur. Bu parametre, arama motoruna hangi kelimenin aranacağını belirtir. Benzer şekilde, bir web formu gönderirken, form alanlarındaki veriler istek gövdesinde parametre olarak iletilir. Bu parametreler, sunucunun kullanıcı tarafından sağlanan bilgilere göre özelleştirilmiş yanıtlar üretmesini sağlar.

Kurulum

Arjun'un düzgün çalışması için en az Python 3.4 veya daha yeni bir sürüm gereklidir. Mevcut Python sürümünüzü kontrol etmek için terminalde veya komut istemcisinde python3 -V komutunu çalıştırabilirsiniz. Eğer bu komut, Python 3.4 veya üzeri bir sürüm göstermiyorsa, aşağıdaki komutla gerekli sürümü yükleyebilirsiniz:

   sudo apt-get update
   sudo apt-get install python3

Arjun, aktif olarak geliştirilmekte olan ve s0md3v tarafından GitHub'da barınan bir projedir. En güncel sürümü elde etmek ve kullanmaya başlamak için GitHub deposundan gitmek gerekiyor. Ardından, projeyi indirecek ve kurulumu gerçekleştireceğiz. Böylece en güncel özelliklerle çalışmaya başlayacağız. (GitHub)

git clone https://github.com/s0md3v/Arjun

Bu komut, Arjun'un GitHub deposundaki en son sürümünü indirecek ve yerel bilgisayarınıza kopyalayacaktır. Artık projeyi yerel ortamınızda kullanmaya başlayabilirsiniz.

Kullanım

Öncelikle, Arjun'un parametrelerini incelemek için terminalde veya komut istemcisinde aşağıdaki komutu kullanarak Arjun'un yardım belgesini görüntüleyebiliriz:

arjun -h

Bu komut, Arjun'un kullanılabilir parametrelerini ve kullanım talimatlarını detaylı bir şekilde sunacaktır.

 -h, --help                  Bu yardım mesajını gösterir ve programı sonlandırır.
 -u URL                      Hedef URL.
 -o JSON_FILE, -oJ JSON_FILE JSON formatında çıktı dosyası için dosya yolunu belirtir.
 -oT TEXT_FILE               Metin formatında çıktı dosyası için dosya yolunu belirtir.
 -oB [BURP_PORT]             Burp Suite Proxy'ye çıktı göndermek için port belirtir. Varsayılan bağlantı noktası 8080'dir.
 -d DELAY                    İstekler arasındaki gecikmeyi saniye cinsinden belirtir. (varsayılan: 0)
 -t THREADS                  Eşzamanlı iş parçacığı sayısını belirtir. (varsayılan: 5)
 -w WORDLIST                 Kullanılacak sözcük listesi dosya yolunu belirtir. (varsayılan: {arjundir}/db/large.txt)
 -m METHOD                   Kullanılacak HTTP istek yöntemini belirtir: GET/POST/XML/JSON/HEADERS. (varsayılan: GET)
 -i [IMPORT_FILE]            Hedef URL'leri dosyadan içe aktarır.
 -T TIMEOUT                  HTTP istek zaman aşımını saniye cinsinden belirtir. (varsayılan: 15)
 -c CHUNKS                   Yığın boyutunu belirtir. Bir kerede gönderilecek parametre sayısını belirler.
 -q                          Sessiz modu etkinleştirir. Çıktı alınmaz.
 --headers [HEADERS]         Başlık ekler. Birden fazla başlık için her bir başlığı yeni bir satırda belirtin.
 --passive [PASSIVE]         Pasif kaynaklardan parametre adlarını toplar (örneğin Wayback, CommonCrawl ve OTX).
 --stable                    Hız yerine kararlılığı tercih eder.
 --include INCLUDE           Belirli verileri her isteğe dahil eder.
 --disable-redirects         Yönlendirmeleri devre dışı bırakır.
  • Çok basit bir komutla başlayalım ve (-u) komutu ile bir url girelim (https://orneksite.com)

Burada verilen url de "auth", "q" ve "text" parametrelerini arayarak keşfetmiştir.

  • Diğer tüm araçlarda olduğu gibi, daha önce bulunmayan şeyleri bulmanın gücü kendi özel listelerinizi kullanmaktır. Kendi parametre listenizi (-w) bayrağı ile sağlayabilirsiniz.

Burada verilen url de kullanıcı tarafından verilen wordlist üzerinde tarama yaparak "auth", "q" ve "text" parametrelerini keşfetmiştir.

  • -m parametresi ile HTTP methodunu belirleyebiliriz(-m parametresini kullanmazsanız varsayılan olarak GET yöntemini kullanacaktır.)

Özetle

Arjun, gizli parametreleri tespit edebilen bir araçtır ve daha geniş çaplı saldırılar için kullanılabilir. Bu aracı kullanarak, URL listesi sağlayarak Arjun'u otomasyon süreçlerinizde hızla kullanabilir ve çıktıyı başka bir araç tarafından kullanılmak üzere bir JSON dosyasına aktarabilirsiniz.

Last updated