THT DUYURU

 
 
Capture The Flag Vulnerable VM Walkthrough & Capture The Flag (CTF) Writeup Yazabileceğiniz Bölüm

Seçenekler

Web Site Zafiyet Çeşitleri(bWAPP)

нydrαтнαlleѕ - ait Kullanıcı Resmi (Avatar)
İstihbarat Tim Lideri
Üyelik tarihi:
01/2017
Mesajlar:
2.782
Konular:
208
Teşekkür (Etti):
772
Teşekkür (Aldı):
1413
Ticaret:
(0) %
9
2690
27-07-2020 13:05
#1


Merhaba arkadaşlar, bu konu altında en baştan en sona bWAPP çözümleri yapılacak. Web CTF Kulübü olarak ortak şekilde tamamlayacağız. adımlar şu şekilde olacaktır.
- Açık Türünün Belirtilmesi ve Tespiti,
- Açık Türünün İstismarı,
- Bulunan Açığın Oluşturacağı Zarar ve Açığın Kapatılma Yöntemleri,
Şeklinde konu işleyişi olacaktır.


1- HTML Injection - Reflected (GET) Reflected xss Kullanıcıdan girilmesi beklenen parametrenin payload şeklinde girilmesi ve öneml alınmamasından kaynaklı hata vermesinden dolayı oluşan bir hatadır. Sunucu veya Database için önemli derecede zararı yoktur. Ama güvenlik amacı ile get methodu engellenebilir. İlk olarak default gelen ekranımızı gösteriyorum, arayüz olarak bu şekilde karşımıza çıkıyor arkadaşlar,

Aynı şekilde arka planda bizi ilgilendiren kod yapısı da bu görselde gözükmektedir,


İlk olarak veri giriyoruz, karşımıza ne çıkacak bunu görmek istiyoruz ve veriyi girince,


Evet öğrenmek istediğimiz şey buydu bize nasıl bir çıktı vereceği ve öğrendik, şimdi kodlarada bakalım,


Kodlarda kontrolsüz şekilde direk girdiğimiz metni işlediğini gördük, şimdi birde html etiketleri ile
deneyelim.


<h1> başlık etiketi ile yazıyoruz, ve önceki girdiğimiz Hydra girdisi ile farklı olduğunu görüyoruz. Şimdi kodlara bakalım.


Görüldüğü gibi <h1>Hydra</h1> şeklinde işlemiş kodlara, bunun nedeni veri girdiğimiz yere güvenlik adına yazılmış bir kod olmamasından dolayıdır.


Önlem almak için uygulaması gereken adımlar, formlara kontrol amaçlı kod yazmak, çekilen verinin get yerine post şeklinde çekilmesidir. Video Yakın zamanda eklenecek
---------------------

Yasama, Yürütme, нydrαтнαlleѕ..
Bizi biz eden ya da bir üzen bize uyar her şey..
Konu нydrαтнαlleѕ tarafından (27-07-2020 16:21 Saat 16:21 ) değiştirilmiştir.
Ego1st - ait Kullanıcı Resmi (Avatar)
Uzman Üye
Üyelik tarihi:
03/2018
Mesajlar:
1.091
Konular:
98
Ticaret:
(0) %
27-07-2020 13:18
#2
Web CTF Çözüm Kulübü | bWAPP SQL Injection (GET/Search)'in çözümü.

Öncelikle SQL Injection (GET/SEARCH) nedir? Bizim örneğimizde bir film veritabanı var ve biz bir arama yani search yapıyoruz eğer yazdığımız film ile veritabanında bir eşleşme varsa bu GET ile alıyoruz. Buradaki hata ise veritabanındaki bir Syntax yani yazım hatası olması sebebiyle arama yerinde SQL komutları çalıştırabiliyoruz

Öncelikle hiçbir işlem yapmadan sadece ' (tırnak) işaretiyle açık var mı yok mu bir bakalım.


Gördüğünüz gibi SQL syntax'da hata olduğunu belirten bir mesaj aldık, ve bir filtreleme olmadığını da anladık.

Şimdi bir film ismini girdikten sonra UNION SELECT işlemini users table'ı için yapmayı deneyelim.


Aldığımız hatayı şu şekilde açıklayabiliriz. UNION SELECT işlemimiz yani verilere ulaşma girişimimiz başarılı fakat burda hata olmasının sebebi, filmler(veritabanındaki ismini bilmiyoruz) users table'ının aynı sayıda column'a sahip olmaması.

Şimdi ise filmler table'ında olduğu gibi sadece 5 tane column çekelim. SELECT ile FROM'un arasındaki yıldızı kaldırıp 1,2,3,4,5'i koyalım.


