informe de resolución de problemas de upload-labs- 02

arreglar

  1. Usar ninguna o solo validación MIME

Resumen de vulnerabilidad

Según el problema de autenticación MIME, la información se puede interceptar en el medio y luego la información MIME se puede modificar para romper

Proceso de análisis

Primero probé el método 1 en el informe de resolución de problemas de upload-labs - 01 , y el resultado fue exitoso.
Lo pensé, y las lagunas deben ser diferentes, por lo que js no debe juzgar esta pregunta.
Más tarde, traté de modificar varios nombres de sufijos en burp y descubrí que todos pasaron, por lo que no debe juzgarse en función del nombre de sufijo, por lo que puede tener algo que ver con la información de tipo MIME.
Podemos experimentar con nombres de archivos y tipos de archivos. El tipo es png, pero el nombre del archivo es php
La carga fue exitosa. ψ(._. )>

Observe el código fuente y descubra que su verificación de tipo se basa realmente en type .

$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
    if (file_exists(UPLOAD_PATH)) {
        if (($_FILES['upload_file']['type'] == 'image/jpeg') || ($_FILES['upload_file']['type'] == 'image/png') || ($_FILES['upload_file']['type'] == 'image/gif')) {
            $temp_file = $_FILES['upload_file']['tmp_name'];
            $img_path = UPLOAD_PATH . '/' . $_FILES['upload_file']['name']            
            if (move_uploaded_file($temp_file, $img_path)) {
                $is_upload = true;
            } else {
                $msg = '上传出错!';
            }
        } else {
            $msg = '文件类型不正确,请重新上传!';
        }
    } else {
        $msg = UPLOAD_PATH.'文件夹不存在,请手工创建!';
    }
}

ideas para resolver problemas

idea uno

Supongo que te gusta

Origin blog.csdn.net/qq_40790680/article/details/128971702
Recomendado
Clasificación