自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Jsrpc學(xué)習(xí)—加密參數(shù)Sign變化的網(wǎng)站破解教程

開發(fā) 后端
今天給大家來個(gè)jsrpc實(shí)戰(zhàn)教程,讓大家加深對(duì)jsrpc的理解和認(rèn)識(shí)。

大家好,我是皮皮。前幾天給大家分享jsrpc的介紹篇,Python網(wǎng)絡(luò)爬蟲之js逆向之遠(yuǎn)程調(diào)用(rpc)免去摳代碼補(bǔ)環(huán)境簡(jiǎn)介,還有實(shí)戰(zhàn)篇,Jsrpc學(xué)習(xí)——網(wǎng)易云熱評(píng)加密函數(shù)逆向,Jsrpc學(xué)習(xí)——Cookie變化的網(wǎng)站破解教程感興趣的小伙伴可以戳此文前往。

今天給大家來個(gè)jsrpc實(shí)戰(zhàn)教程,讓大家加深對(duì)jsrpc的理解和認(rèn)識(shí)。

今天我們介紹的這個(gè)網(wǎng)站是cookie參數(shù)不變,但是加密參數(shù)Sign變化的一個(gè)網(wǎng)站,一起來使用jsrpc來攻破它吧!

1、這里使用的網(wǎng)站是87aed0b6bc8cb687d63dd7eee0f64d38,MD5加密處理過的。

2、需要提取100個(gè)網(wǎng)頁中的數(shù)字,然后求和。

3、打開瀏覽器抓包,然后打斷點(diǎn)調(diào)試,依次點(diǎn)擊右邊的Call Stack內(nèi)的東西,直到找到加密函數(shù),里邊的值對(duì)應(yīng)請(qǐng)求參數(shù)即可判定。

4、最終在這里找到了一堆人看不懂的東西。

5、仔細(xì)尋找,發(fā)現(xiàn)加密的函數(shù)在這里了。

6、之后可以在控制臺(tái)輸入指令window.dcpeng = window.get_sign,其中window.get_sign為加密函數(shù)。注意:這個(gè)地方挺重要的,很多時(shí)候我們會(huì)寫成ct.update(),這樣會(huì)有問題!加了括號(hào)就是賦值結(jié)果,沒加就是賦值整個(gè)函數(shù)!千差萬別。

7、關(guān)閉網(wǎng)頁debug模式。注意:這個(gè)地方挺重要的,很多時(shí)候如果不關(guān)閉,ws無法注入!

8、此時(shí)在本地雙擊編譯好的文件win64-localhost.exe,啟動(dòng)服務(wù)。

9、之后在控制臺(tái)注入ws,即將JsEnv.js文件中的內(nèi)容全部復(fù)制粘貼到控制臺(tái)即可(注意有時(shí)要放開斷點(diǎn))。

10、連接通信,在控制臺(tái)輸入命令var demo = new Hlclient("ws://127.0.0.1:12080/ws?group=para&name=test");

11、隨后繼續(xù)輸入命令:

// 注冊(cè)一個(gè)方法 第一個(gè)參數(shù)get_v為方法名,
// 第二個(gè)參數(shù)為函數(shù),resolve里面的值是想要的值(發(fā)送到服務(wù)器的)
// param是可傳參參數(shù),可以忽略
demo.regAction("get_para", function (resolve) {
dcpeng();
var res = window.sign
resolve(res);
})

也許有小伙伴會(huì)覺得奇怪,window.sign明明是在list這個(gè)變量中,為啥我們通過window.get_sign()可以獲取到,莫非window.get_sign()和window.sign返回的值是一樣的?其實(shí)window是整個(gè)全局,它只是聲名一個(gè)list對(duì)象里面有signature等于全局的sign,這個(gè)全局的sign的值通過window.get_sing()得到。

dcpeng()就是一個(gè)函數(shù),里面寫的最后結(jié)果就是window.sign=window.get_sign(),并沒有return東西。