Gördüğünüz gibi yine aynı hatayı aldık. Burada filmler table'ının 5 tane görüntülenebilir column'ı olduğuna göre 6'dan itibaren denemeye devam edelim.


7'yi deneyelim

Ve evet şu anda anlamlı bir veri olmasada veritabanına sızmayı başardık.

Bu sızmanın önüne geçebilmek için alınması gereken önlem sorgu yapılan yerde filtreleme işleminin yapılmasıdır.
x4807 - ait Kullanıcı Resmi (Avatar)
Analizci
Üyelik tarihi:
08/2019
Nereden:
\x20
Mesajlar:
963
Konular:
111
Ticaret:
(0) %
27-07-2020 14:49
#3
bWAPP iFrame İnjection (Low Security)

Öncelikle sağ üst taraftan iFrame İnjection'u seçiyoruz ve security level bölümünden low'u seçiyoruz. Seçtikten sonra "Hack" butonuna basıyoruz.





Gördüğünüz gibi önümüze bir robots.txt bölümü çıkıyor.






Kaynak kodundan iframe kullanıldığını görebiliyoruz.





Kaynak kodu ve URL'ye uygun şekilde URL üzerinden istediğimiz kodları enjekte etmeye çalışıyoruz ve admin paneline ulaşıyoruz. (URL yerine BurpSuite aracı da kullanılabilirdi.)





Bu injection'ı engellemek için iframe kodlarının doğru yazılması ve konfigürasyonlarının doğru ayarlanması gerekmektedir.
--------------------- systemctl poweroff
Konu x4807 tarafından (27-07-2020 14:52 Saat 14:52 ) değiştirilmiştir.
bil4derim - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2020
Nereden:
İzmir
Mesajlar:
105
Konular:
28
Teşekkür (Etti):
90
Teşekkür (Aldı):
92
Ticaret:
(0) %
27-07-2020 17:54
#4



Merhabalar, bugün ilk kulüp görevim ve ilk konum olan olan HTML Injection - Reflected (POST) açığını anlatacağım
Basit bir mantığı var.

Senaryo şu: Sitede giriş yapabileceğimiz yerler var(Kullanıcı giriş yerleri, ziyaretçi mesaj bölümü, site içi arama bölümü vs. olabilir).
Bizim bu girdiğimiz verileri ekrana yazdırıyor.





Bunu nasıl sömürebiliriz? İnceleeyelim;

öncelikle herhangi bir kelime yazalım bakalım kaynak kodunda nasıl bir değişiklik oluyor?




Gördüğünüz gibi girdiğimiz şeyleri direk kodların altına hiçbir güvenlik önlemi almadan ekliyor.

Şöyle düşünelim: Ben bu giriş yerlerine sitenin yapısına etki edecek kodlar yazarsam bu kodları da ekleyecekmi? deneyelim;

Ben buraya resim eklemek istiyorum. Bunu HTML koduyla yazarsam bu kodu okuyup ekrana resimimi basar mı?

Kod:
<img src="https://i.hizliresim.com/UXGP5l.png">



go'ya tıklayaylım





Eveeeet! İşte bu! HTML kodu ile girdiğim resmi ekrana bastı.

__________

İyi güzel de ne demek oluyor bu?

Site bizden aldığı verileri belli süzgeçlerden geçirmeden işlediği için açık oluşuyor.
Bizde istediğimiz gibi sitede kod çalıştırabiliyoruz. Altta gördüğünüz gibi direk kodumuzu siteye eklemiş.





Anlatacaklarım bu kadardı. Hepinize iyi çalışmalar



Videolu anlatım;

Konu bil4derim tarafından (27-07-2020 17:56 Saat 17:56 ) değiştirilmiştir.
Ego1st - ait Kullanıcı Resmi (Avatar)
Uzman Üye
Üyelik tarihi:
03/2018
Mesajlar:
1.091
Konular:
98
Ticaret:
(0) %
04-08-2020 14:20
#5
Cross-Site Request Forgery (Password) yani İstek Sahtekarlığı sitenin sizden istediği parametreleri manuel olarak değiştirmenize imkan tanır.

İstek Sahtekarlığı ile GET metodu (parametreleri dahil) bir isteği herhangi bir kullanıcıya attığınızda kullanıcının oturumu açıksa sizin isteğinize göre şifresi değişir. (Admin dahil)

bWAPP CSRF (Change Password) Çözümü

Öncelikle bizden istenen şifre ve onaylama şifresini asd, asd olarak gönderip BurpSuite verilerine bakıyoruz.



