本文以 RPC 获取百度登录password加密值为例:

涉及的知识点有:

  1.js调试,寻找加密代码

  2. 浏览器本地代码替换

  3. js自执行函数

  4. 插桩

  5. RPC 远程调用

  6. python websocket ,js websocket

一.寻找百度登录password 加密代码

1.找加密代码

2. 加密代码的位置

二.js本地替换

1.浏览器--> Overides--->select floder for overides--> 选择目录---> 会弹出权限允许按钮--> 点击允许--> 未格式化的js文件右键—》 save for overrides--> 复制格式好的代码到未格式的js文件中(替换)--》保存

三.将自执行websockect 客户代码注入到本地js加密文件中(加密前一句,添加)

  js自执行函数

  闭包自执行函数,不污染全局变量

!(function () {

})();

1. 将需要写的逻辑代码加入到自执行函数中

web.js

!(function () {

    // 导出函数e,从而能外部调用
window.deng=e; var ws = new WebSocket("ws://127.0.0.1:5678");
ws.onopen=function (ev) { }; ws.onmessage =function (ev) {
//收到客户端的信息,并对其进行加密
var pwd = window.deng.RSA.encrypt(ev.data);
// 向客户端发送加密后的信息
console.log(pwd);
ws.send(pwd) }; })();

 2. 将上面web.js中的代码加入本地js文件中并保存本地替换插桩

 3. 开启python websocket 服务端

服务端server.py 代码:

import asyncio
import websockets async def echo(websocket, path):
# cnt = 0
while True:
#要发送的消息
msg = input("send=>")
#给客户端发信息
await websocket.send(msg)
try:
message = await websocket.recv()
print(f"加密前{msg}\n加密后:{message}")
print("==================")
except Exception as e:
print(e)
# await asyncio.sleep(1) start_server = websockets.serve(echo, '127.0.0.1', 5678) # 地址改为你自己的地址
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()

server.py

 4. 开启浏览器客户端

web.js的代码已经注入到本地js中,作为客户端

(1)刷新百度页面,重新进入百度登录页面,点击登录

5. python服务端发送明文密码后:

RPC调用获取参数值的更多相关文章

  1. RPC调用与GC垃圾回收

    RPC调用 多个服务协同完成一次业务时,由于业务约束(如红包不符合使用条件.账户余额不足等).系统故障(如网络或系统超时或中断.数据库约束不满足等),都可能造成服务处理过程在任何一步无法继续,使数据处 ...

  2. Dubbo系列(三)dubbo的核心技术--RPC调用

    dubbo的核心技术--RPC调用:分为俩部分RPC协议Protocol和方法调用Invoke: 一.RPC协议Protocol(Remote Procedure Call)远程过程调用协议 1.我们 ...

  3. RabbitMQ学习笔记5-简单的RPC调用

    利用空的queue名字("")让rabbitMQ生成一个唯一的队列名称,同时指定队列是:临时的(auto-delete).私有的(exclusive). 在发送的RPC调用消息里设 ...

  4. Hadoop学习记录(3)|HDFS API 操作|RPC调用

    HDFS的API操作 URL方式访问 package hdfs; import java.io.IOException; import java.io.InputStream; import java ...

  5. 使用RPC 调用NameNode中的方法

    用户在Client 端是很难对 NameNode中的信息进行直接访问的, 所以 ,在Hadoop系统中为 Client端 提供了一系列的方法调用,这些方法调用是通过RPC 方法来实现的, 根据RPC ...

  6. 浅谈RPC调用

    RPC英文全称remote procedure call 翻译成中文的意思就是远程过程调用.RPC的出现其实主要是为了解决分布式系统间的通信透明性的问题. 那什么是分布式系统的通信透明性问题?这个问题 ...

  7. Openstack创建虚拟机 Restful api和RPC调用

    Horizon前台界面用于接受用户的输入或动作(action),然后将这些参数构造成RESTful API(https://developer.openstack.org/api-ref/comput ...

  8. pomelo RPC调用时新增字段缺失

    接触pomelo开发一个月,正式开始参与项目开发有10天,遇到很多细节的坑,今天讲讲标题:后端服务器节点之间的rpc调用过程中,返回的数据中新增字段缺失问题. 先讲结果:原因是该rpc调用已经采用了p ...

  9. Hadoop源码学习笔记(4) ——Socket到RPC调用

    Hadoop源码学习笔记(4) ——Socket到RPC调用 Hadoop是一个分布式程序,分布在多台机器上运行,事必会涉及到网络编程.那这里如何让网络编程变得简单.透明的呢? 网络编程中,首先我们要 ...

随机推荐

  1. wordpress中遇到的问题

    在博客园申请了账号,也已经开始写了两篇内容,但还是想要有属于自己的小站.于是将域名续费了几年,又在我之前买的vps上搭建了一个wordpress博客站点,这样以后我就可以同时发布到两个地方. 根据教程 ...

  2. 源码分析 SpringCloud 2020.0.4 版本 EurekaClient 的注册过程

    1. 概述 老话说的好:要善于思考,有创新意识. 言归正传,之前聊了 Springboot 的启动过程,今天来聊聊 Eureka Client 的注册过程. 2. Eureka Client 的注册过 ...

  3. 中华古诗词知识图谱之实体关系构建&导入neo4j数据库

    实体分析 诗名实体 属性 包含:作诗时间,诗名,内容,翻译,背景. 关系 实体1 关系 实体2 诗名 形式 诗词形式 诗名 作者 诗人 诗名 分类 类别 诗名 词牌名 词牌名 诗名 曲牌名 曲牌名 诗 ...

  4. Swoole 中使用通道(Channel)实现协程间通讯(消息队列)

    通道 Coroutine\Channel 使用本地内存,不同的进程之间内存是隔离的. 只能在同一进程的不同协程内进行 push 和 pop 操作. Co::set(['hook_flags'=> ...

  5. nignx-防盗链

    环境 主机                  IP            角色 centos6.5-1       192.168.3.10      源主机 centos6.5-2       19 ...

  6. vue 从后台获取数据并渲染到页面

    一.在 created中调用methods中的方法 二.在methods中通过vuex异步获取后台数据 三.在computed 中计算属性 四.页面中调用computed中的计算后的属性 来自为知笔记 ...

  7. mysql数据库忘记root密码怎么办?

    mysql数据库忘记root密码怎么破解和修改 1.停止数据库的运行 [root@localhost ~]# /etc/init.d/mysqld stop 或者[root@localhost ~]# ...

  8. xshell 所选的用户密钥未在远程主机上注册;无法加载密钥

    他山之石 https://zhuanlan.zhihu.com/p/92528287 安全起见,服务器最近的安全策略准备进行更改,逐渐由原来的密码登录更换为密钥登录认证. 于是今天把服务器上的id_r ...

  9. Tomcat8/9的catalina.out中文乱码问题解决

    OS: Red Hat Enterprise Linux Server release 7.8 (Maipo) Tomcat: 9 中文显示为???问号 在$CATALINA_HOME/conf下的l ...

  10. vue爬坑之路(webpack 配置篇)

    在vue cli下 1.npm run dev 打开浏览器在config的index.js中修改autoOpenBrowser为true 关闭sourcemap productionSourceMap ...