吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9136|回复: 45
收起左侧

[Web逆向] js逆向之Rpc免扣代码

  [复制链接]
jxhczzz 发表于 2021-9-26 16:20
本帖最后由 jxhczzz 于 2021-9-27 09:44 编辑

JsRpc
js逆向之远程调用(rpc)免去抠代码



基本介绍
    JsRpc是啥玩意?
    在网站的控制台新建一个WebScoket客户端链接到服务器通信,调用服务器的接口 服务器会发送信息给客户端
    客户端接收到要执行的方法执行完js代码后把获得想要的内容发回给服务器 服务器接收到后再显示出来

代码地址:https://github.com/jxhczhl/JsRpc

目录结构
    -- main.go (服务器的主代码) 编译后可食用
    -- JsEnv.js (客户端-网页上的js环境)

    -- win64-http-localhost.exe  我给你们编译好的文件 直接可以用 http本地版用这个
    -- win64-https-need-certificate.exe 我给你们编译好的文件 需要配证书使用 证书放当前路径(zhengshu.pem和zhengshu.key)就能用了
     那两个exe在releases中下载
   
    先把服务打开(编译后的go文件)

    粘贴JsEnv环境到网站控制台
    注入ws 控制台粘贴
   
[JavaScript] 纯文本查看 复制代码
var demo = new Hlclient("ws://127.0.0.1:12080/ws?group=test&name=test")

    注册一个方法 第一个参数hello为方法名,第二个参数为函数,resolve里面的值是想要的值,param是可传参参数,可以忽略
   
[JavaScript] 纯文本查看 复制代码
demo.regAction("hello", function (resolve,param) {
            var c="好困啊"+param

        resolve(c);

    })



实现
    说明:本方法可以https证书且支持wss  ,本地跑可以用ws 127.0.0.1

    在https的网站新建WebSocket连接如果是连接到普通的ws可能会报安全错误,好像连接本地(127.0.0.1)不会报错~ 可以用本地和wss 你自己看着玩
   
    1.无https证书者。直接编译main.go 我试了一下,发现使用本地ip(127.0.0.1)可以在https的网站直接连接ws使用 默认端口12080
   
    2.有https证书者。修改main.go文件 把r.Run()注释掉,把r.RunTls注释取消掉 并且参数设置证书的路径 直接输入名字就是当前路径 默认端口:12443
   
    另外的题外话,有域名没证书不会搞的 或者有域名有公网(非固定IP的)都可以搞成的,自己研究研究
   
食用方法
   
   
    打开编译好的go文件,开启服务
    001.png

    有3个接口:
        /list是查看当前连接的ws服务
        /ws是浏览器注入ws连接的接口
        /go是获取数据的接口 (数据格式json: {"group":"hhh","hello":"好困啊yes","name":"baidu","status":"200"} )
        
        
    说明:接口用group和name来区分,我也不知道我为啥要抄两个名字来区分
    ws://127.0.0.1:12080/ws?group={}&name={}" //注入ws的例子 group和name都可以随便
    http://127.0.0.1:12080/go?group={}&name={}&action={}¶m={} //group和name填写上面注入时候的,action是注册的方法名,param是可选的参数
   
    步骤一:粘贴js环境
    002.png
    步骤二:注入ws和方法
    003.png
    步骤三:访问接口就能获得数据
    004.png
    {"group":"hhh","hello":"好困啊yes","name":"baidu","status":"200"} 其中 hello是会变的 是action名字。 用代码访问的时候要注意这个名字


食用案例-爱锭网15题

    本题解是把它ajax获取数据那一个函数都复制下来,然后控制台调用这样子~
   

    1.f12查看请求,跟进去 找到ajax那块,可以看到call函数就是主要的ajax发包 输入页数就可以,那我们复制这个函数里面的代码备用

    1.png
   

    2.先在控制台粘贴我的js环境,再注入一个rpc链接 注册一个call方法,名字自定义 第二个参数粘贴上面call的代码,小小修改一下
       先定义num=param 这样就传参进来了,再定义一个变量来保存获取到的数据,resolve(变量) 就是发送。完了就注入好了,可以把f12关掉了
2.png




    3.调用接口就完事了,param就是传参页数
3.png
   

控制台可以关,但是注入的网页不要关哦
   





免费评分

参与人数 12吾爱币 +18 热心值 +11 收起 理由
sifeng + 1 + 1 我很赞同!
涛之雨 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Stoneone + 1 + 1 谢谢@Thanks!
wuaixql + 1 + 1 用心讨论,共获提升!
gorkys + 2 + 1 谢谢@Thanks!
wrndlb + 1 谢谢@Thanks!
elevo + 1 + 1 热心回复!
为之奈何? + 1 + 1 我很赞同!
xhever + 1 + 1 我很赞同!
chhzll + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zjun777 + 1 用心讨论,共获提升!
马甲下的蛋 + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| jxhczzz 发表于 2021-9-27 14:36

学习了你不点个免费评分

免费评分

参与人数 1吾爱币 +1 收起 理由
hubohang + 1 热心回复!

查看全部评分

kxg2020 发表于 2022-4-26 18:03
##### 一、问题描述

大佬你好,如果网页上生成的加密数据是在某个函数里面,并且有一些参数是在这个函数栈里面才有的。我想在断点的时候,注入websocket的脚本,但是我发现只要页面存在断点,那js引擎线程都会被阻塞住,我的脚本里面的事件(onopen)都无法执行。如果我放开断点,那又没法使用函数栈里面的参数了。如何保留函数的上下文,又能让注入顺利运行呢?求教

##### 二、场景
> 这个场景就是这种情况,登录里面有一个公钥,是动态生成的,我想就断在这个函数里面,注入websocket,但是没法正常响应事件。
```
    <button type="submit" class="btn btn-primary block full-width m-b" onclick="doLogin();return false;">登录</button>
    <script>
    function encryptLoginPassword(password, rsaPublicKey){
        var jsencrypt = new JSEncrypt(); //加密对象
        jsencrypt.setPublicKey(rsaPublicKey); // 设置密钥
        return jsencrypt.encrypt(password); //加密
    }
    function doLogin() {
        //公钥加密
        var rsaPublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNAD"
        var password =$('#password').val(); //明文密码
        var passwordEncrypted = encryptLoginPassword(password, rsaPublicKey)
        $('#password').val(passwordEncrypted); //返回给密码输入input
        $('#form').submit();//post提交
    }
    </script>
```
马甲下的蛋 发表于 2021-9-26 17:45
没光环的上帝 发表于 2021-9-26 20:14
学习了也解惑了,感谢
chhzll 发表于 2021-9-26 20:24
向大佬学习 谢谢分享
头像被屏蔽
xiaohuihui3 发表于 2021-9-26 20:41
提示: 作者被禁止或删除 内容自动屏蔽
wqs0987 发表于 2021-9-26 21:53
感谢大佬的无私分享
 楼主| jxhczzz 发表于 2021-9-26 21:57
没光环的上帝 发表于 2021-9-26 20:14
学习了也解惑了,感谢

怎么说,解惑了?解惑不点个免费评分。
zwtstc 发表于 2021-9-26 22:43
感谢分享,学习了
不负韶华 发表于 2021-9-26 23:04
用内部网站举例子好像不太好
chenjingsai 发表于 2021-9-27 09:21
感谢分享,学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 06:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表