CSRF SALDIRILARI

DVWA Nedir? Kısaca bilgilendirmek istiyorum.

DVWA yani “Damn Vulnerable Web Application” bir web sitesi üzerinde yapabileceklerinizi test edebileceğiniz laboratuvar ortamıdır. Türkçe karşılığı “Zafiyetli Web Uygulaması”dır.

Buradaki amaç nedir peki?

Amaç legal bir ortamda web uygulama güvenliğinde kendini geliştirmek isteyenler için oluşturulmuştur.

DVWA içinde 8 adet zafiyet barındırır ve her biri 3 zorluk seviyesine ayrılır.

Barındırdığı Zafiyetler:

  • Brute Force
  • Command Execution
  • CSRF
  • File Inclusion
  • SQL Injection
  • Upload
  • XSS Reflected
  • XSS  Stored

Zorluk seviyeleri:

Low: Basit seviye

Medium: Orta seviye

High: Zor seviye

Bu makalemde sizlerle birlikte Nedir bu CSRF? Nerede nasıl kullanılır?  sorularına birlikte cevap bulacağız ve son olarak 3 çeşit olmak üzere bu saldırıları gerçekleştireceğiz.

Nedir bu CSRF?

CSRF (Croos Site Request Forgery)  yani Türkçesi “Siteler arası istek sahtekarlığı” şeklinde olan CSRF zafiyeti; Herhangi bir web uygulaması kullanan kullanıcının isteği dışında işlem veya işlemler yapılmasıdır. CSRF zafiyeti “XSRF” ve “Session Riding” olarak da bilinmektedir.

CSRF zafiyeti ile verilebilecek zararlar kurbanın web uygulama üzerinde ki yetkilerine göre değişkenlik gösterebilir. Yani standart bir kullanıcı üzerinden verilebilecek zarar ile daha yetkili birisi üzerinden verilebilecek zarar farklılık gösterir.

Ne gibi zararlar verilir?

Bunu basit bir örnekle açıklamak istiyorum.

Örneğin; siz online olarak bankanızın web sitesi üzerinden bir alışveriş yaptınız. İşlemlerinizi bitirdiniz fakat oturum bilgilerini silmeden çıkış yaptınız veya bankanız bu bilgileri yok etmedi, eğer kurban olarak siz seçilmişseniz büyük tehlikedesiniz. Basit bir html veya javascript kodunu siteye gömerek sizin adınıza işlem yapabilir.

Örnek bir kod;

<img src=http://banka/paracek?hesap=gürkan&gönder=500&hacker>

Bu kodu açıklamak gerekirse Gürkan’ın hesabından hackerın hesabına 500 TL para aktarmış olduk.

Göründüğü gibi bu açık kullanıcıya ciddi zararlar verebilir.

Sanırım artık saldırı çeşitlerine geçebiliriz.

CSRF LOW ATTACK

İlk olarak terminale girip ekran görüntüsündeki kodları sırasıyla yazıyoruz.

Daha sonra tarayıcımıza girip URL kısmına http://localhost/dvwa/ yazıyoruz.

Başlangıçta gerekli kurumları yaptıysak eğer karşımıza böyle bir sayfa gelecek

Kullanıcı adımız ve şifremiz başlangıçta standarttır.

Kullanıcı adı: admin

Şifre: password

Kullanıcı adı ve şifremizi girelim ve login butonuna basalım.

Şimdi güvenlik düzeyini belirleyeceğiz. Ekranda da gördüğünüz gibi DVWA Security’e basacağız.

Burada güvenlik düzeyini Low seçiyoruz ve submit butonuna tıklıyoruz.

Şimdi başlıyoruz.

Soldaki menülerden CSRF’e tıklıyoruz karşımıza ekrandaki gibi bir sayfa gelecektir. Burada boş bir alanda sağ tık yapıp sayfa kaynağını görüntüle diyoruz.


Orada yine ekranda gördüğümüz “new password” ve “confirm new password” yazılı bir kod bloğu var o kod bloğunu kopyalayıp masaüstünde bir not defteri açıp için yapıştırıyoruz.

Yapıştırdıktan sonra görüntüdeki gibi değişiklikler yapıyoruz.

Otomatik doldur kısmını “off”dan “on”a çeviriyoruz.

“#” olan yere ise zafiyetin bulunduğu adresi yazıyoruz.

