思路:
- 分析m後面的加密資訊
- | 這個符號手打搜不到,複製可以。
- 題目
- 和好幾個人多部落格鏈結,研究三天才理清思路,
- 自學太難了
import requests
import execjs
import jsonpath
class
js_one()
:def
__init__
(self, page)
: self.page = page
self.url = f''
# headers是作者讓這麼設定的
self.headers =
defget_m
(self)
:# 匯入js,讀取儲存的js檔案,保險起見指定utf-8
with
open
('第一題js.js'
,'r'
, encoding=
'utf-8'
)as f:
js_data = f.read(
) m = execjs.
compile
(js_data)
.call(
'get_m_value'
) m = m.replace(
'丨',
'%e4%b8%a8'
)return m
defget_data
(self)
: re = requests.get(self.url, headers=self.headers)
print
(re.url)
return re.json(
)def
get_json
(self)
:'''
獲取json的數值
:return: 返回當前頁的平均值
'''res = jsonpath.jsonpath(self.get_data(),
'$..value'
)return
sum(res)
/len
(res)
defrun
(self)
: self.get_m(
)return self.get_json(
)if __name__ ==
'__main__'
:for i in
range(1
,6):
# 翻頁
js = js_one(i)
re = js.run(
) re += re
print
(f'平均值是:'
)
以下是js檔案
var hexcase =0;
var b64pad ="";
var chrsz =16;
function
hex_md5
(a)function
b64_md5
(a)function
str_md5
(a)function
hex_hmac_md5
(a, b)
function
b64_hmac_md5
(a, b)
function
str_hmac_md5
(a, b)
function
md5_vm_test()
function
core_md5
(p, k)
return
array
(o, n, m, l)
}function
md5_cmn
(h, e, d, c, g, f)
function
md5_ff
(g, f, k, j, e, i, h)
function
md5_gg
(g, f, k, j, e, i, h)
function
md5_hh
(g, f, k, j, e, i, h)
function
md5_ii
(g, f, k, j, e, i, h)
function
core_hmac_md5
(c, f)
var a =
array(16
),d =
array(16
);for(
var b =
0; b <
16; b++
)var g =
core_md5
(a.concat
(str2binl
(f))
,512
+ f.length * chrsz)
;return
core_md5
(d.concat
(g),
512+
128)
}function
safe_add
(a, d)
function
bit_rol
(a, b)
function
str2binl
(d)return c
}function
binl2str
(c)return d
}function
binl2hex
(c)return d
}function
binl2b64
(d)else}}
return f};
function
get_m_value()
JS逆向猿人學十九題
寫得不全 敬請諒解!開始吧 說實話,其實當我看猿人學十九題得時候,其實解決了但是沒有理解它得原理,直到我昨天看了一篇大佬得文章,得到了它得原理。鏈結 它是檢測了指紋,tls指紋。這裡是ja3指紋 關於指紋得文章可以看 其實不管是 還是fillder抓包 還是charles 都是會被檢測到得。需要用最...
猿人學第三題比賽題目
開始水第三篇,哈哈哈哈 老規矩 f12,重新整理 上面兩個乙個是名單,乙個是空,所以此次請求有關的就是在下面兩個 logo後面的狀態碼是202,看下202狀態碼的解釋 點選,開啟我們看一下 就是乙個鏈結,再看看其他的 post 202,假想一下,表單提交了某個東西到伺服器,但是並未處理,像不像正在驗...
滴滴第一題
方法 先求字首和,將pair 字首和的值,字首和標號i 加入multimap中,搜尋每一種字首和的lowerbound和upbound,計算兩者之差,與字首和為零的標號比較,取最大值。include include include includeusing namespace std define ...