!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g. PHP/5.2.4-2ubuntu5.12 

uname -a: Linux forum.circlefusion.com 2.6.24-19-server #1 SMP Wed Jun 18 15:18:00 UTC 2008 i686 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/share/doc/libssl-dev/demos/maurice/   drwxr-xr-x
Free 11.22 GB of 97.11 GB (11.55%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     example1.c (3.39 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* NOCW */
/*
    Please read the README file for condition of use, before
    using this software.
    
    Maurice Gittens  <mgittens@gits.nl>   January 1997
*/

#include <unistd.h>
#include <stdio.h>
#include <netinet/in.h>
#include <fcntl.h>
#include <strings.h>
#include <stdlib.h>

#include <openssl/rsa.h>
#include <openssl/evp.h>
#include <openssl/objects.h>
#include <openssl/x509.h>
#include <openssl/err.h>
#include <openssl/pem.h>
#include <openssl/ssl.h>

#include "loadkeys.h"

#define PUBFILE   "cert.pem"
#define PRIVFILE  "privkey.pem"

#define STDIN     0
#define STDOUT    1 

void main_encrypt(void);
void main_decrypt(void);

static const char *usage = "Usage: example1 [-d]\n";

int main(int argc, char *argv[])
{

        ERR_load_crypto_strings();

    if ((argc == 1))    
    {
        main_encrypt();
    }    
    else if ((argc == 2) && !strcmp(argv[1],"-d"))
    {
        main_decrypt();
    }
    else
    {
        printf("%s",usage);
        exit(1);
    }

    return 0;        
}

void main_encrypt(void)
{
    unsigned int ebuflen;
        EVP_CIPHER_CTX ectx;
        unsigned char iv[EVP_MAX_IV_LENGTH];
    unsigned char *ekey[1]; 
    int readlen;
    int ekeylen, net_ekeylen; 
    EVP_PKEY *pubKey[1];
    char buf[512];
    char ebuf[512];
    
     memset(iv, '\0', sizeof(iv));

        pubKey[0] = ReadPublicKey(PUBFILE);

    if(!pubKey[0])
    {
           fprintf(stderr,"Error: can't load public key");
           exit(1);
        }      

        ekey[0] = malloc(EVP_PKEY_size(pubKey[0]));  
        if (!ekey[0])
    {
       EVP_PKEY_free(pubKey[0]); 
       perror("malloc");
       exit(1);
    }

    EVP_SealInit(&ectx,
                   EVP_des_ede3_cbc(),
           ekey,
           &ekeylen,
           iv,
           pubKey,
           1); 

    net_ekeylen = htonl(ekeylen);    
    write(STDOUT, (char*)&net_ekeylen, sizeof(net_ekeylen));
        write(STDOUT, ekey[0], ekeylen);
        write(STDOUT, iv, sizeof(iv));

    while(1)
    {
        readlen = read(STDIN, buf, sizeof(buf));

        if (readlen <= 0)
        {
           if (readlen < 0)
            perror("read");

           break;
        }

        EVP_SealUpdate(&ectx, ebuf, &ebuflen, buf, readlen);

        write(STDOUT, ebuf, ebuflen);
    }

        EVP_SealFinal(&ectx, ebuf, &ebuflen);
        
    write(STDOUT, ebuf, ebuflen);

        EVP_PKEY_free(pubKey[0]);
    free(ekey[0]);
}

void main_decrypt(void)
{
    char buf[520];
    char ebuf[512];
    unsigned int buflen;
        EVP_CIPHER_CTX ectx;
        unsigned char iv[EVP_MAX_IV_LENGTH];
    unsigned char *encryptKey; 
    unsigned int ekeylen; 
    EVP_PKEY *privateKey;

    memset(iv, '\0', sizeof(iv));

    privateKey = ReadPrivateKey(PRIVFILE);
    if (!privateKey)
    {
        fprintf(stderr, "Error: can't load private key");
        exit(1);    
    }

         read(STDIN, &ekeylen, sizeof(ekeylen));
    ekeylen = ntohl(ekeylen);

    if (ekeylen != EVP_PKEY_size(privateKey))
    {
            EVP_PKEY_free(privateKey);
        fprintf(stderr, "keylength mismatch");
        exit(1);    
    }

    encryptKey = malloc(sizeof(char) * ekeylen);
    if (!encryptKey)
    {
            EVP_PKEY_free(privateKey);
        perror("malloc");
        exit(1);
    }

    read(STDIN, encryptKey, ekeylen);
    read(STDIN, iv, sizeof(iv));
    EVP_OpenInit(&ectx,
           EVP_des_ede3_cbc(), 
           encryptKey,
           ekeylen,
           iv,
           privateKey);     

    while(1)
    {
        int readlen = read(STDIN, ebuf, sizeof(ebuf));

        if (readlen <= 0)
        {
            if (readlen < 0)
                perror("read");

            break;
        }

        EVP_OpenUpdate(&ectx, buf, &buflen, ebuf, readlen);
        write(STDOUT, buf, buflen);
    }

        EVP_OpenFinal(&ectx, buf, &buflen);

    write(STDOUT, buf, buflen);

        EVP_PKEY_free(privateKey);
    free(encryptKey);
}



:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0077 ]--