通过把 SQL 命令插入到 Web 表单递交或输入域名或页面请求的查询字符串,最终达到执行 SQL命令的目的。
页面的搜索框、登录框、输入栏; 请求方式; 请求头;所有能与用户进行交互的地方都可能存在注入
1、工具准备
BurpSuite
SQLmap
2、BurpSuite获取被测接口信息
在被测系统界面进行手工操作;
BurpSuite抓取到相应接口;
在BurpSuite中找到对应的请求后右键保存到文件,保存为一个txt文件


3、运行sqlmap
-r 表示 "read request from file",即从文件中读取 HTTP 请求。
--batch 表示自动模式,即 sqlmap 在检测过程中不会停下来问你问题(默认自动回答"Yes")

4、查看结果
如下图所示,运行结束反馈未发现注入漏洞

| 结果样式 | 是否有问题 | 含义 |
|---|---|---|
[INFO] parameter appears to be injectable |
✅ 有问题 | 存在注入点 |
[INFO] the back-end DBMS is ... |
✅ 有问题 | 成功识别数据库 |
[INFO] fetching tables... |
✅ 有问题 | 可利用漏洞 |
[WARNING] parameter does not appear to be injectable |
❌ 安全 | 未发现漏洞 |
[INFO] all tested parameters do not appear to be injectable |
❌ 安全 | 测试范围内安全 |