Small blockchain platform allowing users to launch and contribute to projects.
Projects can contain a banner image, and this is where the bug resides.
This is gonna be a short one.
When uploading an image for the project, it sent a POST request with an "image" WebKitFormBoundary parameter, which contained the image contents.
After some XSS testing, I came across that removing the last line of the image contents resulted in weird behavior.
Since the image wasn't complete, it returned 500 Internal Server Error.
However, since it was the banner for the project, whenever anyone accessed it, it threw 500, therefore making the project inaccessible (until you changed the image through the same request).
Takeaway:
In file uploads, check for unfinished/malformed contents, it may result in an unusual behavior which could lead to a further bug.
That's a wrap!
If you enjoyed this thread:
1. Follow me @shrekysec for more of these 2. RT the tweet below to share this thread with your audience
Anywhere you see user input is reflected in the response (not limited to what you see on the page, it could be in source code/HTTP response only), note the location/parameter down, that's a potential attack vector.