Hi,
   we'd like to host a version of Galaxy, but our security team have identified some potential areas that could be subjected to attack. I was wondering if Galaxy had mechanism in place to avoid the following issues:


Cross site scripting

Description

Cross site scripting (also referred to as XSS) is a vulnerability that allows an attacker to send malicious code (usually in the form of Javascript) to another user. Because a browser cannot know if the script should be trusted or not, it will execute the script in the user context allowing the attacker to access any cookies or session tokens retained by the browser

Impact

Malicious users may inject JavaScript, VBScript, ActiveX, HTML or Flash into a vulnerable application to fool a user in order to gather data from them. An attacker can steal the session cookie and take over the account, impersonating the user. It is also possible to modify the content of the page presented to the user

Affected URLS and parameters:

·         /capaibl/visualization/list

o   update_time param

·         /capaibl/history/delete_current

o   purge

·         /capaibl/history/list

o   F-deleted

o   F-name

·         /capaibl/user/edit_address

o    Address_id

o    User_id

·         /capaibl/edit_info

o    Username

o    User_id

·         Capaibl/user/logout

o    Referrer

·         /capaibl/user/manage_user_info

o    Change_password_button

o    Cntrller

o    Current

o    Email

o    Id

o    Message

o    Status

o    Username

o    User_id

·         /capaibl/user/reset_password

o    Message

·         /caibl/user/set_default_permissions

o    cntrller


Denial of Service

Description of attack

During security testing we used two different types of crawlers and both caused the system to crash. Without access to the backend it is hard to document the reason, however, an educated guess would be that there is limited memory available to sessions. When crawlers ask for multiple sessions, this could cause the webserver to allocate all its memory and crash.

Attack scenario

1.  Open burpsuite and start the proxy function

2.  Open a browser and set burpsuite as the proxy

3.  Navigate to the milxcloud homepage

4.  Turn on the spider function within burpsuite

The website will crash within seconds.


There is an entry in universe_wsgi.ini 

# Galaxy encodes various internal values when these values will be output in
# some format (for example, in a URL or cookie).  You should set a key to be
# used by the algorithm that encodes and decodes these values.  It can be any
# string.  If left unchanged, anyone could construct a cookie that would grant
# them access to others' sessions.
#id_secret = USING THE DEFAULT IS NOT SECURE!

Would this help address the XSS issue?


Thanks for any information
Neil