Archive of Blind SQL Injection
-
Time-Based Blind SQL Injection using Heavy Query
Posted in Blind SQL InjectionUsing heavy queries instead of time delays. For different reasons, it might happen that it is impossible to use time delay functions or procedures in order to achieve a classic time delay injection. In these situations, the best option is to...
Continue reading this entry → -
Estimating MySQL Table Size using SQL Injection
Posted in Blind SQL InjectionInjecting short time delays in WHERE clause. In some cases, the attacker might want to have a rough idea about the number of records in a table. This is not a crucial piece of information, however it could be helpful to know how much time will be...
Continue reading this entry → -
Time-Based Blind SQL Injection Attacks
Posted in Blind SQL InjectionPerform tests by injecting time delays. Time-based techniques are often used to achieve tests when there is no other way to retrieve information from the database server. This kind of attack injects a SQL segment which contains specific DBMS function or heavy query that generates a...
Continue reading this entry → -
Analysing Server Response and Page Source
Posted in AnomaliesSubtle impacts of SQL injection attacks on response. It is not always easy to tell if an inbound SQL injection test is positive or negative. Sometimes, a slight difference in the server response can indicate the attacker is on the right way. By carefully analysing the source code...
Continue reading this entry → -
Database Fingerprinting for SQL Injection
Posted in Gathering InformationIdentifying the underlying DBMS. There are small differences between database management systems and those can have a huge impact on the feasibility and the result of an SQL injection attack. It is especially important for the attacker to identify the underlying DBMS since it...
Continue reading this entry → -
SQL Injection Inference Attacks
Posted in SQL Injection TechniquesUnderstanding the fundamentals inference attacks. Inference technique is the pillar of blind SQL injection and it is used in many advanced attacks. It allows testing for vulnerabilities and even extract information when no data is returned to the end user. Moreover, mastering its fundamentals will...
Continue reading this entry → -
Extracting Information from Custom Errors
Posted in AnomaliesUnderstanding information provided by application errors. Software developers often use error handling and validation mechanisms to prevent the application from crashing when an unexpected event occurs. In those situations custom errors are habitually returned to the user to indicate that something wrong happened (without providing full...
Continue reading this entry → -
Detecting SQL Injection Vulnerabilities from HTTP Errors
Posted in AnomaliesUnderstanding HTTP errors generated by SQL injection attacks. While testing for SQL injection vulnerabilities or attempting to take over a query, the attacker may face different HTTP status codes. Those responses may indicate that the SQL injection partially worked and therefore give precious hints to the tester. This...
Continue reading this entry → -
SQL Injection and Database Errors
Posted in AnomaliesUnderstand and identify database errors. Information leaked by errors, especially database errors, can help an attacker to achieve a successful SQL injection attack. They basically give hints to help crafting an SQL segment that will be correcly integrated in the query. It can also reveal...
Continue reading this entry → -
Using Comments to Simplify SQL Injection
Posted in SQL Injection TechniquesTerminating query with comments to achieve SQL injection. Terminating the query properly is one of the main difficulties an attacker may encounter while testing. Frequently, the problem comes from what follows the integrated user parameter. This SQL segment is part of the query and the malicious input must...
Continue reading this entry →