Value ifadesi ile de otomatik olarak hangi şifre ile doldurulmasını istiyorsak onu yazıyoruz.

Daha sonra not defterini .html uzantılı olarak farklı kaydediyoruz.

Linkimizi oluşturduk. Şimdi Linkimizi açalım.

Ekrana böyle bir sayfa gelecektir. Otomatik doldu gördüğünüz gibi sebebi ise az önce yaptığımız ayarlamalardı.

Eğer Change butonuna basarsak şifremiz not defterinde Value ifadesi ile değiştirdiğimiz şifre olarak değişecektir.

Change butonuna basıyoruz ve bakalım şifremiz değişti mi.

Gördüğünüz gibi şifremizin değiştiğini söylüyor. Ama biz yine de kontrol edelim.

Logout butonuna basalım ve hesabımızdan çıkış yapalım.

Ardından yeni şifremizle girmeyi deneyelim.

Yeni şifremizi yazdık şimdi Login butonuna tıklayalım.

Evet şifremiz başarıyla değişti. CSRF Low saldırısı bu kadardı arkadaşlar.

CSRF MEDİUM ATTACK

Bu saldırıda kurban kişi değil site olacak çünkü XSS açığı olması lazım.

İlk olarak güvenlik düzeyini medium olarak seçelim.

Şimdi zafiyeti denemek için yeni şifre belirleyeceğiz ben “1234” olarak şifreyi değiştirdim.

Daha sonra zafiyetli Url’yi kopyalayalım. En başta dediğim gibi bu zafiyeti kullanmamız için site de XSS açığı olması lazım şimdi soldaki menülerden XSS (Stored) yazılı yere tıklayacağız. Burda şunu yapacağız resim içerisine linki sokacağız ve yorum olarak atacağız. Kurban buna tıkladığı zaman şifresi otomatik olarak bizim belirlediğimiz şekilde değişecek.

Name kısmına <img src=”(zafiyetli url)”> şeklinde yazıyoruz.

Zafiyetli url kısmında password yazan yerdeki şifrelere yeni değerler atayacağız.

Ben şifreyi “12345” olarak güncelledim.

Message kısmı ise mesaj olarak ne gözüksün bize onu soruyor onu test1 olarak yazdım.

Dediklerimi yaptıysak Sign Guestbook butonuna tıklıyoruz. Ardından altına ekrandaki gibi bir kısım çıkmalı.

Ve otomatik olarak şifremiz değişmiş olmalı.

Şimdi bunu denemek için sol alttan Logout butonuna tıklayalım ve değiştirdiğimiz değerle tekrar giriş yapmayı deneyelim.

Ekranda ki gibi girişi yapıyoruz ben 12345 olarak yeni değeri belirlemiştim. Şifreyi yazdıktan sonra Login butonuna bastığımız zaman zafiyetten yararlanarak şifreyi değiştirdiğimizi göreceğiz.

CSRF HİGH ATTACK

Başlangıç olarak Low Attack kısmında ki işlemlerin aynısını yapacağız yani sayfa kaynağına girip oradan password bölümünü kopyalayıp not defterinde işlem yapacağız. Low attacktan tek farkı kopyalayacağımız yerde user token adlı veri olması.

Bu sefer güvenlik düzeyini HİGH olarak ayarlıyoruz.

Ardından Low Attack kısmındaki işlemlerin aynısını burada uyguluyoruz yani sayfa kaynağına gidip bize lazım olan kod bloğunu kopyalayıp not defterine yapıştırıyoruz ve kodda ekranda gördüğünüz gibi gerekli değişiklikleri yapıyoruz.

Farklı kaydet ile .html uzantılı olarak kaydediyoruz.

Şimdi ise html uzantılı olarak kaydettiğimiz linke tıkladık ve karşımıza bu geldi otomatik doldurma ile belirlediğimiz şifre “password” olacak. Change butonuna tıklıyoruz.

Şifremiz değişti şimdi bunu kontrol edelim sol alttan Logout butonuna basıp çıkış yapalım ve belirlediğimiz değişen şifre ile giriş yapmayı deneyelim.

Şifre kısmına değiştirdiğimiz şifreyi yani “password”  yazıyoruz  ve login butonuna basıyoruz.

Sorunsuz bir şekilde zafiyeti kullanarak şifreyi değiştirdik.

İçerik Sahibi: Gürkan Şentürk

CSRF SALDIRILARI” üzerine 1 yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir