Using sqlmap to discover SQL vulnerabilities
Identifying Users
The command in Listing 3 reveals the tables that are present in the information
database. The query reveals 65 tables (line 48; the output is abbreviated for clarity). At this point, an attacker would probably focus on the USER_PRIVILEGES table to look for possible privilege escalation opportunities. A pen tester must think like an attacker, so the next step is to run sqlmap with the --columns
option to look for the names of the columns associated with the USER_PRIVILEGES table (Listing 4).
Listing 3
Discovering the Tables
Listing 4
Critical Columns
The most interesting column in the USER_PRIVILEGES table is the GRANTEE column, which appears to list the users who are granted privileges. A dump of the GRANTEE column shows one entry called admin
(Listing 5).
Listing 5
Dumping Column Entries
It's a Wrap
At this point it's pretty obvious that any and all the data is vulnerable. You (or worse yet, a hacker) could go about dumping the contents of the credit card table, as well as any other tables of interest.
Sqlmap lets you search for SQL vulnerabilities without having to have specific knowledge about SQL versions and version vulnerabilities. If you are serious about protecting your online SQL resources, you would be wise to keep a tool like sqlmap in your pen test toolkit.
Infos
- Common Vulnerabilities and Exposures website: http://cve.mitre.org/
- sqlmap: http://sqlmap.org/
- Kali Linux: http://www.kali.org
- Kali Linux download: https://www.kali.org/downloads/
- Kali documentation: http://docs.kali.org/
« Previous 1 2
Buy this article as PDF
(incl. VAT)