I initially found this issue on a bounty, however it was marked out of scope on a third party provider. It may be possible to turn this into a RCE. Since I had no reason to escalate since no payment. I’ll leave that up to whoever wants to find out.
Google Dork: inurl:/phpThumb/phpThumb.php?src=
You will see in the response “Unknown image type identified by “root”. It’s reading the /etc/passwd file! However since it only displays the first four characters in the error we can’t read the whole file.
You can also tell it to load remote files http://domain.com/test.php.
This SSRF allowed me to view local files on the host as well as port scan internal hosts.
Reading /etc/passwd using the file protocol.
Brute-forcing for log files using BurpSuite Intruder:
SSRF that had some filtering of 127.0.0.1 and localhost which was bypassed by using 0.0.0.0
This XSS was via embedly which controls the content-type response to image types. Luckily .svg was allowed.
I used this blog to help create a .svg that contained XSS.
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
PayPal XXE via Ektron CMS. (There are multiple severe issues related to Ektron not documented)
Paypal XXE Doc