精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python爬蟲之某站JS加密逆向分析

哆啦安全 ? 來源:瀟湘信安 ? 2023-05-05 15:40 ? 次閱讀

實(shí)現(xiàn)的目標(biāo):可以通過JS加密逆向后,得到加密參數(shù),請(qǐng)求獲取數(shù)據(jù)。此方法同樣適用于被前端JS加密的用戶名、密碼爆破。

JS加密逆向分析

首先,分析獲取數(shù)據(jù)的API。抓包,發(fā)現(xiàn)是:

998db564-eb16-11ed-90ce-dac502259ad0.png??

這個(gè)網(wǎng)站不存在分頁(yè),是鼠標(biāo)下滑動(dòng)態(tài)加載數(shù)據(jù)的,所以利用selenium爬蟲效率低,效果也不是很好。

當(dāng)然如果是菜鳥,最好還是利用這種方式。

先爬一下看看,發(fā)現(xiàn)返回的數(shù)據(jù)是加密的,先不管他。

999e98e8-eb16-11ed-90ce-dac502259ad0.png

我們分析請(qǐng)求參數(shù),發(fā)現(xiàn)是兩個(gè)加密的請(qǐng)求參數(shù),分別是payload和sig。

如果把這兩個(gè)參數(shù)去掉,或者這兩個(gè)參數(shù)是錯(cuò)誤的,則request無法返回正確的數(shù)據(jù)。

99bc401e-eb16-11ed-90ce-dac502259ad0.png

所以,需要對(duì)這兩個(gè)進(jìn)行JS逆向,還原加密算法

經(jīng)過調(diào)試發(fā)現(xiàn)規(guī)律如下(至于怎么找斷點(diǎn),怎么找到實(shí)現(xiàn)加密算法的位置,本篇不做介紹)。

找到了sig的地方,下斷點(diǎn):

99e5f300-eb16-11ed-90ce-dac502259ad0.png

調(diào)試截圖如下(只截圖了payload的方法):

Payload加密分析:

首先是payload加密,payload加密前:

{sort: 1, start: 40, limit: 20}

需要“翻頁(yè)”動(dòng)態(tài)加載數(shù)據(jù),只要需要更改start即可,這個(gè)表示是開始條數(shù),limit表示一次加載20條,比如60、80、100、120等等。

99f29dbc-eb16-11ed-90ce-dac502259ad0.png

第1次進(jìn)入e2(e) ,進(jìn)去前e還是明文的payload,進(jìn)去了_u_e(e) 返回t '{"sort":1,"start":40,"limit":20}' 值沒變。

9a02daa6-eb16-11ed-90ce-dac502259ad0.png9a0f2d92-eb16-11ed-90ce-dac502259ad0.png

接著返回e2(e)繼續(xù)執(zhí)行for循環(huán),返回的值如下。這個(gè)時(shí)候,payload被加密了,但是還不是返回的值,繼續(xù)下一步調(diào)試。

",x177WB:d`ym{1L$'=x10nx02x04x15p8[ '&olwx022"
9a1ba3e2-eb16-11ed-90ce-dac502259ad0.png ?

接著到了第一次進(jìn)入e1(e) 中,這個(gè)時(shí)候e就是加密后的payload傳進(jìn)去。返回u,就是加密的payload了。

LBc3V0I6ZGB5bXsxTCQnPRBuBwYJfnZeJCM7OXR/AH8q
9a3381c4-eb16-11ed-90ce-dac502259ad0.png??

這個(gè)是只要payload不變,加密值就不變,還是相對(duì)比較簡(jiǎn)單的。

sign加密分析

sign的值是把加密后的payload值加上常量_P拼接后,作為參數(shù),傳到sig(e)中去,payload+_P如下:

LBc3V0I6ZGB5bXsxTCQnPRBuBwYJfnZeJCM7OXR/AH8qW5D80NFZHAYB8EUI2T649RT2MNRMVE2O

