Title:
=======
JGI CMS - Directory Traversal

Introduction:
==============
A content Title:
=======
JGI CMS - Directory Traversal

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 Directory Traversal vulnerability has been discovered in the JCI CMS web-application.
The vulnerability is located in the 'arquivo' parameter of the`dl.php` action GET method request.

Request Method(s):

[+] GET

Vulnerable Function(s):

[+] dl.php

Vulnerable Parameter(s):

[+] arquivo

Proof of Concept (PoC):
========================
A path traversal attack (also known as directory traversal) aims to access files and directories that are stored outside the web root folder.
By manipulating variables that reference files with adot-dot-slash (../)a sequences and its variations or by using absolute file paths, it may be possible to access arbitrary files and directories stored on file system including application source code or configuration and critical system files.
It should be noted that access to files is limited by system operational access control. [OWASP]

[+] http://www.abq.org.br/dl.php?arquivo=../../../../../../../../../../etc/passwd

Solution
=========
There are several measures that enterprises can take to prevent directory traversal attacks and vulnerabilities.
For starters, programmers should be trained to validate user input from browsers.
Input validation ensures that attackers cannot use commands that leave the root directory or violate other access privileges.
Beyond this, filters can be used to block certain user input.
Enterprises typically employ filters to block URLs containing commands and escape codes that are commonly used by attackers.
Additionally, web server software (and any software that is used) should be kept up-to-date with current patches.
Regularly patching software is a critical practice for reducing security risk, as software patches typically contain security fixes. [Veracode]

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

Contact
========
renzi@linuxmail.org

References
==========
https://www.owasp.org/index.php/Path_Traversal
https://www.veracode.com/security/directory-traversal
https://en.wikipedia.org/wiki/Content_management_system