sqlmap获取目标
1.sqlmap直连数据库
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.)
2.sqlmap URL探测
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
的版本
3.sqlmap文件读取目标
sqlmap
支持从不同类型的文件中读取目标进行sql
注入探测。
1、-i
从Burpsuite proxy
或WebScarab proxy
中读取Http
请求日志文件
2、-x
从sitemap.xml站点地图文件中读取目标探测。
3、-m
从多行文本格式文件读取多个目标,对多个目标进行探测
4、-r
从文本文件中读取Http请求作为sql注入探测的目标。
5、-c
从配置文件sqlmap.conf中读取目标探测。