TA5nn.png


解决方法: (1)、通过后缀名判断上传文件的类型,然后根据 mime 类型判断或者读取文件头字节来判断是否为图片。 (2)、先判断mime类型是否是图片,再通过GD库来处理图片。 (3)、限制图片文件的执行权限 (4)、定期通过木马查杀工具查杀,河马webshell扫描器使用方法 (5)、通过php方法在上传的时候直接判断



function checkHex($img) {
    $status = 0;
    $tips = array(
        "0" => "文件没问题",
        "5" => "文件有毒",
        "-1" => "文件没有上传"
    );
    if (file_exists($img)) {
        $resource = fopen($img, 'rb');
        $fileSize = filesize($img);
        fseek($resource, 0);
        if ($fileSize > 512) { // 取头和尾
            $hexCode = bin2hex(fread($resource, 512));
            fseek($resource, $fileSize - 512);
            $hexCode .= bin2hex(fread($resource, 512));
        } else { // 取全部
            $hexCode = bin2hex(fread($resource, $fileSize));
        }
        fclose($resource);
        /* 匹配16进制中的 <% ( ) %> */
        /* 匹配16进制中的 <? ( ) ?> */
        /* 匹配16进制中的 <script | /script> 大小写亦可 */
        if (preg_match("/(3c25.*?28.*?29.*?253e)|(3c3f.*?28.*?29.*?3f3e)|(3C534352495054)|(2F5343524950543E)|(3C736372697074)|(2F7363726970743E)/is", $hexCode)) {
            $status = 5;
        }
    } else {
        $status = -1;
    }
    return $tips[$status];
}




特别声明以上内容(如有图片或视频亦包括在内)为“枫宇辰博客”原创作品,未经“枫宇辰博客”授权不可转载。
本站所有图片由云图床提供托管服务:云图床


点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部