Merhaba Dostlar
Bu gün sizlere ismini bilmediğim ve adını kendim uydurduğum bir zaafiyeti anlatacağım.
Bu zaafiyet başka bir sayfadan include edilen işlemin kontrolsüz yapılmasından kaynaklı olarak buglara ve dolayısıyla zaafiyetlere sebep olabilecek veya burpsuite ile sayfa okumamızı sağlayabilecek veya daha önemlisi
csrf saldırısının senaryosunu değiştirerek sayfaya başka sayfadan veri gönderimi değilde veri çekimi yapılarak bu verilerin hackerin eline geçmesini sağlayan bir açıktır.
Örneğin bir sayfamız var ve bu sayfaya izin verdiğiniz sayfanın haricinde yapılan isteklerin hepsini engellemek istiyoruz. Mesela bu sayfanın mesaj sayfası olduğunu varsayalım ve başka bir sayfa ile bunu include ediyoruz.
Veya bu sayfanın bir video sayfası olduğunu varsayalım bu video sayfasını başka sayfaya include ediyoruz. Bu sayfanın tek başına çalışmasını istemiyoruz.
Veya bir sanal disk uygulamasında arkaplanda sergilenen dosyaların başka bir sayfadan istek gelirse sergilenmesini engellemek istiyoruz.
İşte tam bu noktada yapılan get veya post istekleri csrf saldırısında hedefin session bilgileriyle yapıldığı için hackerin eline geçebilir!
Burada bu açığı fixlemek için işlemlerin yapıldığı sayfaya index.php diyorum ve bu sayfaya a.php'yi include ediyorum.
Veya siz bunu header.php de yapabilirsiniz sonuçta header veya footer sayfalarının tek başına çalışmasını istemeyiz.
İşte tam bu noktada php'de define komutu işimizi fazlasıyla görecektir.
Örneğin index.php sayfasında a.php den düzenli olarak get methoduyla veri çekiliyor.
index.php'de a.php'nin include edilmeden hemen öncesine
define('Captainkanka','');
ekliyoruz.
Sonrasında
a.php'nin en üstüne
echo !defined("Captainkanka") ? die ("İzinsiz Erişim") : null;
echo "basarili";
Artık işlemler tamam.
Define kontrolü olmadan a.php görüntüsü

Define kontrolü eklenince index.php görüntüsü gördüğünüz gibi en üstte basarili yazısını döndürdü

Direk olarak a.php'ye eişilmek istenince sayfanın yanıtı

a.php ye direk bir post, get isteği veya request geldiği zaman sayfamız otomatikmen izinsiz erişim döndürecek.
Ancak index.php den bir istek geldiğinde basarili yazısını döndürerek kodun devamını çalıştıracaktır.
İyi Forumlar
Bu gün sizlere ismini bilmediğim ve adını kendim uydurduğum bir zaafiyeti anlatacağım.
Bu zaafiyet başka bir sayfadan include edilen işlemin kontrolsüz yapılmasından kaynaklı olarak buglara ve dolayısıyla zaafiyetlere sebep olabilecek veya burpsuite ile sayfa okumamızı sağlayabilecek veya daha önemlisi
csrf saldırısının senaryosunu değiştirerek sayfaya başka sayfadan veri gönderimi değilde veri çekimi yapılarak bu verilerin hackerin eline geçmesini sağlayan bir açıktır.
Örneğin bir sayfamız var ve bu sayfaya izin verdiğiniz sayfanın haricinde yapılan isteklerin hepsini engellemek istiyoruz. Mesela bu sayfanın mesaj sayfası olduğunu varsayalım ve başka bir sayfa ile bunu include ediyoruz.
Veya bu sayfanın bir video sayfası olduğunu varsayalım bu video sayfasını başka sayfaya include ediyoruz. Bu sayfanın tek başına çalışmasını istemiyoruz.
Veya bir sanal disk uygulamasında arkaplanda sergilenen dosyaların başka bir sayfadan istek gelirse sergilenmesini engellemek istiyoruz.
İşte tam bu noktada yapılan get veya post istekleri csrf saldırısında hedefin session bilgileriyle yapıldığı için hackerin eline geçebilir!
Burada bu açığı fixlemek için işlemlerin yapıldığı sayfaya index.php diyorum ve bu sayfaya a.php'yi include ediyorum.
Veya siz bunu header.php de yapabilirsiniz sonuçta header veya footer sayfalarının tek başına çalışmasını istemeyiz.
İşte tam bu noktada php'de define komutu işimizi fazlasıyla görecektir.
Örneğin index.php sayfasında a.php den düzenli olarak get methoduyla veri çekiliyor.
index.php'de a.php'nin include edilmeden hemen öncesine
define('Captainkanka','');
ekliyoruz.
Sonrasında
a.php'nin en üstüne
echo !defined("Captainkanka") ? die ("İzinsiz Erişim") : null;
echo "basarili";
Artık işlemler tamam.
Define kontrolü olmadan a.php görüntüsü

Define kontrolü eklenince index.php görüntüsü gördüğünüz gibi en üstte basarili yazısını döndürdü

Direk olarak a.php'ye eişilmek istenince sayfanın yanıtı

a.php ye direk bir post, get isteği veya request geldiği zaman sayfamız otomatikmen izinsiz erişim döndürecek.
Ancak index.php den bir istek geldiğinde basarili yazısını döndürerek kodun devamını çalıştıracaktır.
İyi Forumlar


