JGI CMS 1.0 Cross Site Scripting

JGI CMS version 1.0 suffers from a cross site scripting vulnerability.


MD5 | ae187dd188a176155bf3e966259837d6

Title:
=======
JGI CMS - DOM-Based Cross Site Scripting

Introduction:
==============
A content management system (CMS) is a computer application that supports the creation and modification of digital content.
It is often used to support multiple users working in a collaborative environment.
CMS features vary widely. Most CMSs include Web-based publishing, format management, history editing and version control, indexing, search, and retrieval.
By their nature, content management systems support the separation of content and presentation.

Vulnerability Disclosure:
==========================
2017-09-10: Public Disclosure

Affected Product(s):
=====================
JGI CMS 1.0

Exploitation Technique:
========================
Remote

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

Technical Details & Description:
=================================
A DOM-Based Cross Site Scripting vulnerability has been discovered in the JGI CMS 1.0 web-application.
The vulnerability is located in the 'window.location' parameter of the`busca.html` action GET method request.

Request Method(s):

[+] GET

Vulnerable Function(s):

[+] busca.html

Vulnerable Parameter(s):

[+] window.location





Proof of Concept (PoC):
========================
Cross-Site Scripting (XSS) attacks are a type of injection, in which malicious scripts are injected into otherwise benign and trusted web sites.
XSS attacks occur when an attacker uses a web application to send malicious code, generally in the form of a browser side script, to a different end user.
Flaws that allow these attacks to succeed are quite widespread and occur anywhere a web application uses input from a user within the output it generates without validating or encoding it.
An attacker can use XSS to send a malicious script to an unsuspecting user.
The end useras browser has no way to know that the script should not be trusted, and will execute the script.
Because it thinks the script came from a trusted source, the malicious script can access any cookies, session tokens, or other sensitive information retained by the browser and used with that site.
These scripts can even rewrite the content of the HTML page.[OWASP]

http://www.abq.org.br/cbq/2010/busca.html?wvstest=javascript:domxssExecutionSink(1,"'\"><script>alert(123)</script>")


Solution
=========
For the prevention of Cross Site Scripting, some steps must be taken:
Never enter untrusted data except in places defined for this purpose.
The principle of this rule is to deny everything and mainly not to digest JavaScript code from an unknown source and then execute it.
Validate the escape characters before inserting them inside the HTML element. Failure to validate inputs may allow malicious code to be injected into the application.
Validate the parameters of the URL and verify information that it sends in HTTP requests, it escapes hexadecimal in URLs such as %25, where 25 is the ASCII code of the character "%".

Credits
========
Felipe "Renzi" Gabriel

Contact
========
[email protected]

References
==========
https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
https://en.wikipedia.org/wiki/Content_management_system

Related Posts