sqlmap支持直连数据库,通过以下命令来直连。
1.服务型数据库(前提知道数据库用户名和密码):
DBMS://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_(MySQL,Oracle,Microsoft SQL Server,postgreSQL,etc.)
例如:
python2 sqlmap.py -d "mysql://root:123456@192.168.0.3:3306/testdb" -f --banner --dbs --users
参数信息如下所示:
-d:表示直接连接
root:表示数据库的用户名
123456:表示数据库的密码
testdb:表示数据库名
--banner:查看目标系统信息
--dbs:获取数据库信息
--users:获取用户权限
2.文件型数据库(前提知道数据库绝对路径):
DBMS://DATABASE_FILEPATH(SQLite,Microsoft Access,Firebird,etc.)
sqlmap直接对单一URL探测,参数使用-u或--url
URL格式:http(s)://targeturl[:port]/[...]
targeurl:目标URL
port:端口
因为我的端口是80,所以直接访问
http://localhost/sqli-labs-master/Less-1/?id=1

使用sqlmap探测如下
sqlmap -u "http://192.168.1.30/sqli-labs-master/Less-1/?id=1" --banner

通过探测可以知道,此处的SQL注入,有4种注入的方式,web服务器的操作系统是Windows,Apache,php,以及MySQL的版本
Sqlmap支持从不同类型的文件中读取目标进行Sql注入探测。
1、-i从Burpsuite proxy或WebScarab proxy中读取Http 请求日志文件
2、-x从sitemap.xml站点地图文件中读取目标探测。
3、-m从多行文本格式文件读取多个目标,对多个目标进行探测
4、-r从文本文件中读取Http请求作为Sql注入探测的目标。
5、-c从配置文件sqlmap.conf中读取目标探测。