12、之后就可以在瀏覽器中訪問數(shù)據(jù)了,打開網(wǎng)址 http://127.0.0.1:12080/go?group={}&name={}&action={}?m={} ,這是調(diào)用的接口 group和name填寫上面注入時(shí)候的,action是注冊(cè)的方法名,param是可選的參數(shù),這里續(xù)用上面的例子,網(wǎng)頁就是:http://127.0.0.1:12080/go?group=para&name=test&action=get_para

13、如上圖所示,我們看到了那個(gè)變化的參數(shù)v的值,直接通過requests庫可以發(fā)起get請(qǐng)求。

14、現(xiàn)在我們就可以模擬數(shù)據(jù),進(jìn)行請(qǐng)求發(fā)送了。

15、將拷貝的內(nèi)容可以丟到這里進(jìn)行粘貼:http://tool.yuanrenxue.com/curl

16、之后將右側(cè)的代碼復(fù)制到Pycharm中即可用,非常便利。

17、之后就可以構(gòu)造請(qǐng)求了,加一個(gè)整體循環(huán),然后即可獲取翻頁的內(nèi)容,整體代碼如下所示。

import requests
import json

cookies = {
'session': '6c78df1c-37aa-4574-bb50-99784ffb3697.Qcl0XN6livMeZ-7tbiNe-Ogn8L4',
'v': 'A7s8gqX6XgjWtmKFwCNKPNdQSpQgEM9-ySWTzq14lzDRLtVKNeBfYtn0IxW-',
}

headers = {
'Connection': 'keep-alive',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'X-Requested-With': 'XMLHttpRequest',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Origin': 'http://spider.wangluozhe.com',
'Referer': 'http://spider.wangluozhe.com/challenge/2',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
}
all_data = []
for page_num in range(1, 101):
sign_url = 'http://127.0.0.1:12080/go?group=para&name=test&action=get_para'
sign = requests.get(url=sign_url).json()["get_para"]
# print(sign)
data = {
'page': f'{page_num}',
'count': '10',
'_signature': sign
}
print(f'Crawlering page {page_num}')

response = requests.post('87aed0b6bc8cb687d63dd7eee0f64d38', headers=headers, cookies=cookies, data=data, verify=False).json()
for item in response["data"]:
all_data.append(item["value"])
# print(item["value"])

print(sum(all_data))

運(yùn)行結(jié)果如上圖所示,和網(wǎng)頁上呈現(xiàn)的數(shù)據(jù)一模一樣。

18、至此,請(qǐng)求就已經(jīng)完美的完成了,如果想獲取全部網(wǎng)頁,構(gòu)造一個(gè)range循環(huán)翻頁即可實(shí)現(xiàn)。

17、也歡迎大家挑戰(zhàn)該題目,我已經(jīng)挑戰(zhàn)成功了,等你來戰(zhàn)!

總結(jié)

大家好,我是皮皮。這篇文章主要給大家介紹了jsrpc的實(shí)戰(zhàn)教程,使用jsrpc工具可以在網(wǎng)絡(luò)爬蟲過程中事半功倍,無需仔細(xì)的去扣環(huán)境,去一步步逆向,只一個(gè)黑盒的模式,我們就拿到了想要的結(jié)果,屢試不爽。

責(zé)任編輯:姜華 來源: Python共享之家
相關(guān)推薦

2022-05-18 10:03:28

JsrpcSignhook

2022-02-09 10:32:19

jsrpcjsrpc工具網(wǎng)絡(luò)爬蟲

2024-08-30 15:03:43

2011-07-27 16:46:04

iPhone iPhone破解 MacPort

2020-10-14 10:02:45

如何破解LUKS加密

2009-12-10 10:49:21

PHP eval加密

2020-12-13 17:57:16

加密密碼Python

2014-11-19 09:15:35

2020-12-21 16:00:07

Pythonzip文件密碼

2009-04-10 23:45:19

2021-02-14 00:17:10

加密貨幣數(shù)字貨幣比特幣

2010-07-22 16:33:08

2015-08-19 16:27:42

2009-03-19 17:20:45

2009-12-07 16:21:19

2009-12-09 13:54:42

PHP Zend加密文

2015-12-25 11:28:50

2017-12-19 09:05:39

2009-03-19 17:55:03

2021-04-23 09:49:59

加密RSA密碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)