Ana içeriğe atla

Birazcık cURL olalım :)


Herkese merhabalar. Bu yazımda cURL hakkında bilgi verecem. Başlık ne kadar ciddiyetsiz olsa da içerik o kadar iyi olacak. Neyse isterseniz başlayalım..:)
Öncelikle cURL nedir? onu açıklayalım
cURL, çeşitli protokoller kullanarak veri aktarımı için bir kütüphane ve komut satırı aracı sağlayan bir bilgisayar yazılımı projesidir.
  • CURL, aşağıdaki nedenlerden dolayı çok kullanışlıdır…  
  • CURL, dosyaları göndermek ve almak için kullanımı kolay bir komut satırı aracıdır ve neredeyse tüm ana protokolleri (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP) destekler. , Kullanımda RTSP, SCP, SFTP, SMTP, SMTPS, TELNET ve TFTP). 
  • Shell scriptlerinin içinde kolaylıkla kullanılabilir.
  • İndirme duraklatma ve devam ettirme gibi özellikleri destekler.
  • Çeşitli görevler için yaklaşık 120 komut satırı seçeneğine sahiptir.
  • Tüm büyük işletim sistemlerinde çalışır (40'tan fazla işletim sistemi) 
  • Çerezleri, formları ve SSL'yi destekler 
  • Hem curl komut satırı aracı hem de libcurl kütüphanesi açık kaynaklardır, bu nedenle herhangi bir programınızda kullanılabilirler. 
  • Yapılandırma dosyalarını destekler.
  • Tek komutla birden çok yükleme İlerleme çubuğu, hız sınırlama ve indirme süresi ayrıntılarını gösterir 
  • IPV6 Desteği
CURL, dağıtımların çoğunda varsayılan olarak yüklü olarak gelir. Eğer yüklü değil ise, tek bir apt-get (apt-get install curl) veya yum (yum install curl) komutu ile yükleyebilirsiniz.
cURL İle Komut Injeksiyonu
İşletim sistemi tabanlı keyfi komut çalıştırmaya izin veren(Os command injection) komut enjeksiyon güvenlik açığından haberdar iseniz, hedeflenen sistemdeki dizin listesini kontrol etmek için aşağıdaki komutu yazın:
curl "http://192.168.0.16/commandexec/example1.php?127.0.0.1;ls"
bu komut "ls" komutunu çalıştırarak sistemde ki dosyaları okumamızı sağlayacak
cURL ile URL Üzerinden Dosya İndirme
Curl ayrıca verileri herhangi bir web sitesinden veya ana makineden indirmek için kullanılır, aşağıdaki komut putty.exe dosyasını web sitesinden indirir.
komutumuz: curl -O https://the.earth.li/~sgtatham/putty/latest/putty.exe

HTTP Header'ları okuma
Curl, http fiili kurcalamaya yardımcı olan HTTP yöntemini tanımlamak için kullanılır, aşağıdaki komutu yazın:
curl -v -X OPTIONS http://www.google.com

Dosya Dahil Etme Açığı(File Inclusion) için Kullanımı
Bu güvenlik açığı bir saldırganın web sunucusuna bir dosya eklemesine izin verir, istismar etmek için curl komutunu kullanılır.
Komutumuz: curl http://192.168.0.16/fileincl/example.php?page=/etc/passwd
cURL ile HTTP Kimlik Doğrulama
HTTP Kimlik Doğrulama, sunucunun kullanıcı adını ve şifresini bilgilendirmek için kullanılır, böylece gönderdiğiniz isteği göndermenize izin verildiğini doğrulayabilir. Curl, HTTP Temel kimlik doğrulaması kullanılır. Şimdi curl ile web sitesine giriş yapmak için kullanıcı adı ve şifreyi gerektiren aşağıdaki komutu yazın.
curl --data "uname=test&pass=test" http://testphp.vulnweb.com/userinfo.php
Yukarıda ki resme bakarsanız kullanıcıya ait özel bilgilerin yer aldığın görebilirsiniz.
cURL ile Dosya Yükleme
Web sitesine yükleme seçeneği, söz konusu web sitesine herhangi bir resim veya metin yüklenmesine izin verir, örneğin facebook'a resim yükleme. Hedeflenen sisteme putty.exe dosyasını yüklemek için curl komutunu kullanın.
curl -F 'image=@/root/Desktop/putty.exe' http://192.168.0.16/upload/example1.php
işlem tamamlandıktan sonra sistemde dosya dizinine giderseniz yüklemiş olduğunuz dosyaya erişirsiniz.

cURL  ile anlatacaklarım bu kadar. cURL hackerlar ya da pentesterlar için oldukça kullanışlı bir araçtır. Dilimin döndüğünce anlatmaya çalıştım. Kusurumuz olmuşsa AFFOLA. Başka bir yazıda görüşmek üzere..:)

Yorumlar