Gönderilen veya sitenin bizden aldığı parametreler bu şekilde



Bu işlemi seri bir şekilde tekrar edip yorulmamak için Burp Suite içinde saağ tık yapıp Send To Repeater diyoruz. Repeater genel görünümü şu şekilde



Parametrelerimizden emin olduktan sonra Send diyoruz ve bizi aşağıda "The password has been changed!" yazısı karşılıyor



Parametrelerimizden birini asd2 olarak değiştirdikten sonra bir daha deniyoruz.



Gördüğünüz gibi "The password don't match!" hatasını verdi.



Bundan sonra başka bir kullanıcı girmiş gibi Bee-Bug'ı yeniden açıyoruz ve bee bug şifre ve kullanıcı adının artık geçerli olmadığını görüyoruz.



Değiştirdiğimiz şifre ile girdiğimizde bWAPP ana menüsünün açıldığını görüyoruz.



Saldırının önlenmesi için alınabilecek önlemler;
Parametreler URL şeklinde gönderidliği için linke tıklama ile hesaba müdahalenin önü açık
Parametrelerin URL'de gözükmemesi alınabilecek önlemlerden bir tanesidir.
x4807, нydrαтнαlleѕ, M3m0ry, ber0l Teşekkür etti.
bil4derim - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2020
Nereden:
İzmir
Mesajlar:
105
Konular:
28
Teşekkür (Etti):
90
Teşekkür (Aldı):
92
Ticaret:
(0) %
04-08-2020 22:12
#6
Merhabalar.
Açığımız: SQL Injection (Login Form/Hero)

Mantık şu;
Gerekli filtrelerden geçirilmeyen kullanıcı girişleri veritabanına etki edebiliyor.
Burada da bundan faydalanacağız. Peki etki yaratacak kodlar nedir?
Bunun için hazır payload kullanacağım. Linkini de aşağı bırakacağım.
Sizler başka sitelerden farklı payloadlar bulabilir programlama bilgisiyle kendi payloadınızı oluşturabilirsiniz.

Payload linki: https://medium.com/@ismailtasdelen/s...t-b97656cfd66b

Seçtiğim payload: admin'or 1=1 or ''='
_____________



Açıklı sayfamız burası;




_____________

Herhangi bir şey yazdığımızda normal olarak kullanıcı adı ve şifre yanlış olduğu için hata veriyor.
İzin vermiyor.




_____________


Payloadımızı yazalım;




Gördüğünüz gibi welcome neo ....
Yani? Yani sırf gerekli önlemler alınmadığı için kullanıcı şifresi olmadan giriş yaptık.





Bu kadardı herkese iyi akşamlar...




x4807, нydrαтнαlleѕ, M3m0ry, ber0l Teşekkür etti.
bil4derim - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2020
Nereden:
İzmir
Mesajlar:
105
Konular:
28
Teşekkür (Etti):
90
Teşekkür (Aldı):
92
Ticaret:
(0) %
05-08-2020 22:35
#7
Merhabalar
Mevzu: XSS - Reflected (Back Button)

Mantık şu;
Biz site içerisinde herhangi bir butona tıkladığımızda buton, komutlarla bizi yönlendiriyor.
İllegal düşünelim: Butonun komutlarına müdahale etmeye çalışak nasıl olur? Deneyelim...



Butona tıkladığımızda bizi geri götürüyor. Kodlarına bakalım;
Bakın aşağıda kullanıcıyı yönlendiren komut bulunmakta. Biz buna müdahale etmeye çalışacağız.




Müdahale edebilmek için burp suite aracını kullanacağız
Burp suite kullanımını video izleyerek kavrayabilirsiniz.
Ayrıca forumda bu konuyla alakalı birçok konu bulunmakta. Arama bölümünü kullanabilirsiniz.

Öncelikle anasayfaya gelip burpu çalıştıralım sonrasında açıklı sayfayı seçip oraya gidelim.




Bugün ilk kez bir sitenin kaynak kodlarına bakarak payload yazdım. Onu sizinle paylaşacağım.
Bilindik bir şey ama ben yaptım
Tabikide siz başka sitelerden payload bulabilir veya kendi payloadınızı yazabilirsiniz.

Payload: '"><img src="https://i.hizliresim.com/7ozE4m.png">

Referer kısımlarını payload ile değiştirelim.



Forward dediğimizde site çalışmaya başlıyor ve ekrana resmimizi basıyor.




Kaynak kodlarına bakalım;



Anlatmaya gerek yok görüyorsunuz...



