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

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

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

Write a response