Web Site Zafiyet Çeşitleri(bWAPP)

нydrαтнαlleѕ

İSTİHBARAT!
8 Ocak 2017
3,208
2
1,444
banner.jpg


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,
1.png

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


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


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


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


<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.
6.png


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.
7.png


Ö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
 
Son düzenleme:

Ego1st

Uzman üye
15 Mar 2018
1,109
25
Cevap: bWAPP Çözümleri

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.
Y1DiXw.png


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.
s3eFPo.png


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.
uK68ZE.png


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.
uK68ZE.png


7'yi deneyelim
pLQqzu.png

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

Katılımcı Üye
10 Ağu 2019
985
17
Cevap: bWAPP Çözümleri

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.



BVOeJJ.png


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



UBebUc.png



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


f9RyfR.png



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.)



6Q0835.png


Bu injection'ı engellemek için iframe kodlarının doğru yazılması ve konfigürasyonlarının doğru ayarlanması gerekmektedir.
 
Son düzenleme:

bil4derim

Üye
9 Tem 2020
105
0
İzmir
code-web-development-development-html-wallpaper-preview.jpg



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 :eek:pcuk

PositiveAnguishedKitfox-size_restricted.gif


Videolu anlatım;

[ame]https://www.youtube.com/watch?v=-0A7q0h7svQ[/ame]​
 
Son düzenleme:

Ego1st

Uzman üye
15 Mar 2018
1,109
25
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.
 

bil4derim

Üye
9 Tem 2020
105
0
İzmir
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/sql-injection-payload-list-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...




 

bil4derim

Üye
9 Tem 2020
105
0
İzmir
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...

AfraidInnocentIndianspinyloach-size_restricted.gif


 

bil4derim

Üye
9 Tem 2020
105
0
İzmir
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

MITM.jpg


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...
 

Ego1st

Uzman üye
15 Mar 2018
1,109
25
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.
 

Ego1st

Uzman üye
15 Mar 2018
1,109
25
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.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.