新聞中心
前言
jsrpc是指在瀏覽器開啟一個ws和go服務連接,以調用http接口的形式來通信,瀏覽器端收到調用通信執(zhí)行原先設置好的js代碼??梢杂糜趈s逆向調用加密函數(shù)直接返回結果,也可以用來直接獲取數(shù)據(jù)。

創(chuàng)新互聯(lián)主營長陽網站建設的網絡公司,主營網站建設方案,重慶APP開發(fā)公司,長陽h5微信小程序搭建,長陽網站營銷推廣歡迎長陽等地區(qū)企業(yè)咨詢
該工具和代碼,已經上傳到git,下載即可用。
下載地址:https://github.com/jxhczhl/JsRpc#jsrpc-hliang
代碼目錄結構
-- main.go (服務器的主代碼)
-- resouces/JsEnv.js (客戶端注入js環(huán)境)
基本介紹
運行服務器程序和js腳本,即可讓它們通信,實現(xiàn)調用接口執(zhí)行js獲取想要的值(加解密)
實現(xiàn)
原理:在網站的控制臺新建一個WebScoket客戶端鏈接到服務器通信,調用服務器的接口 服務器會發(fā)送信息給客戶端 客戶端接收到要執(zhí)行的方法執(zhí)行完js代碼后把獲得想要的內容發(fā)回給服務器 服務器接收到后再顯示出來
說明:本方法可以https證書且支持wss
在https的網站想要新建WebSocket連接如果是連接到普通的ws可能會報安全錯誤,好像連接本地(127.0.0.1)不會報錯~ 可以用本地和wss 你自己看著玩。
無https證書者。直接編譯main.go,我試了一下,發(fā)現(xiàn)使用本地ip(127.0.0.1)可以在https的網站直接連接ws使用 默認端口12080。
有https證書者。修改main.go文件 把r.Run()注釋掉,把r.RunTls注釋取消掉 并且參數(shù)設置證書的路徑 直接輸入名字就是當前路徑 默認端口:12443。
另外的題外話,有域名沒證書不會搞的 或者有域名有公網(非固定IP的)都可以搞成的,自己研究研究。
使用方法
首先下載編譯好的文件,下載地址:https://github.com/jxhczhl/JsRpc/releases/tag/Windows
直接雙擊打開編譯好的文件,開啟服務。
api 簡介
- /list :查看當前連接的ws服務
- /ws :瀏覽器注入ws連接的接口
- /result :獲取數(shù)據(jù)的接口 (數(shù)據(jù)格式json: {"group":"hhh","hello":"好困啊yes","name":"baidu","status":"200"} )
說明:接口用?group和name來區(qū)分 如注入ws的例子 ws://127.0.0.1:12080/ws?group={}&name={}, group和name都可以隨便,這是調用的接口:http://127.0.0.1:12080/go?group={}&name={}&action={}?m={},group和name填寫上面注入時候的,action是注冊的方法名,param是可選的參數(shù)。
注入JS,構建通信環(huán)境
打開JsEnv 復制粘貼到網站控制臺(注意有時要放開斷點)。
注入ws與方法
// 連接通信
var demo = new Hlclient("ws://127.0.0.1:12080/ws?group=hhh&name=baidu");
// 注冊一個方法 第一個參數(shù)hello為方法名,
// 第二個參數(shù)為函數(shù),resolve里面的值是想要的值(發(fā)送到服務器的)
// param是可傳參參數(shù),可以忽略
demo.regAction("hello", function (resolve, param) {
var c = "好困啊" + param;
resolve(c);
})
訪問接口,獲得數(shù)據(jù)
http://127.0.0.1:12080/go?group=hhh&name=baidu&action=hello¶m=yes
// 其中 hello是會變的 是action名字。 用代碼訪問的時候要注意這個名字
{
"group":"hhh",
"hello":"好困啊yes",
"name":"baidu",
"status":"200"
}
總結
大家好,我是黑臉怪。 這篇文章主要給大家介紹jsrpc,文章的理論性很強,看上去十分的粗獷,不過別擔心,接下來我給大家出幾篇關于使用jsrpc來進行逆向的文章,針對實際的網站應用此工具,讓大家加深對該工具的理解和認識。點擊閱讀原文,即可可以前往項目git地址。
jsrpc是指在瀏覽器開啟一個ws和go服務連接,以調用http接口的形式來通信,瀏覽器端收到調用通信執(zhí)行原先設置好的js代碼??梢杂糜趈s逆向調用加密函數(shù)直接返回結果,也可以用來直接獲取數(shù)據(jù)。日后用在爬蟲中,可以事半功倍。
文章名稱:Python網絡爬蟲之js逆向之遠程調用(rpc)免去摳代碼補環(huán)境簡介
轉載源于:http://m.fisionsoft.com.cn/article/ccesgoj.html


咨詢
建站咨詢
