Stored XSS while adding a memo in usememos/memos
Dec 23rd 2022
Stored cross-site scripting (also known as second-order or persistent XSS) arises when an application receives data from an untrusted source and includes that data within its later HTTP responses in an unsafe way.
Proof of Concept
Payload: [ "><img src=x onerror=alert(1)>] **** 1) Go to https://demo.usememos.com/ and login into your account 2) Add a memo with the payload mentioned above ( [ "><img src=x onerror=alert(1)>] ****) 3) You will see that an XSS popup will trigger 4) Each time you visit this page you will see a pop-up POC video: https://drive.google.com/file/d/1Tg03gDlcxpywoCTXTHKSuSH8xdsPUb5_/view?usp=sharing # Impact XSS can cause a variety of problems for the end user that range in severity from an annoyance to complete account compromise. The most severe XSS attacks involve disclosure of the user's session cookie, allowing an attacker to hijack the user's session and take over the account.