<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          爬蟲 | Js逆向某市場監(jiān)督平臺加密分析

          共 1572字,需瀏覽 4分鐘

           ·

          2021-04-24 20:21

          聲明:本文只用于學(xué)習(xí)研究,禁止用于非法用途,如有侵權(quán),請聯(lián)系我刪除,謝謝!

          大家好,我是村長~~

          在做爬蟲逆向中,我們絕大多數(shù)遇到的都是請求參數(shù)或者cookie加密之類的分析

          今天給大家分享一個不一樣的,屬于響應(yīng)數(shù)據(jù)response的加密

          話不多說,網(wǎng)站地址如下:

          aHR0cDovL2p6c2MubW9odXJkLmdvdi5jbi9kYXRhL2NvbXBhbnk=

          分析

          response加密意味著,你抓包后拿到的響應(yīng)不是我們平??吹降?code style="font-size: 14px;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(239, 112, 96);">json或者html數(shù)據(jù)

          而是一大串字符串,比如該網(wǎng)站的數(shù)據(jù)返回

          很多人可能會一臉懵逼

          其實既然網(wǎng)頁上面返回了真實的數(shù)據(jù)

          那么它一定有一個解密的過程,所以我們要做的就是找到解密的Js代碼

          這是一個 xhr 請求,和之前一樣下 xhr 斷點,不會的可以看看前面的文章

          斷點斷下的位置是發(fā)起請求的地方

          這時候我們要做的就是往后找加密函數(shù),按F10繼續(xù)往下走

          可以看到,這個 e 就是解密后的響應(yīng)。

          那么關(guān)鍵就是這個 h() 函數(shù)了,點擊進去

          哇哦!熟悉的味道,這不就是AES解密嗎

          驗證

          對于這種加密,直接套用 crypto-js 模塊即可,不用費時去扣代碼

          找到幾個關(guān)鍵的參數(shù):

          密鑰 key,也就是圖片中的 f = d.a.enc.Utf8.parse("jo8j9wGw%6HbxfFn")

          密鑰偏移量iv, 也就是圖片中的 d.a.enc.Utf8.parse("0123456789ABCDEF")

          完整代碼如下:

          const CryptoJS = require('crypto-js');
          const key = CryptoJS.enc.Utf8.parse("jo8j9wGw%6HbxfFn");
          const iv = CryptoJS.enc.Utf8.parse('0123456789ABCDEF');

          // AES 解密方法
          function Decrypt(word) {
              let e = CryptoJS.enc.Hex.parse(word);
              let n = CryptoJS.enc.Base64.stringify(e);
              let a = CryptoJS.AES.decrypt(n, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
              let r = a.toString(CryptoJS.enc.Utf8);
              return r.toString();
          }

          將加密的字符串結(jié)果 t ,傳進去運行解密

          對比結(jié)果輸出,game over !!!

          對比

          后臺回復(fù) tql 獲取所有逆向代碼!


          THANKS

          - End -


          爬蟲 | JS逆向某驗滑動加密分析


          JS逆向?qū)崙?zhàn)之混淆加密和AES加密的破解


          瀏覽 44
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操穴视频| 日本女人性高潮视频 | caopen人人 | 欧美骚逼网| 免费成人先锋影音中出片 |