jothie

I was able to upload this example just fine. How about right click the page, click Inspect, click Network, check the box to Preserve Logs, upload the file, click the request in the Network tab, click Response, and see what the response says.

Cheers.

jothie

Yea, you can take screenshots and upload those instead. Or make a GIF and upload that.

Cheers.

You're right, i have commented out this lines:
// Make sure mime type is valid
//if (strcasecmp(FileObject::mime_type($file['tmp_name']),
// $file['type']) !== 0)
// return false;
and it works.
It have checked the old source 1.17.1 -> This lines seems to be new in 1.17.2 or 1.17.3.

Many thanks for your help.

    jothie

    Yes, it's a security patch. But it's very strange that I'm able to upload this and you are not. I wonder what the difference is here.. šŸ¤”

    Cheers.

    jothie

    Can you please create a PHP file in your osTicket directory, paste the following content, visit the file in the browser, and tell me what the page displays?

    <?php
    var_dump('finfo_open exists: ', function_exists('finfo_open'));

    Cheers.

    jothie

    That would be the only difference but you have that method as well so I'm not sure why you can't but I can without making any changes...so odd. Can you download the example you uploaded to the Forum and retest with the downloaded ZIP? I wonder if uploading it here fixed the MIME Type.

    Cheers.

    Downloaded and tested - no change.
    But i have tested it on a mac - there it works.
    But on every W11 PC i tested -> failed.

      5 days later
      8 days later

      KevinTheJedi

      The problem ist that $file['type'] and FileObject::mime_type($file['tmp_name']) do not return the same result.

      in case of a zip-file:
      string(28) "application/x-zip-compressed"
      string(24) "application/octet-stream"

      samplefile attached

      tmp.zip
      115B

        bauernbengel

        Yes, I have seen this with someone else, however Iā€™m unable to replicate this with ZIP files in my instance. What version of PHP are you using? What browser are you using? What OS are you using when uploading the file?

        Cheers.

          Ugly Fix:

          class.forms.php replace the function

          static function isValidFile($file) {
              // Make sure mime type is valid
              #var_dump($file['type'], FileObject::mime_type($file['tmp_name']));die;
              #if (!empty($file['type']) && strcasecmp(FileObject::mime_type($file['tmp_name']),
              #            $file['type']) !== 0)
              #    return false;
              // Check invalid image hacks
              if ($file['tmp_name']
                      && stripos($file['type'], 'image/') === 0
                      && !exif_imagetype($file['tmp_name']))
                  return false;
              return true;
          }