這里的e就是加密后的payload,而sign調(diào)用的方法是md5(e + _p).toUpperCase(),結(jié)果是:

1268D4D682CF9D0C6C3CB4D6E4C3C87F

new t(!0).update(n)[e]() 是payload + -p這個(gè)常量:t.prototype.update = function(e) 實(shí)際就是這個(gè)函數(shù)

他又調(diào)用了hex函數(shù) finshed函數(shù) 調(diào)用了 hash函數(shù)

LBc3V0I6ZGB5bXsxTCQnPRBuBwYJfnZeJCM7OXR/AH8qW5D80NFZHAYB8EUI2T649RT2MNRMVE2O

跟蹤分析發(fā)現(xiàn),就是一個(gè)普通的md5加密函數(shù),然后轉(zhuǎn)換成大寫。這個(gè)就可以不用JS實(shí)現(xiàn),直接python實(shí)現(xiàn)MD5加密。

使用Python去實(shí)現(xiàn)以上兩個(gè)參數(shù)的加密,修改原來的python腳本如下:

9a3a9dec-eb16-11ed-90ce-dac502259ad0.png9a59de8c-eb16-11ed-90ce-dac502259ad0.png

再次請(qǐng)求:

9a608d54-eb16-11ed-90ce-dac502259ad0.png

發(fā)現(xiàn)返回的值是d,也是加密的,可以使用攔截技術(shù),獲取到JS解密函數(shù),解密d得到明文。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4782

    瀏覽量

    84452

原文標(biāo)題:python爬蟲之某站JS加密逆向分析

