Cross-site Scripting (XSS) - Stored in livehelperchat/livehelperchat
Reported on
Aug 24th 2021
✍️ Description
here is a Stored XSS on the user profile image uploader via svg file
🕵️♂️ Proof of Concept
Step to reproduce:
- Go to account profile
- Click the choose file option to update profile image
- Upload the svg file containing malicious code: or you can download it from : http://brutelogic.com.br/poc.svg now open the image and see the xss pops up.
poc image : https://ibb.co/njCJ4gD
i used the demo pp you hosted and also verified by hosting it in locally, for poc purpose am giving your demo app profiles link : https://demo.livehelperchat.com/var/userphoto/2021y/08/24/1/7c0dd946d97921107d75acdcbfec6bad.svg
💥 Impact
Stored xss
An attacker can use XSS to send a malicious script to an unsuspecting user. The end user’s browser has no way to know that the script should not be trusted, and will execute the script. Because it thinks the script came from a trusted source, the malicious script can access any cookies, session tokens, or other sensitive information retained by the browser and used with that site.
these are some demo reports : https://hackerone.com/reports/179164 https://hackerone.com/reports/894876
And I'm talking about real world situation. As now you had access to back office because it's demo in normal circumstances you won't have it, so how you are going to exploit that, as visitors also can't upload these type of files.
consider if any users account is compromised and the attacker can use it as a target app and can use it to host such file and sent along the world wide... i hope if your considering like that, then there is no point of reporting issues to this repo since it is an backend and no admin will hack himself ...!!
In any case I have approved the issue as I can do cleanups in any case using third party libraries like https://github.com/darylldoyle/svg-sanitizer :)
also the exploit may differ from one's imagination ... as you know....
And yes that's what i wanted to tell. It's more like hacking itself :D