x4807, нydrαтнαlleѕ, M3m0ry, ber0l Teşekkür etti.
bil4derim - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
07/2020
Nereden:
İzmir
Mesajlar:
105
Konular:
28
Teşekkür (Etti):
90
Teşekkür (Aldı):
92
Ticaret:
(0) %
06-08-2020 11:56
#8
Merhabalar

Konu: Man-in-the-Middle Attack (HTTP)

Ortadaki adam saldırısını herkes duymuştur. Bugün de onu konuşacağız.

Mantık basit: hedef ile sunucu arasına giriyoruz. Bilgiler bizim üzerimizden geçtiği için
bizler de şifredir kişisel bilgidir vs. kurban http protokollerinden yaptığı her girişi yakalıyoruz



Burda da bir giriş var.
Biz bu ağı dinleyeceğiz ve kullanıcının girdiği şifreyi yakalamaya çalışacağız.




Ağı dinlemek için Ettercap'ı kullanacağız. Linuxda kurulu olarak geliyor.
Ettercap ile ilgili birçok konu ve video forumumuzda bulunmaktadır. Farklı yazılımlar aracılığıyla da mitm yapılmaktadır.
Formumuzdaki arama bölümünü kullanabilirsiniz.

Ettercap'ı çalıştıralım;
Karşımıza böyle bir ekran gelecek.
Sniffing at startup a basalım ve primary interface'imizi(ifconfig yazıp bakabilirsiniz) seçip onaylayalım.
Otomatik olarak dinlemeye alacak







Sayfamıza dönüp giriş yapalım;





Gördüğünüz gibi Ettercap kullanıcı girişini yakaladı




Burdan şunu çıkartalım: öyle her beleş wifiye atlamayın. Tanımadığınız insanlarla ortak ağda bulunmayın. Olabildiğince htpps kullanın.


Anlatacaklarım bu kadardı herkese iyi çalışmalar...
нydrαтнαlleѕ, M3m0ry Teşekkür etti.
Ego1st - ait Kullanıcı Resmi (Avatar)
Uzman Üye
Üyelik tarihi:
03/2018
Mesajlar:
1.091
Konular:
98
Ticaret:
(0) %
06-08-2020 12:20
#9
XSS Reflected - GET

Açığın mantığı bizden herhangi bir bilgi veya text istenen yerde script kodu çalıştırmaya denir.

Açıklı sitemize girip site nasıl çalışıyor bakalım, Ego1st THT yazdırdım


Gördüğünüz gibi ad ve soyad değerlerini olduğu gibi alıp aşağıda yazdırıyor. Şimdi name kısmında xss kodu çalıştırmayı deneyelim.


Evet, şimdi çalıştırdıktan sonra URL'ye bakalım.


Resimde ve başlıkta da gördüğünüz gibi bu bir Stored açık değil. Yani başka bir kullanıcı aynı sayfaya girdiğinde hata almaz.

Ancak eğer script kodunun çalıştırıldığı URL'ye giderse script kodu çalıştırılır ve kullanıcının bilgilerine erişmek dahil birçok işlem yaptırılabilir.

Önlem için basit bir filtreleme işlemi yeterli olacaktır. Örneğin text başında < veya > işareti varsa yazdırma gibi.
нydrαтнαlleѕ, x4807, M3m0ry, ber0l Teşekkür etti.
Ego1st - ait Kullanıcı Resmi (Avatar)
Uzman Üye
Üyelik tarihi:
03/2018
Mesajlar:
1.091
Konular:
98
Ticaret:
(0) %
06-08-2020 16:59
#10
XSS Stored User-Agent

Karşımızda her giriş yaptığımızda tarihi, IP Adresini, tarayıcı ve sistem bilgilerini kayıt edip gösteren bir site var.


Şimdi Burp Suite'den intercept'i açıyoruz ve sayfayı yeniliyoruz. Daha sonra siteye bilgisayarımız tarafından gönderilen user-agent bilgisinin yerine script kodumuzu yazıyoruz.


Intercept açık halde forward forward yaptığımız zaman bize ortada /bWAPP/'xx:xx'onerror=alert(1)'i veriyor, denediğimiz zaman script kodumuzun çalışmadığını görüyoruz.


Bu sefer script kodumuzu değiştirerek deneyelim.


Gördüğünüz gibi 1 mesajını almayı başardık. Bundan sonra siteye giren her kişi 1 mesajını görecek.


Açığın kapatılması için alınması gereken önlem filtreleme işlemidir.
нydrαтнαlleѕ, x4807, M3m0ry, ber0l Teşekkür etti.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler