![]() |
![]() |
#1 |
Bemusing Prompter
"Danny"
Dec 2002
California
2,503 Posts |
![]()
OK, I've been playing around with v5 a bit and I've noticed a few security issues that should probably be taken care of.
1. XSS vulnerability in login.php The login.php page takes in an agrument e and displays its contents. A malicious user could create URLs that will cause the victim's browser to execute arbitrary code. The below example would cause a pop-up containing the user's cookie to appear: Code:
http://v5www.mersenne.org/login.php?e=<script>alert(document.cookie)</script> 2. Password visible in URL When a user logs in, it loads the following page: Code:
http://v5www.mersenne.org/member/?user_login=[user ID]&user_password=[password]&B1=GO 3. Possible CSRF vulnerabilities in /update/ On the "Update Account" page, many things can be changed simply by manipulating the URL. This is very serious. If someone tricks a victim into visiting a page that contains Code:
http://v5www.mersenne.org/update/?user_password=hello&user_password1=hello&public_name=john_doe&mystats=Y&email=&web_url=&lost_pw_question=What+is+the+secret+number%3F&lost_pw_response=hello&B1=Submit Last fiddled with by ixfd64 on 2008-10-25 at 21:17 |
![]() |
![]() |
![]() |
#2 | |
Account Deleted
"Tim Sorbera"
Aug 2006
San Antonio, TX USA
11·389 Posts |
![]() Quote:
|
|
![]() |
![]() |
![]() |
#3 | |
May 2008
44716 Posts |
![]() Quote:
To fix that kind of CSRF vulnerability you'll need a randomized token ID generated by the server for each instance of a form (in a hidden field). When a form is submitted, the server will compare the token from the submitted form with the token it generated (in session). If they don't match (or the server didn't generate a token, or the POST didn't have one), the data is rejected. The malicious website won't be able to receive this token so it won't be able to forge requests. Last fiddled with by jrk on 2008-10-26 at 01:52 |
|
![]() |
![]() |
![]() |
#4 |
May 2008
44716 Posts |
![]()
Also thanks ixfd64 for locating the problems.
![]() |
![]() |
![]() |
![]() |
#5 |
May 2008
3·5·73 Posts |
![]()
Or perhaps you could just send the user's password with each "sensitive" form (in a hidden field, or by asking the user to type it). But that wouldn't be as nice.
Last fiddled with by jrk on 2008-10-26 at 01:56 |
![]() |
![]() |
![]() |
#6 |
May 2008
3·5·73 Posts |
![]() |
![]() |
![]() |
![]() |
#7 | |
Oct 2002
338 Posts |
![]() Quote:
Thus, use both, SSL and POST. |
|
![]() |
![]() |
![]() |
#8 | |
Account Deleted
"Tim Sorbera"
Aug 2006
San Antonio, TX USA
102678 Posts |
![]() Quote:
|
|
![]() |
![]() |
![]() |
#9 |
Bemusing Prompter
"Danny"
Dec 2002
California
2,503 Posts |
![]()
PrimeNet now remembers passwords across sessions. A malicious user can now compromise accounts by stealing cookies, using the first vulnerability I pointed out.
Last fiddled with by ixfd64 on 2008-10-28 at 08:07 |
![]() |
![]() |
![]() |
#10 | |
May 2008
3·5·73 Posts |
![]() Quote:
Images are loaded from chart.apis.google.com and counter.digits.com on the main account page, so they automatically get your name & password after login if you have not yet disabled referers in your browser. There are at least 6 other external links I can see from the main account page, where clicking them right after login would send your name & password to them. Last fiddled with by jrk on 2008-11-10 at 02:36 Reason: make that 6 external links |
|
![]() |
![]() |
![]() |
#11 |
Dec 2003
Hopefully Near M48
33368 Posts |
![]() |
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Unclear Security | Nick | Soap Box | 234 | 2023-04-15 13:50 |
security of the webpage? | Unregistered | Information & Answers | 4 | 2013-02-08 04:42 |
Key fob security. | Xyzzy | Science & Technology | 13 | 2007-03-09 02:39 |
A security puzzle | T.Rex | Puzzles | 12 | 2007-02-11 11:54 |
PrimeNet Security | Damian | PrimeNet | 7 | 2005-06-21 12:46 |