Finding and Fixing Vulnerabilities in SQL Injection , a High Risk Vulnerability

With Notes on Remediation, Penetration Testing, Disclosures, Patching and Exploits

Contents

  • Vital information on this issue
  • Scanning For and Finding Vulnerabilities in SQL Injection
  • Penetration Testing (Pentest) for this Vulnerability
  • Security updates on SQL Injection
  • Disclosures related to Vulnerabilities in SQL Injection
  • Confirming the Presence of Vulnerabilities in SQL Injection
  • False positive/negatives
  • Patching/Repairing this vulnerability
  • Exploits related to Vulnerabilities in SQL Injection

Vital Information on This Issue
Vulnerabilities in SQL Injection is a high risk vulnerability that is one of the most frequently found on networks around the world. This issue has been around since at least 1990 but has proven either difficult to detect, difficult to resolve or prone to being overlooked entirely.


Vulnerability Name: Vulnerabilities in SQL Injection
Test ID: 602
Risk: High
Category: Server Side Scripts
Type: Attack
Summary: The scripts below are vulnerable to an SQL injection attack. Below is the technical information. Next to each script, there is a description of the type of attack that is possible, and the way to recreate the attack. If the attack is a simple HTTP GET request, you can usually paste it into your browser to see how it works. If it's a POST attack, the parameters for the POST request will be listed in square parenthesis.

  • Poorly Filtered Strings

  • Incorrect type handling

  • Signature Evasion

  • Different Encoding

    White Space multiplicity

    Arbitrary String Patterns

  • Filtered Bypassing

  • addslash() & magic_quotes_gpc

    mysql_real_escape_string()

  • Blind SQL Injection

  • MySQL BENCHMARK

    MSSQL WAITFOR DELAY

    PostgreSQLpg_sleep()

Note that the SQL Injection attack was done without changing anything on the database side. To do this, the test uses an incomplete (or incorrect) SQL statement which will cause the SQL server to return an error. An attacker can then modify the payload to perform an actual attack.
Impact: Since SQL commands are injected from an application form into the database, it is possible in some cases to change the database content or dump the database information (like credit card data or passwords) so that they will be visible to the attacker. SQL injection is mostly known as an attack vector for websites but can be used to attack any type of SQL database. It can also be used to delete data, change data, or allow attackers to bypass a login form without needing to guess the password.
Solution: Use stored procedures to prevent attackers from altering the queries, and filter user input to discard invalid characters such as '
CVE: CVE-2012-4178
More Information: https://www.exploit-db.com/exploits/20123/
Nist NVD (CVSS): CVE-2012-2574
CVSS Score: 7.5
For more information on this also issue see: www.securiteam.com

Scanning For and Finding Vulnerabilities in SQL Injection
Use of Vulnerability Management tools, like AVDS, are standard practice for the discovery of this vulnerability. The primary failure of VA in finding this vulnerability is related to setting the proper scope and frequency of network scans. It is vital that the broadest range of hosts (active IPs) possible are scanned and that scanning is done frequently. We recommend weekly. Your existing scanning solution or set of test tools should make this not just possible, but easy and affordable. If that is not the case, please consider AVDS.

Penetration Testing (pentest) for this Vulnerability
The Vulnerabilities in SQL Injection is prone to false positive reports by most vulnerability assessment solutions. AVDS is alone in using behavior based testing that eliminates this issue. For all other VA tools security consultants will recommend confirmation by direct observation. In any case Penetration testing procedures for discovery of Vulnerabilities in SQL Injection produces the highest discovery accuracy rate, but the infrequency of this expensive form of testing degrades its value. The ideal would be to have pentesting accuracy and the frequency and scope possibilities of VA solutions, and this is accomplished only by AVDS.

Security Updates on Vulnerabilities in SQL Injection
For the most current updates on this vulnerability please check www.securiteam.com Given that this is one of the most frequently found vulnerabilities, there is ample information regarding mitigation online and very good reason to get it fixed. Hackers are also aware that this is a frequently found vulnerability and so its discovery and repair is that much more important. It is so well known and common that any network that has it present and unmitigated indicates "low hanging fruit" to attackers.

Disclosures related to this vulnerability

Confirming the Presence of Vulnerabilities in SQL Injection
AVDS is currently testing for and finding this vulnerability with zero false positives. If your current set of tools is indicating that it is present but you think it is probably a false positive, please contact us for a demonstration of AVDS.

False positive/negatives
The secret killer of VA solution value is the false positive. There was an industry wide race to find the most vulnerabilities, including Vulnerabilities in SQL Injection ,and this resulted in benefit to poorly written tests that beef up scan reports by adding a high percentage of uncertainty. This may have sold a lot of systems some years ago, but it also stuck almost all VA solutions with deliberately inaccurate reporting that adds time to repairs that no administrator can afford. Beyond Security did not participate in this race to mutually assured destruction of the industry and to this day produces the most accurate and actionable reports available.

Patching/Repairing this Vulnerability
Vulnerabilities in SQL Injection is a high risk vulnerability that is also high frequency and high visibility. This is the most severe combination of security factors that exists and it is extremely important to find it on your network and fix it as soon as possible.

Exploits related to Vulnerabilities in SQL Injection

Please also visit www.securiteam.com to view any exploits available for this vulnerability, or search using "Vulnerabilities in SQL Injection".


Print Friendly and PDF