Tuesday, 23 January 2018

Arbitrary file upload and RCE in Wonder CMS - CVE-2017-14521

By- Samrat Das

Hi Readers

Recently in one of my pentest research, I found a CMS " WonderCMS" hosted in github.
Curious to explore its functionalities, I downloaded and set it up in my local system.

After fiddling with the source code, I found that it did not have any kind of file upload security mechanism and allowed the user to upload any file type! After reporting it to them, I did not receive any security relevant response, hence decided to publish a blog on this.

Title of the Vulnerability:  Arbitrary File Upload
Vulnerability Class: Security Misconfiguration
Technical Details & Description: The application source code is coded in a way which allows arbitrary file extensions to be uploaded. This leads to uploading of remote shells/ malicious Trojans which can lead to complete system compromise and server takeover.
CVE ID allocated:  CVE-2017-14521
Product & Service Introduction: Wonder CMS 2.3.1
WonderCMS is an open source CMS (Content Management System) built with PHP, jQuery, HTML and CSS (Bootstrap responsive).

WonderCMS doesn't require any configuration and can be simply unzipped and uploaded to your server/hosting provider. All data is saved to a text file (JSON format) which is easily copied, moved, backed up and restored. WonderCMS runs on less than 50 functions and 850 lines of code and 5 files.

Steps to Re-Produce –
1.       Visit the file upload function page after logging in.
2.       Pass any text file your choice
3.       Intercept the request and tamper the values to pass any exe/ php file of your choice.
4.       Observe the request passing through interception proxy showing the file being passed in the request
5.       Proceed and you will receive a file uploaded successfully message
6.       To confirm, logon to the hosting server directory and see the file uploaded

Exploitation Technique: Any backdoor file or shell can be uploaded to get access to the uploaded file on remote server and data can be exfiltrated.
Severity Level: Critical
Security Risk:
The presence of an actual malicious file can compromise the entire system leading to system takeover/ data stealing

Affected Product Version: 2.3.1
Solution - Fix & Patch: The application code should be configured in such a way, that it should block uploading of malicious files extensions such as exe/ php and other extensions with a thorough server as well as client validation.

Here are the step by step method of the attack method:








2 comments:

  1. Nice blog thanks for shareing instersting information about commodity trading.

    commodity trading tips

    ReplyDelete
  2. If you are looking for premiere CMS system development, EX Squared is the only name you can trust. Our team of expert developers can create custom solutions to fit the unique needs of your business.

    ReplyDelete

Hacking into Block Chain Technology:Part 2

Security Testing on Block Chain: By- Samrat Das Now since we have our fundamentals clear on block chain, let’s proceed for un...