前言
SQLmap是SQL注入的经典工具
尤其作为Kali Linux预装的注入工具,非常适合新手学习和使用
下面就通过一个简单的例子来了解SQLmap的基本用法
一、找到可能的注入参数
使用SQLmap进行注入时,url或本地文件中的url应当含有查询参数
否则SQLmap将无法定位可能的注入点,也就无法完成后续的工作
!
二、进行SQL注入
1.猜解可用数据库
输入以下命令
sqlmap -u <目标url> --dbs
执行时会出现三次提示
第一次是sqlmap已经匹配了数据库类型,是否要跳过对其他类型的测试(选择y)
第二次是是否只进行level(1)的扫描(选择n)
第三次是说sqlmap发现给出的参数是易受攻击的,是否对其他可能的项进行测试(选择y)
此时可以看到,我们成功获取了四个可用数据库
2.猜解可用数据库中的表
输入以下命令
sqlmap -u <目标url> --dbs -p <目标参数> -D <目标数据库> --tables
3.猜解表中的列
输入以下命令
sqlmap -u <目标url> --dbs -p <目标参数> -D <目标数据库> -T <目标表> --columns
4.Dump列中的所有数据项
输入以下命令,此处列可以多选,用双引号括起来,不同的列中间用逗号隔开
sqlmap -u <目标url> --dbs -p <目标参数> -D <目标数据库> -T <目标表> -C <目标列> --dump
写在结尾
这次的实验是SQLmap最简单的用法
根据不同的请求方式(GET/POST),SQLmap的使用方式也不相同
更为复杂的情况还需要多进行手注才能更好的理解SQL注入的原理和变式
SQLmap中参数的记忆也比较容易:
[1] u ----> url
[2] p ----> param
[3] D ----> DataBase
[4] T ----> Table
[5] C ----> Column