ÿØÿàJFIFÿÛ„ ( %"1"%)+...383,7(-.- 404 Not Found
Sh3ll
OdayForums


Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20
System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 7.4.20
Disable Function : NONE
Directory :  /var/www/html/st2/proxy/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/st2/proxy/p_test.php
<?php
include 'Mobile_Detect.php';
$detect = new Mobile_Detect;
function str_encode($data,$pwd)
{
    $x = 0;
    $a = 0;
    $j = 0;
    $Zcrypt = '';
    $pwd_length = strlen($pwd);
    for ($i = 0; $i < 255; $i++) {
        $key[$i] = ord(substr($pwd, ($i % $pwd_length)+1, 1));
        $counter[$i] = $i;
    }
    for ($i = 0; $i < 255; $i++) {
        $x = ($x + $counter[$i] + $key[$i]) % 256;
        $temp_swap = $counter[$i];
        $counter[$i] = $counter[$x];
        $counter[$x] = $temp_swap;
    }
    for ($i = 0; $i < strlen($data); $i++) {
        $a = ($a + 1) % 256;
        $j = ($j + $counter[$a]) % 256;
        $temp = $counter[$a];
        $counter[$a] = $counter[$j];
        $counter[$j] = $temp;
        $k = $counter[(($counter[$a] + $counter[$j]) % 256)];
        $Zcipher = ord(substr($data, $i, 1)) ^ $k;
        $Zcrypt .= chr($Zcipher);
    }
    return $Zcrypt;
}
function curl($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    $head[] = "Connection: keep-alive";
    $head[] = "Keep-Alive: 300";
    $head[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
    $head[] = "Accept-Language: en-us,en;q=0.5";
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $head);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
    $page = curl_exec($ch);
    curl_close($ch);
    return $page;
}
function getPhotoGoogle($link){
    $get = curl($link);
    $data = explode('url\u003d', $get);
    $have1080p = $have720p = 0;
    if(strpos($get,'%3Dm37')!==false){
        $have1080p = 1;
    }
    if(strpos($get,'%3Dm22')!==false){
        $have720p = 1;
    }


    $url = explode('%3Dm', $data[1]);
    $decode = urldecode($url[0]);
    $count = count($data);
    $linkDownload = array('360p'=>'','720p'=>'','1080p'=>'');

    $v1080p = $decode.'=m37';
    $v720p = $decode.'=m22';
    $v360p = $decode.'=m18';

    $linkDownload['360p'] = $v360p;

if($have1080p==1){
    $linkDownload['1080p'] = $v1080p;
}
    if($have720p==1){
        $linkDownload['720p'] = $v720p;
    }



    /*if($count > 4) {
        $v1080p = $decode.'=m37';
        $v720p = $decode.'=m22';
        $v360p = $decode.'=m18';
        $linkDownload['1080p'] = $v1080p;
        $linkDownload['720p'] = $v720p;
        $linkDownload['360p'] = $v360p;
    }
    if($count > 3) {
        $v720p = $decode.'=m22';
        $v360p = $decode.'=m18';
        $linkDownload['720p'] = $v720p;
        $linkDownload['360p'] = $v360p;
    }
    if($count > 2) {
        $v360p = $decode.'=m18';
        $linkDownload['360p'] = $v360p;
    }*/
    return $linkDownload;
}

if(!isset($_GET['time'])){
    return;
}
$time = $_GET['time'];
$time_check = time()-5;
$time_check2 = time()+5;
if($time < $time_check){
    return;
}
if($time > $time_check2){
    return;
}

$url_encode = $_GET['p'];
$play =  str_encode(hex2bin($url_encode),'123Vid@Net');
//$play = 'https://photos.google.com/u/1/share/AF1QipPgnyN6JihVNt2Q5TZib-Z659BH1bhsW9hKaaZziofu5b_a_wvPpucPDzyKWHXQ2Q/photo/AF1QipMdr7AXyuv27XcZMgnD3RWE5dgOfDRVik8AVGUd?key=SGFqeWlvQkxMdzRLMDdkSHZhMVRfNEhfRGtDSnp3';

$test = getPhotoGoogle($play);

$link_play = $test['360p'];
if ($detect->isMobile() or $detect->isTablet()) {
    $link_play = $test['360p'];
}else{
    if($test['720p'] != ''){
        $link_play = $test['720p'];
    }
    if($test['1080p'] != ''){
        $link_play = $test['1080p'];
    }
}

/*header('Location: '.$link_play);
exit();*/

$useragent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36";
$v = $link_play;
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 222222);
curl_setopt($ch, CURLOPT_URL, $v);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$info = curl_exec($ch);
$size2 = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
header("Content-Type: video/mp4");
$filesize = $size2;
$offset = 0;
$length = $filesize;
if (isset($_SERVER['HTTP_RANGE'])) {
    $partialContent = "true";
    preg_match('/bytes=(\d+)-(\d+)?/', $_SERVER['HTTP_RANGE'], $matches);
    $offset = intval($matches[1]);
    $length = $size2 - $offset - 1;
} else {
    $partialContent = "false";
}
if ($partialContent == "true") {
    header('HTTP/1.1 206 Partial Content');
    header('Accept-Ranges: bytes');
    header('Content-Range: bytes '.$offset.
        '-'.($offset + $length).
        '/'.$filesize);
} else {
    header('Accept-Ranges: bytes');
}
header("Content-length: ".$size2);


$ch = curl_init();
if (isset($_SERVER['HTTP_RANGE'])) {
    // if the HTTP_RANGE header is set we're dealing with partial content
    $partialContent = true;
    // find the requested range
    // this might be too simplistic, apparently the client can request
    // multiple ranges, which can become pretty complex, so ignore it for now
    preg_match('/bytes=(\d+)-(\d+)?/', $_SERVER['HTTP_RANGE'], $matches);
    $offset = intval($matches[1]);
    $length = $filesize - $offset - 1;
    $headers = array(
        'Range: bytes='.$offset.
        '-'.($offset + $length).
        ''
    );
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 222222);
curl_setopt($ch, CURLOPT_URL, $v);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_exec($ch);
exit();



echo $link_play;
exit();
print_r($test);
exit();
$show_source = '';
if(!empty($test)){
    foreach($test as $key=>$val){
        $show_source .= '<source src="' . $val . '" type="video/mp4" data-res="' . $key . '"/>';
        $default_res = $val['height'] . 'p';
    }
}
?>

ZeroDay Forums Mini