一般的中间人攻击基本都是拦截修改普通的http协议里面的内容,而对于怎么拦截修改websocket协议传输的内容好像都没有多少介绍.

talk is cheap show me the code

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Fiddler; namespace Intercept_HTTP_requests
{
public partial class Form1 : Form
{
public Form1()
{ InitializeComponent();
SetSSLCer(); FiddlerApplication.OnNotification += delegate (object sender, NotificationEventArgs oNEA) { Console.WriteLine("** NotifyUser: " + oNEA.NotifyString); };
FiddlerApplication.Log.OnLogString += delegate (object sender, LogEventArgs oLEA) { Console.WriteLine("** LogString: " + oLEA.LogString); };
FiddlerApplication.OnWebSocketMessage += FiddlerApplication_OnWebSocketMessage;
FiddlerApplication.Startup(8877, true, true); } public static byte[] hexStringToBytes(String hexString)
{
hexString = hexString.Replace("-", "");
int length = hexString.Length / 2;
char[] hexChars = hexString.ToCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++)
{
int pos = i * 2;
d[i] = (byte)(charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
}
return d;
}
private static byte charToByte(char c)
{
return (byte)"0123456789ABCDEF".IndexOf(c);
}
private static void FiddlerApplication_OnWebSocketMessage(object sender, WebSocketMessageEventArgs e)
{
if (e.oWSM.PayloadAsString().Contains("77-65-69-6C-69-66-61-67-65") && e.oWSM.MaskingKey == null)
{ String payload = e.oWSM.PayloadAsString().Replace("77-65-69-6C-69-66-61-67-65", "79-78-61-73-78-68-61-73-64-68-64-73-61-64-61-73-64-61-73");
e.oWSM.SetPayload(hexStringToBytes(payload)); } }
private void button1_Click(object sender, EventArgs e)
{
button1.Text = "运行中..";
} private void button2_Click(object sender, EventArgs e)
{
FiddlerApplication.Shutdown();
System.Threading.Thread.Sleep(1000);
this.Close();
} private bool SetSSLCer()
{
if (CertMaker.rootCertIsMachineTrusted())
return true;
BCCertMaker.BCCertMaker a = new BCCertMaker.BCCertMaker();
a.CreateRootCertificate();
return a.TrustRootCertificate();
}
}
}

最重要的问题就是如果你要替换的内容比原本的内容短,必须在前面补零!!!

利用fiddler core api 拦截修改 websocket 数据的更多相关文章

  1. Fiddler抓包和修改WebSocket数据,支持wss

    记录一下用Fiddler对WebSocket收发的数据进行抓包分析和篡改数据,只找到这么一个方法,能用就行吧. 时间:2019-3-29 环境: win7 + Fiddler 5.0 Fiddler抓 ...

  2. 【转】Fiddler抓包和修改WebSocket数据,支持wss

    记录一下用Fiddler对WebSocket收发的数据进行抓包分析和篡改数据,只找到这么一个方法,能用就行吧.时间:2019-3-29环境: win7 + Fiddler 5.0 Fiddler抓取W ...

  3. Asp .net core api+Entity Framework 实现数据的存取到数据库中

    最近在学dotNetCore 所以尝试了一下api 这个功能 不多说了大致实现如下 1.用vs2017建立一个Asp.net  Core Web 应用程序 在弹出的对话框中选择 Web API 项目名 ...

  4. 利用Fiddler拦截接口请求并篡改数据

    近期在测试一个下单的项目,出于安全角度考虑,测试了一个场景,那就是利用工具对接口进行拦截并篡改数据.将接口一拦截并篡改数据后,发现收货满满.开发默默接受了我的建议,并对代码进行了修改. 对于fiddl ...

  5. 利用fiddler将本地网页放到某个域下

    注: 1)在学习慕课网课程<搜索框制作>中遇到如题困难,查找资料后解决,做此记录.课程网址http://www.imooc.com/video/263. 2)建议同时去学习慕课网课程< ...

  6. 【windows核心编程】一个API拦截的例子

    API拦截 修改PE文件导入段中的导入函数地址 为 新的函数地址 这涉及PE文件格式中的导入表和IAT,PE文件中每个隐式链接的DLL对应一个IMAGE_IMPORT_DESCRIPTOR描述符结构, ...

  7. Fiddler -工具使用介绍(附:拦截请求并修改返回数据)(转)

    一.Fiddler 介绍 Fiddler 是一个使用 C# 编写的 http 抓包工具.它使用灵活,功能强大,支持众多的 http 调试任务,是 web.移动应用的开发调试利器. 1,功能特点 同 H ...

  8. 利用Fiddler修改请求信息通过Web API执行Dynamics 365操作(Action)实例

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复261或者20170724可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  9. 利用Fiddler或Charles进行mock数据

    使用场景:服务器数据不符合测试条件时,我们可以通过在本地创建虚拟数据来打到测试用例所描述的条件. fiddler使用方法 1.首先在本地创建txt数据:将抓到的response中的json数据拷贝到记 ...