文章出處:【微信號(hào):哆啦安全,微信公眾號(hào):哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Python數(shù)據(jù)爬蟲學(xué)習(xí)內(nèi)容

    ,利用爬蟲,我們可以解決部分?jǐn)?shù)據(jù)問題,那么,如何學(xué)習(xí)Python數(shù)據(jù)爬蟲能?1.學(xué)習(xí)Python基礎(chǔ)知識(shí)并實(shí)現(xiàn)基本的爬蟲過程一般獲取數(shù)據(jù)的過
    發(fā)表于 05-09 17:25

    Python爬蟲與Web開發(fā)庫(kù)盤點(diǎn)

    類,如BaseSpider、sitemap爬蟲等3.Web框架Django算是Python web框架里重量級(jí)的選手,主要是因?yàn)樗峁┝艘?b class='flag-5'>站式的解決方案,包括緩存、ORM、后臺(tái)管理、驗(yàn)證和表單等,使得
    發(fā)表于 05-10 15:21

    Python爬蟲全國(guó)大學(xué)招生的生源數(shù)據(jù)分析

    Python爬蟲:全國(guó)大學(xué)招生信息(二):生源數(shù)據(jù)分析(matplotlib)
    發(fā)表于 03-09 10:20

    0基礎(chǔ)入門Python爬蟲實(shí)戰(zhàn)課

    學(xué)習(xí)資料良莠不齊爬蟲是一門實(shí)踐性的技能,沒有實(shí)戰(zhàn)的課程都是騙人的!所以這節(jié)Python爬蟲實(shí)戰(zhàn)課,將幫到你!課程從0基礎(chǔ)入門開始,受眾人群廣泛:如畢業(yè)大學(xué)生、轉(zhuǎn)行人群、對(duì)Python
    發(fā)表于 07-25 09:28

    Python爬蟲簡(jiǎn)介與軟件配置

    Python爬蟲練習(xí)一、爬蟲簡(jiǎn)介1. 介紹2. 軟件配置二、爬取南陽(yáng)理工OJ題目三、爬取學(xué)校信息通知四、總結(jié)五、參考一、爬蟲簡(jiǎn)介1. 介紹網(wǎng)絡(luò)爬蟲
    發(fā)表于 01-11 06:32

    python網(wǎng)絡(luò)爬蟲概述

    的數(shù)據(jù),從而識(shí)別出用戶是否為水軍學(xué)習(xí)爬蟲前的技術(shù)準(zhǔn)備(1). Python基礎(chǔ)語(yǔ)言: 基礎(chǔ)語(yǔ)法、運(yùn)算符、數(shù)據(jù)類型、流程控制、函數(shù)、對(duì)象 模塊、文件操作、多線程、網(wǎng)絡(luò)編程 … 等(2). W3C標(biāo)準(zhǔn)
    發(fā)表于 03-21 16:51

    使用 Python 執(zhí)行 js 代碼

    為什么要引出Python執(zhí)行js這個(gè)問題?都說術(shù)業(yè)有專攻,每個(gè)語(yǔ)言也都有自己的長(zhǎng)處和短處。在爬蟲方向,Python絕對(duì)是扛把子,近幾年隨著AI的火爆,需要各種各樣的數(shù)據(jù),所以,
    發(fā)表于 03-31 16:05

    Wannacry的逆向分析加密文件的解密

    Wannacry的逆向分析加密文件的解密
    發(fā)表于 09-07 09:59 ?10次下載
    Wannacry的<b class='flag-5'>逆向</b><b class='flag-5'>分析</b>及<b class='flag-5'>加密</b>文件的解密

    Python學(xué)習(xí)爬蟲掌握的庫(kù)資料大全和框架的選擇的分析

    學(xué)Python,想必大家都是從爬蟲開始的吧。畢竟網(wǎng)上類似的資源很豐富,開源項(xiàng)目也非常多。 Python學(xué)習(xí)網(wǎng)絡(luò)爬蟲主要分3個(gè)大的版塊:抓取,分析
    的頭像 發(fā)表于 05-19 10:45 ?5186次閱讀

    python爬蟲入門教程之python爬蟲視頻教程分布式爬蟲打造搜索引擎

    本文檔的主要內(nèi)容詳細(xì)介紹的是python爬蟲入門教程之python爬蟲視頻教程分布式爬蟲打造搜索引擎
    發(fā)表于 08-28 15:32 ?29次下載

    Python寫網(wǎng)絡(luò)爬蟲

    Python寫網(wǎng)絡(luò)爬蟲的方法說明。
    發(fā)表于 06-01 11:55 ?21次下載

    Python怎么玩轉(zhuǎn)JS腳本

    本項(xiàng)目旨在讓大家了解如何用Python來執(zhí)行JS腳本,其主要目的是在進(jìn)行數(shù)據(jù) 分析時(shí),需要利用爬蟲獲取數(shù)據(jù),有時(shí)會(huì)遇到JS混淆
    的頭像 發(fā)表于 02-23 16:26 ?1070次閱讀
    <b class='flag-5'>Python</b>怎么玩轉(zhuǎn)<b class='flag-5'>JS</b>腳本

    如何破解JS加密

    學(xué)習(xí)爬蟲最難之一無非就是如何破解JS加密,但是關(guān)于JS加密的網(wǎng)上資料非常零散雜亂,本人對(duì)這方面也略有研究,本篇文章在之前兩篇文章[
    的頭像 發(fā)表于 02-24 14:57 ?1969次閱讀
    如何破解<b class='flag-5'>JS</b><b class='flag-5'>加密</b>?

    Python調(diào)用JS的 4 種方式

    1. 前言 日常 Web 端爬蟲過程中,經(jīng)常會(huì)遇到參數(shù)被加密的場(chǎng)景,因此,我們需要分析網(wǎng)頁(yè)源代碼 通過調(diào)式,一層層剝離出關(guān)鍵的 JS 代碼,使用 P
    的頭像 發(fā)表于 10-30 09:41 ?673次閱讀

    網(wǎng)絡(luò)爬蟲,Python和數(shù)據(jù)分析

    電子發(fā)燒友網(wǎng)站提供《網(wǎng)絡(luò)爬蟲,Python和數(shù)據(jù)分析.pdf》資料免費(fèi)下載
    發(fā)表于 07-13 09:27 ?1次下載