流量分析。

ops/2024/9/26 1:23:27/

流量分析

在Wireshak抓包可以看到正常的执行流程如下:
● Client向Server发起Load data local infile请求
● Server返回需要读取的文件路径
● Client读取文件内容并发送给Server
● PS:在本机上启动服务端与客户端,启动wireshark 抓包,要选择回环接口:Adapter for lookback traffic capture ,如果选择本地连接,会抓不到流量包。

MySQL客户端使用TCP协议作为底层传输协议,而使用Mysql公司自身的mysql Protocol协议作为应用层协议。我们可以通过Wireshark抓包工具,对MySQL客户端访问服务器过程中交换的mysql Protocol协议进行分析,从而深入理解MySQL数据库软件的工作原理。
附Wireshark支持分析的协议表:

本文使用两台电脑实现抓包操作,一台电脑作为服务器(ip: 192.168.0.102),另外一台电脑作为客户端(ip: 192.168.0.108)。使用Wireshark抓取MySQL数据包操作步骤如下:
1.将Wireshark软件打开,并在过滤器里输入“mysql”,然后启动监听过程;

2.使用客户端工具访问服务器

3.查看MySQL客户端登陆服务器捕捉过程

附上查询数据表数据的抓包截图:

注: mysql 协议默认分析的是 3306端口的数据;如果你的端口不是3306,请先在如下配置修改端口分析
wireshark-》编辑-》首选项-》protocol下找到myqsl

网络协议

TCP/IP协议图

筛选mysql流量
接着进行抓包。
通过过滤条件过滤出报文 协议 mysql 或端口 tcp.port == 3306

在Greeting包返回了服务端的版本等信息 

 

然后使用navicat客户端连接服务端。接着看到一个Request Query包,客户端发送请求。

在客户端连接MySQL服务端后,向服务端发起查询请求


服务端返回一个Response TABULAR,指定读取的文件路径

客户端读取文件内容并发送给服务端
从上面交互过程可以看出,在Client向Server发起查询后,Server会返回一个Response TABULAR的响应包。而如果在这个数据包中指定文件路径,就可以读取Client相应的文件。实际上Server可以在回复任何Client端的请求时返回Response TABULAR响应包,而不仅仅是在Client发起Load data local infile后。

应用场景

攻击者在对目标网站进行攻击时,通常会发现网站的一些漏洞,我们这里使用蜜罐技术,故意暴露我们的MySQL数据库,将数据库设置弱口令,让攻击者可以爆破出账号密码,使用工具进行连接。攻击者在使用navicat连接我们的数据库时成功后,我们可以执行代码,利用MySQL读取文件获取到攻击者的手机号、微信号、地址等信息。
mysql蜜罐读取敏感信息

使用方法

下载文件之后,启动3306端口
python2 exp_dicc.py 3306

成功读取
C:/windows/win.ini
C:/windows/system.ini
读配置文件


读取微信id

在Windows中,Windows下,微信默认的配置文件放在:C:\Users\username\Documents\WeChat Files\All Users\config\config.data 中含有微信ID及网络名称:

读取手机号和微信ID的方法(默认常见微信文件路径):
通过C:/Windows/PFRO.log获取windows用户名
通过C:/Users/用户名/Documents/WeChatFiles/AllUsers/config/config.data获取wxid
通过C:/Users/用户名/Documents/WeChatFiles/wx_id/config/AccInfo.dat获取微信号、手机号

 

可以通过这串代码来将id转换为二维码。

python">import qrcode
from PIL import Image
import os# 生成二维码图片
# 参数为wxid和二维码要保存的文件名
def make_qr(str,save):qr=qrcode.QRCode(version=4,  #生成二维码尺寸的大小 1-40  1:21*21(21+(n-1)*4)error_correction=qrcode.constants.ERROR_CORRECT_M, #L:7% M:15% Q:25% H:30%box_size=10, #每个格子的像素大小border=2, #边框的格子宽度大小)qr.add_data(str)qr.make(fit=True)img=qr.make_image()img.save(save)# 读取到的wxid
wxid = 'wxid_u3mntwd4glaq22'
qr_id = 'weixin://contacts/profile/' + wxid
make_qr(qr_id,'demo.jpg')

可以通过读取.从C:/Users/用户名/Documents/WeChat Files/wx_id/config/AccInfo.dat,获取微信号、绑定的手机号、邮箱等信息。

 

 


http://www.ppmy.cn/ops/34741.html

相关文章

性能优化 | el-table中内嵌大量el-input控件导致渲染卡顿的问题

场景 项目中有一个应用场景,用户需要在表单中大量使用选择框以及输入框填写数据(每一行大概有三十几个输入框),当选择框与输入框达到一定数量的时候,页面会出现输入不连续、卡顿的现象,如下图:…

pyqt 分组框控件QGroupBox

pyqt 分组框控件QGroupBox 分组框控件QGroupBox介绍效果代码 分组框控件QGroupBox介绍 QGroupBox提供了一个框架,用于将其他控件(如按钮、滑块、标签等)组合在一起。 QGroupBox 通常包含一个标题栏和一个内容区域。标题栏显示文本标签&#…

前后端分离遇到CORS问题的解决办法

用一个简单的前后端分离项目中讲解CORS 前端代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&…

RESTFul风格设计和实战

四、RESTFul风格设计和实战 4.1 RESTFul风格概述 4.1.1 RESTFul风格简介 RESTful&#xff08;Representational State Transfer&#xff09;是一种软件架构风格&#xff0c;用于设计网络应用程序和服务之间的通信。它是一种基于标准 HTTP 方法的简单和轻量级的通信协议&#x…

jmeter后置处理器提取到的参数因为换行符导致json解析错误

现象&#xff1a; {"message":"JSON parse error: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Ill…

【Java那些事】关于如何使用Jwt令牌的那些事

先简单介绍一下吧 ^_~ JWT&#xff08;JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;用于在网络应用间传递声明的一种基于JSON的轻量级的令牌。 JWT令牌由三部分组成&#xff1a;头部&#xff08;Header&#xff09;、载荷&#xff0…

无经验计科应届生前端面试遇到的问题整理

js数据类型有几种&#xff0c;分别是 原始数据类型&#xff08;Primitive data types&#xff09;: 字符串&#xff08;String&#xff09;: 用于表示文本数据&#xff0c;使用单引号&#xff08;‘’&#xff09;或双引号&#xff08;“”&#xff09;括起来。 数字&#xff…

【挑战30天首通《谷粒商城》】-【第一天】02、简介-项目整体效果展示

文章目录 课程介绍 ( 本章了解即可&#xff0c;可以略过)一、 分布式基础 (全栈开发篇) (初中级)二、 分布式高级 (微服务架构篇) ( 高级)三、高可用集群 (架构师提升篇)( 架构 ) one more thing 课程介绍 ( 本章了解即可&#xff0c;可以略过) 1.分布式基础(全栈开发篇)2.分布…