wireshark 流量抓包例题重现
@[TOC](这里写目录标题
- wireshark抓包方法
- wireshark组成
- wireshark例题
wireshark抓包方法
wireshark组成

wireshark的抓包组成为:分组列表、分组详情以及分组字节流。

上面这一栏想要显示,使用:Ctrl+F
我们先看一下最上侧的搜索栏可以使用的方法。

http.request.method == get //抓取http的request的get请求
http.request.method == post //抓取http的request的post请求
http.request.uri == "/img/logo-edu.gif" //抓取http请求的url为/img/logo-edu.gif的数据包
http contains "FLAG" //抓取内容为FLAG的数据包
ip.addr == 192.168.224.150 //抓取包含次ip地址的数据包
ip.src == 192.168.224.150 //抓取源地址为此地址的数据包
ip.dts == 192.168.224.150 //抓取目的地址为此地址的数据包
eth.dst == A0:00:00:04:c5:84 //抓取目标MAC地址的数据包
eth.addr == A0:00:00:04:c5:84 //抓取包含此MAC的数据包
tcp.dstport == 80 //抓取tcp目的端口为80的数据包
tcp.srcport == 80 //抓取tcp源端口为80的数据包
udp.srcport == 80 //抓取udp源端口为80的数据包组合:
ip.addr == 192.168.224.150 && tcp.dstport == 80 //抓取ciip地址并且使用tcp目的端口为80的数据包arp/icmp/ftp/dns/ip //抓取协为arp/icmp...的数据包udp.length == 20 //抓取长度为20的udp数据包
tcp.len>=20 //抓取长度大于20的tcp数据包
ip.len == 20 //抓取长度为20的ip数据包
frame.len == 20 //抓取长度为20的数据包tcp.stream eq 0 //抓取tcp的分组0
我们不难看出,上侧搜索栏十分灵活,基本已经满足我们抓包要求。
那么我们再看一下下面我们添加的一栏。

最前面是指三个框,也就是搜索的位置

然后是宽窄,这里的宽窄是指编码方式

接下来就是区分大小写,后面的一栏就非常重要了,这里我们主要介绍字符串和正则。
我们知道如果我们想要搜索一些http内容,我们可以使用http,似乎和上侧差不多,但这里搜索的是字符串,而上面则是协议。
正则则更简单了,如果我们想要过滤一些文件,比如php:/.php$/更加快速。
这里是搜索的内容,我们再看另一个点,追踪数据流。

这里的追踪流,可以是TCP也可以是HTTP,这里打开一个看一下就好。

wireshark的使用就介绍到这。
wireshark例题
案例一
题目要求:
1.黑客攻击的第一个受害主机的网卡IP地址
2.黑客对URL的哪一个参数实施了SQL注入
3.第一个受害主机网站数据库的表前缀 (加上下划线例如abc_)
第一个比较简单,我们从http入手,进行查看。

查看一下数据包

很明显,我们可以看到我们映射出的公网ip是受害方202.1.1.1。
那么这个地址对应的私网IP就是被攻击方,也就是受害方。
也就是192.168.1.8
第二个,SQL注入参数

sqlamp是扫描器,而参数则在下面的内容中,也就是list
第三个,数据库表前缀
我们对数据的TCP流进行追踪

报错注入,分析数据
那么前缀就是ajtuc_
案例二
题目要求
1.黑客第一次获得的php木马的密码是什么
2.黑客第二次上传php木马是什么时间
3.第二次上传的木马通过HTTP协议中的哪个头传递数据
查询post传参
存在一个特殊的文件/kkkaaa.php文件,检查第一个文件

追踪一下,TCP流


这里我们就可以看到,此时的密码就是“zzz”
将下面的z0,进行base64解码

dirname可以用来检测所处路径和下面的所有文件
再过滤,将过滤内容全部看一下

基本都是执行命令的
2、第二次上传木马的时间
此时的958的大数据文件,比较醒目,我们查看一下,追踪一下TCP流

此时z0和z1都是base64编码,而z2是16进制,不难看出这里就是木马文件的上传,所以时间就是数据包里记录的时间
3、HTTP的哪个头部传递数据
我们将z2的16进制拷贝一下,十六进制转码,查看一下数据

我们看着里面的内容非常混乱,原因是将php代码进行了混淆,不易发现。
先简单还原一下。

上面是进行了replace替换操作,

执行替换之后,出现了create_function.
create_function可以在内部执行eval,所以可以实现执行命令操作。
$x也是进行了一个拼接。
似乎还是不容易查看,那么我们再努力一下


分析:
传了两个值,
然后函数是异或操作
先得出字符串长度,然后,将索引相同的值进行异或操作,拼接起来,最后复制
接收了两个数据,一个是HTTP_REFERER,一个是HTTP_ACCEPT_LANGUAGE,
然后两个数据判断进行与运算
成立,将REFERER字段进行拆解,通过url的组成拆解
query字段取出复制q

下面再将q进行拆分

去除之后,正则匹配,匹配language,
在第一次匹配,匹配到了zh-CN,因为,的原因结束了,第一次匹配结束
第二次匹配,匹配到了zh;q=0.8,第二次匹配结束
第三次匹配,匹配到en;q=0.6。第三次匹配结束
这里还存在(),正则里面代表组,所以正则匹配之后,生成了一个数组,里面的内容,数组赋值给了m

然后又进入判断。
成立,创建了一个SESSION,赋值,创建两个字符串。
m数组内容拼接i,然后i和前面的值进行MD5,取前三位,再赋值,后面亦如此
定义一个空字符串。循环拼接
判断h在字符串p的索引,成立,i放入数组,此时i没有值,截取p的从第3位到最后
再判断
成立,拼接进数组的i里面,此时i有值了
判断是否在里面,再判断,拼接
先截取,再替换,再base64解码,最后异或解密。这一步至关重要
这一步,主要是进行数据解压缩
在生成木马时,进行了异或,base64封装,再替换,最后拼接,完成压缩。想要解压缩,就要反其道而行之。

referer数据十分可疑,language比较正常,但是也是需要配置,也就是说两者缺一不可,所以最后,使用的是referer头和language传递数据
相关文章:
wireshark 流量抓包例题重现
[TOC](这里写目录标题 wireshark抓包方法wireshark组成 wireshark例题 wireshark抓包方法 wireshark组成 wireshark的抓包组成为:分组列表、分组详情以及分组字节流。 上面这一栏想要显示,使用:CtrlF 我们先看一下最上侧的搜索栏可以使用的…...
Smartbi电子表格软件版本更新,首次推出Excel轻应用和语音播放
Smartbi电子表格软件又又又更新啦! 此次更新,首次推出了新特性——Excel轻应用和语音播报。另外,还对产品功能、Demo示例、配套文档进行了完善和迭代。 低代码开发Excel轻应用 可实现迅速发布web应用 业务用户的需求往往都处于“解决问题”…...
ElasticSearch简介、安装、使用
一、什么是ElasticSearch? Elasticsearch 是 Elastic Stack 核心的分布式搜索和分析引擎。 Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。 Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监…...
Navicat 连接 mysql 问题
需要将mysql配置文件设置为远程任意ip可登陆,注释掉一下两行配置 # bind-address>->--- 127.0.0.1 # mysqlx-bind-address>-- 127.0.0.1Cant connect to MySQL server on "192.168.137.139 (10013 "Unknown error") 检查Navicat是否联网H…...
Adobe Media Encoder软件安装包分享(附安装教程)
目录 一、软件简介 二、软件下载 一、软件简介 Adobe Media Encoder是一款由Adobe公司开发的视频和音频后期制作软件,它集成了多种编码格式和输出选项,可以帮助用户将视频和音频文件转换成适合各种用途的格式。该软件可以与Adobe Premiere Pro、After …...
[C#][原创]操作注册表一些注意点
C#注册表只需要引入 using Microsoft.Win32; C#注册表操作都是通过2个类Registry和RegistryKey进行所有操作。但是有些基本注意事项经常忘记,不常用就很容易忘记。 第一,打开注册表,第2个bool参数问题: RegistryKey key Regi…...
“华为杯”研究生数学建模竞赛2016年-【华为杯】C题:基于无线通信基站的室内三维定位问题
目录 摘 要: 一、问题的重述 1.1 问题背景 1.2 具体要求 1.3 数据分析...
双目视觉之-棋盘格标定板制作
棋盘格设计地址: https://markhedleyjones.com/projects/calibration-checkerboard-collection 包括A0,A1,A2,A3和A4多种规格的棋盘格标定板,支持自定义设置棋盘格grid宽度和高度。 基于Matlab的双目视觉标定流程和O…...
自然对数底e的一些事
自然对数底e的一些事 走的人多了就成了路 中国清代数学家李善兰(1811—1882) 凡此变数中函彼变数者,则此为彼之函数 自然对数底也是使用习惯 🍉 李善兰把function翻译为函数,函就是包含,含有变量ÿ…...
React Hooks 全解:零基础入门
Hooks 的由来 你还在为该使用无状态组件(Function)还是有状态组件(Class)而烦恼吗? ——拥有了hooks,你再也不需要写Class了,你的所有组件都将是Function。 你还在为搞不清使用哪个生命周期钩…...
webrtc在js里的实现
WebRTC(Web Real-Time Communication)是一项开放的浏览器技术,它允许浏览器之间建立点对点(peer-to-peer)连接,实现音频、视频、文件的传输和通信。它的实现一般需要使用JavaScript语言。 在JavaScript中&…...
熊猫:完整的初学者指南
pandas:完整的初学者指南 一、说明 在你的Python开发人员或数据科学之旅中,你可能已经多次遇到“熊猫”这个词,但仍然需要弄清楚它的作用。以及数据和熊猫之间的关系。所以让我向你解释一下。 根据最新估计,每天创建 328.77 亿 TB…...
【Go】Go语言并发编程:原理、实践与优化
在当今的计算机世界,多核处理器和并发编程已经成为提高程序执行效率的关键。Go语言作为一门极富创新性的编程语言,凭借其强大的并发能力,在这方面表现出色。本文将深入探讨Go语言并发编程的原理,通过实际代码示例展示其应用&#…...
HTTPS协议加密原理
目录 一、什么是HTTPS 二、什么是加密/解密 三、为什么要加密 四、常见的加密方式 1.对称加密 2. 非对称加密 五、HTTPS加密方式探讨 1.只使用对称加密 2.只使用非对称加密 3.非对称加密对称加密 4.非对称加密对称加密CA认证 六、总结 一、什么是HTTPS HTTP 协议&a…...
L1-034 点赞(Python实现) 测试点全过
题目 微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特…...
MySQL 存储过程 循环处理数据 while repeat
最近搞数据,需要搞搞mysql 的存储过程,很多忘记了,就查查,然后总结下。。 文章目录 介绍循环repeat方式循环while方式外传 介绍 MySQL存储过程中使用循环处理数据 存储过程就像一份写好的由多条SQL组合的代码,这份SQ…...
基于配置类方式管理 Bean
目录 一、完全注解开发理解 二、配置类和扫描注解 三、Bean定义组件 四、Bean注解细节 五、import 扩展 一、完全注解开发理解 Spring 完全注解配置(Fully Annotation-based Configuration)是指通过 Java配置类 代码来配置 Spring 应用程序&#…...
最新CMS指纹识别技术
指纹识别 1.CMS简介 CMS(Content Management System,内容管理系统),又称整站系统或文章系统,用于网站内容管理。用户只需下载对应的CMS软件包,部署、搭建后就可以直接使用CMS。各CMS具有独特的…...
快速入门学习记录:常用代码、特定函数、复杂概念和特定功能说明
😀前言 本篇博文是关于Java入门学习的一些常用记录,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力&a…...
【win视频播放器】HEVC视频扩展
问题描述: 播放此视频需要新的编解码器 编解码器允许应用读取并播放不同文件。可以从Microsoft Store下载该编解码器 ¥7.00 现在获取 稍后再说 解决方法: 方法一:(该方法我正常使用) 链接:ht…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
