js的逆向解析

2022-06-18 21:06:16 字數 2176 閱讀 7442

過程:

知道如何尋找登入的介面

知道如何確定js的位置

知道如何觀察js的執行過程

知道js的執行方法

我們要登入需要對密碼進行加密和獲取rkey欄位的值

rkey欄位的值我們直接傳送請求rkey請求就可以獲得

密碼是先反轉然後使用rsa進行加密, js**很複雜, 我們希望能通過在python中執行js來實現

實現思路:

使用session傳送rkey獲取登入需要資訊

根據獲取資訊對密碼進行加密

使用session傳送登入請求

import

requests

import

json

import

js2py

#- 實現思路:

#- 使用session傳送rkey獲取登入需要資訊

#- url:

#- 方法: get

#獲取session物件

session =requests.session()

headers =

#設定session的請求頭資訊

session.headers =headers

response = session.get("

")#print(response.content.decode())

n = json.loads(response.content)['

data']

#- 根據獲取資訊對密碼進行加密

#- 準備使用者名稱和密碼

phonenum = "

131...

"password = "

****"#

- 使用js2py生成js的執行環境:context

context =js2py.evaljs()

#- 拷貝使用到js檔案的內容到本專案中

#- 讀取js檔案的內容,使用context來執行它們

with open("

bigint.js

", '

r', encoding='

utf8

') as f:

context.execute(f.read())

with open(

"rsa.js

", '

r', encoding='

utf8

') as f:

context.execute(f.read())

with open(

"barrett.js

", '

r', encoding='

utf8

') as f:

context.execute(f.read())

#- 向context環境中新增需要資料

context.t =

context.n =n

#- 執行加密密碼的js字元

js = '''

t.password = t.password.split("").reverse().join(""),

setmaxdigits(130);

var o = new rsakeypair(n.e,"",n.n)

, r = encryptedstring(o, t.password);

'''context.execute(js)

#- 通過context獲取加密後密碼資訊

#print(context.r)

password =context.r

#- 使用session傳送登入請求

#- url:

#- 請求方法: post

#- 資料:

#- phonenum: 15565280933

#- password: (加密後生產的)

#- c1: 0

#- rkey: rkey請求獲取的

data =

#print(session.headers)

response = session.post("

", data=data)

print

(response.content.decode())

#訪問登入的資源

response = session.get("

")print(response.content.decode())

爬蟲 js逆向 js反解析

案例 分析有道翻譯 1 找到請求的url 2 分析請求要攜帶的引數 請求頭,引數。先分析出最常見的要攜帶的請求頭引數 3 分析請求引數,哪些是改變的 4 在js中搜尋,salt或者sign返回的地方 5 找到 位置,分析js 按住ctrl f 在js中搜尋。圖中錯了,時間戳是13位 6 分析總結 e...

實戰 js逆向簡單逆向

1.目標 獲取 的列表頁和詳情頁內容 2.進行 訪問,發現資訊內容是動態載入的 3.檢視json的介面,經過多次請求檢視,只有sign欄位是js加密的,其他欄位都是固定的 4.對sign欄位進行搜尋可以找到加密位置有md5,但是這次使用穩妥的笨辦法 5.在source選項卡中新增請求斷點 6.然後進...

Js逆向分析

1 知道如何尋找登入介面 2 知道如何確定js的位置 3 知道如何觀察js的執行過程 4 知道js的執行方法1 知道如何尋找登入介面 2 知道如何確定js的位置 3 知道如何觀察js的執行過程 4 知道js的執行方法a 登入的form表單中action對應的url位址 b 通過抓包分析發現,在這個u...