随机推荐

  1. MySQL大数据表水平分区优化的详细步骤

    将运行中的大表修改为分区表 本文章代码仅限于以数据时间按月水平分区,其他需求可自行修改代码实现 1. 创建一张分区表 这张表的表字段和原表的字段一摸一样,附带分区 1 2 3 4 5 6 7 8 9 ...

  2. 转:winform 打包自动安装数据库

    vs2005 打包,并自动安装SQL数据库.创建部署项目    1.   在“文件”菜单上指向“添加项目”,然后选择“新建项目”.    2.   在“添加新项目”对话框中,选择“项目类型”窗格中的“ ...

  3. 快速开发QCombox以及业务样式自定义

    这是我在项目实战中的个人总结,写的仓促,有些东西也不一定准确,有些是自己推断的,还希望各位多多指教,多多评论. 关于QCombox如果不需要自定义,其实写UI是很简单的. 创建实例:QComboBox ...

  4. Hadoop HBase概念学习系列之HMaster服务器(四)

    每台HRegion服务器都会和HMaster服务器通信,HMaster的主要任务就是告诉每个HRegion服务器它要维护哪些HRegion. 当一台新的HRegion服务器登录到HMaster服务器时 ...

  5. [BZOJ 4763]雪辉

    [BZOJ 4763] 雪辉 题意 给定一棵 \(n\) 个点的无根树, 点带权. \(q\) 次询问, 每次给定树上的若干路径, 求这些路径上的点共有多少种不同权值以及这些点的权值组成的集合的 \( ...

  6. PyQt5---ChangeIcon

    # -*- coding:utf-8 -*- ''' Created on Sep 13, 2018 @author: SaShuangYiBing ''' import sys from PyQt5 ...

  7. 数据结构习题Pop Sequence的理解----小白笔记^_^

    Pop Sequence(25 分) Given a stack which can keep M numbers at most. Push N numbers in the order of 1, ...

  8. 3532: [Sdoi2014]Lis

    Description 给定序列A,序列中的每一项Ai有删除代价Bi和附加属性Ci.请删除若干项,使得4的最长上升子序列长度减少至少1,且付出的代价之和最小,并输出方案. 如果有多种方案,请输出将删去 ...

  9. 【转】默认网关有什么用?我应当怎么填写默认网关和DNS呢

    默认网关有什么用?我应当怎么填写默认网关和DNS呢? 目前使用的是pppoe方式上网,无猫,只是将一根入户的网线插在无线路由上面,然后在路由中设置ppoe方式上网,输入帐号密码.一般电脑和手机全设成了 ...

  10. Vue入门2

    欢迎转载,转载请注明出处. 前言 学习本系列Vue知识,需要结合本系列的一些demo.你可以查看我的 Github 或者直接下载 ZIP包 . 建议学习本系列之前已经会一个其他的前端框架,了解计算属性 ...