国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
個人總結 – JS逆向解析[通俗易懂]

作者: 佚名  日期:2024-01-13 19:42:18   來源: 本站整理

大家好,又見面了,我是你們的朋友全棧君。

目前加密的方式總結有下面幾點:

  1. 對稱加密(加密解密密鑰相同):DES、DES3、AES
  2. 非對稱加密(分公鑰私鑰):RSA
  3. 信息摘要算法/簽名算法:MD5、HMAC、SHA
  4. 前端實際使用中MD5、AES、RSA,自定義加密函數使用頻率是最高的
  5. 幾種加密方式配合次序:采用非對稱加密算法管理對稱算法的密鑰,然后用對稱加密算法加密數據,用簽名算法生成非對稱加密的摘要
  6. DES、DES3、AES、RSA、MD5、SHA、HMAC傳入的消息或者密鑰都是bytes數據類型,不是bytes數據類型的需要先轉換;密鑰一般是8的倍數
  7. Python實現RSA中,在rsa庫中帶有生成簽名和校對簽名的方法
  8. 安全性:DES<DES3=AES<RSA,至于MD5、SHA、HMAC不好說了

搜其他關鍵詞如RSA、encrypt,尤其是encrypt

其中this.exponent是RSA加密偏移量 ,數值一般在HTML文件里面,全局搜索,其value值就是

密鑰的值一般在網頁源碼的一個元素值。全局搜索,其value值就是,或者是js中找到


AES:案例ewt360.com

AES是典型的對稱加密,密鑰就在前端源碼里,相對于非對稱的RSA安全性很低

var com_str = {          _KEY: "20171109124536982017110912453698",//32位
          _IV: "2017110912453698",//16位          *str:需要加密的字符串          
Encrypt: function (str) {              var key = CryptoJS.enc.Utf8.parse(this._KEY);             
 var iv = CryptoJS.enc.Utf8.parse(this._IV);              var encrypted = '';              
var srcs = CryptoJS.enc.Utf8.parse(str);             
encrypted = CryptoJS.AES.encrypt(srcs, key, {                  iv: iv,                 
 mode: CryptoJS.mode.CBC,                  padding: CryptoJS.pad.Pkcs7              });             
 return encrypted.ciphertext.toString();          },      }
 

此處還調用了CryptoJS,它是加密的核心類,但發現沒有,其實是藏在另外一個js文件中,找到并復制出來,將兩個js合并即可


自定義加密:空中網

這個網站是以get方式登陸的,由一個eval加密的js

function encrypt () this.encrypt(pwd, this.j_data["dc"])

加密原理:在打開網站的時候服務器會返回一串字符串,用于加密,加密的js是通過eval方式處理的
 

js混淆:就是把其中的變量、方法位置順序打亂,但是又用一些無關的變量或者方法來保證執行順序

解決方法:復制完整的混淆代碼去js混淆還原網站還原。

注意:很多時候,js代碼的生成函數都進行了偽裝,核心的東西只有一句,但有一堆混淆視聽的js,只需要找到核心代碼,進行解析就行


eval加密:

eval()方法:js中的eval()方法就是一個js語言的執行器,它能把其中的參數按照JavaScript語法進行解析并執行,簡單來說就是把原本的js代碼變成了eval的參數,變成參數后代碼就成了字符串,其中的一些字符就會被按照特定格式“編碼” 。

例如下:

eval(function(p,a,c,k,e,d){e=function(c) {return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35? 
String.fromCharCode(c+29):c.toString(36))}; if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);
k=[function(e){return  d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace
(new  RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('5 4="粘貼要加密/解密的3代碼到這里";
2(0==0){   1(4);}',62,6,'1|alert|if|javascript|showmsg|var'.split('|'),0,{}))
 

解決方法:將代碼字符串放入javascript Eval官網解密

再看eval解密后的js文件尾部,有下面一個函數

function encryptString(str, e, m) {     
var key = RSAUtils.getKeyPair(e, '', m);     
return RSAUtils.encryptedString(key, str) }
 

發現是RSA加密方式,那現在從RSA加密逆向搜索encryptString關鍵詞 ,找到下面

var timesign = (new Date).getTime() + timespan;
     $("#p1User").val(encryptString(timesign + encodeURIComponent($("#passwordUser").val()),
     $("#rsaExponent").val(), $("#rsaModulus").val()));
     $("#password_value").val($("#passwordUser").val());
     $("#btnSubmitUser").val("登錄中...");
     $("#usernameUser").addClass("fontcolor_cccUser").attr("readonly", "readonly");
     $("#passwordUser").val("").addClass("fontcolor_cccUser").attr("readonly", "readonly");
 

篩選核心代碼

encryptString(timesign + encodeURIComponen ($("#passwordUser").val()),
$("#rsaExponent").val(), $("#rsaModulus").val());

(“#passwordUser”).val(),rsaExponent”).val(), $(“#rsaModulus”).val()

這三個參數分別是從頁面獲取id,去html搜索這三個關鍵詞

rsaExponent 看到value為01001,故此RSA加密偏移量為01001

rsaModulus 也是看到value為一群亂碼,它是RSA密鑰


用戶認證的話會涉及到cookie

解決方法:查看cookie數據,找到經過例如:fingerprint進行URL解碼,對比請求參數fingerprint修改


那么,逆向解密解決思路呢?

逆向解密解決思路:

(1)是根據加密參數,如“x-uab”關鍵字在所有關鍵中查找

  1. 打開chrome瀏覽器 按F12
  2. 找到點擊source中 按ctrl + shift + F快捷鍵 ,輸入x-uab找到js代碼
  3. 接下來,打個斷點調試一下:在數字那里點一下,數字位置出現藍點,表示添加斷點成功
  4. 然后刷新獲取店鋪列表的頁面,程序會在斷點處停下,在控制臺調試o.getUA()函數,看一下輸出
  5. 繼續向下查看這個關鍵詞參數 js 生成函數的引用,一步步往回推,找到最原始的 js 生成方法
  6. 找到以后,把這個function 方法全部代碼取出來,另存為一個js文件。

(2)怎么用python執行js腳本?

方法一:

​ 自己搞懂生成的過程,是md5還是AES加密,找到key值,時間戳其余參數啥的也可以生成,做過后臺開發的會比較清楚其生成原理,因為需要對接前后端接口

方法二:execjs

因為在上面復制出來的腳本中,只單單定義了一個方法,并沒有調用這個方法,所以,要在js文件的末尾添加一些代碼來調用

function getParam() {  var a;  var param = e(2,a);  return param };

然后,開始擼Python代碼吧

原理:將execjs的引擎換成PhantomJS這個無頭瀏覽器,換句話說就是用PhantomJS來執行js腳本,PhantomJS是一個瀏覽器,自然就會創建window對象。

import execjs    import os os.environ["EXECJS_RUNTIME"] = "PhantomJS" 
node = execjs.get() file = 'eleme.js' ctx = node.compile(open(file).read()) 
js_encode = 'getParam()' params = ctx.eval(js_encode) print(params)

不用PhantomJS方法

import execjs    node = execjs.get() file = 'eleme.js' ctx = node.compile(open(file).read()) 
js_encode = 'getParam()' params = ctx.eval(js_encode) print(params)  可能會
報錯:execjs._exceptions.ProgramError: TypeError: 'window' 未定義 原因:window對象
估計是瀏覽器打開是創建的,蘊含瀏覽器的信息,所以用Python來執行這段代碼時,沒有這個對象

方法三:

思路和方案二類似,不過更加粗暴一些。因為沒在瀏覽器執行,那就模擬瀏覽器來執行。

在執行之前,同樣要修改js腳本,在js文件末尾調用e方法,添加如下代碼,例:

var a; var param = e(2,a); return param;

注意:調用方法不要放在任何函數里面,我之前就是因為將這段代碼放在函數里頭強制執行,導致的結果就是在瀏覽器里可以獲取加密字符串,但是在Python中獲取到的卻是None

模擬瀏覽器用的selenium和chrome的webDriver,代碼如下:

from selenium import webdriver    
browser = webdriver.Chrome(executable_path='chromedriver.exe') 
with open('eleme.js', 'r') as f:      js = f.read() print(browser.execute_script(js))

最終獲得加密之后的字符串

最后,有必要說一下,如果需要獲取大量的x-uab,采用方案三效率會高一下,因為采用方案二的話,可以自打開一個瀏覽器(都調用一個webdriver對象),然后快速執行js,返回加密字符串。



熱門文章
  • Object.defineProperty()詳解
  • 理解HTTP協議頭中的Vary
  • js逆向·找到登錄時目標網站的加密...
  • 個人總結 – JS逆向解析[通俗易懂]...
  • 利用Promise自定義一個GET請求的函...
  • 電腦黑屏按ctrl+alt+delete沒反應怎...
  • 開機電腦沒反應只有鼠標能動的解決...
  • 停車后發動機艙異響是什么原因,解...
  • Win11右鍵怎么恢復原來的模樣?圖文...
  • 多線程同步的4種機制
  • 解決 Windows 10/11 已開始通過彈窗...
  • win10默認應用里沒有谷歌瀏覽器,默...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    男人通一通女人的下水道| 日本天堂在线| 99re热在线观看| 51vv免费精品视频一区二区| 一区二区成人在线| 亚洲成年人在线播放| 老司机午夜网站| 中文字幕一区二区人妻痴汉电车 | 国产不卡一区| 精品欧美aⅴ在线网站| 在线综合视频网站| 久久久久香蕉视频| 十九岁完整版在线观看好看云免费| 日韩av在线中文字幕| 欧美久久久久久久久久| 国产一线二线三线在线观看| av网站免费看| 蜜臀av性久久久久蜜臀aⅴ| 国产一区二区成人| 一级黄色免费视频| 麻豆美女网站| 亚洲一区 二区| 欧美国产综合一区二区| 亚洲国产日韩欧美在线99| 亚洲国产精品无码av| 美女被黑人爆操网站| 精品国产亚洲一区二区三区大结局 | 日韩av成人| 成人一区二区三区中文字幕| 91成人精品网站| 久久免费看少妇高潮v片特黄| 国产理论在线观看| 亚洲国产一区视频| 一区二区三区av在线| 欧美高清性粉嫩交| 国产真实有声精品录音| 亚洲一区二区黄色| 日韩久久久久久久久久久久久| 国产男女无套免费网站| 麻豆视频久久| 日韩视频免费大全中文字幕| 国产无遮挡裸体免费视频| 热久久免费视频| 亚洲久久久久久久| 91精品一区二区三区综合在线爱 | 嗯~啊~轻一点视频日本在线观看| 精品少妇一区二区三区在线播放 | 亚洲av无码一区二区三区人 | 精品视频久久久久久久| 精品久久久久久久免费人妻| 国产极品视频| 国产日韩一区二区三区在线播放| 欧美中文字幕视频在线观看| 一级特黄免费视频| 国产精品夜夜嗨| 中文字幕精品一区二区三区在线| 国产精品精华液网站| 久久尤物电影视频在线观看| 中文字幕一区二区三区在线乱码| 先锋影音男人av资源| 久久66热偷产精品| 国产精品久久久久久久9999| 中文字幕无线码| 国产成人精品免费看| 免费看污污网站| 性欧美18xxxhd| 亚洲视频免费一区| 国产免费黄色录像| 蜜臀av一区二区在线免费观看| 国产成人精品免费看在线播放 | 美女一区网站| 国产精品一区电影| 一个人免费观看视频www在线播放| 一道本成人在线| 蜜臀99久久精品久久久久小说| 一二三区不卡| 中文字幕久精品免| 猛男欧美办公室激情在线| 精品久久香蕉国产线看观看gif| 91香蕉视频导航| 亚洲三级av在线| 国产探花视频在线| 爽成人777777婷婷| 大地资源第二页在线观看高清版| 国产欧美日本亚洲精品一4区| 国产精品毛片高清在线完整版| 亚洲精品色午夜无码专区日韩| 69xxx在线| 亚洲国产精品免费| 91抖音在线观看| 欧美裸体男粗大视频在线观看| 免费在线毛片| 国产一区在线观| 91蜜桃臀久久一区二区| 日韩欧美视频网站| 亚洲久久成人| 午夜毛片在线观看| 亚洲一卡二卡三卡四卡| 2018狠狠干| 国产成人激情视频| 亚洲精华一区二区三区| 亚洲国产日韩综合一区| 中文字幕久久精品一区二区| 被灌满精子的波多野结衣| 色偷偷88欧美精品久久久| 欧美在线首页| 美女欧美视频在线观看免费| 国产性70yerg老太| 欧美在线播放一区| 成人禁用看黄a在线| 三级黄色视屏| 激情图片qvod| 成人看片黄a免费看在线| 国产黄色免费看| 66m—66摸成人免费视频| 少妇精品视频在线观看| 国产成人av免费观看| 亚洲一区二区在线免费观看视频| 欧美123区| 欧美日韩综合一区二区| 中文字幕亚洲天堂| 久久精品72免费观看| 亚洲国产美女视频| 最近2019中文字幕大全第二页| 亚洲欧美日韩国产一区| 另类国产精品一区二区| 伊人av在线播放| 国产伦精品一区二区三区精品视频| 一本色道综合亚洲| 美女尤物久久精品| xfplay资源站夜色先锋5566| 成人性生生活性生交12| 久久一区二区三区四区| 丝袜美女写真福利视频| 无码中文字幕色专区| 夜夜嗨一区二区| 美女福利视频一区二区| 国产精品免费一区豆花| 91丨porny丨国产| 四虎精品在线观看| 国产精品乱码一区二区| 亚洲曰本av电影| 色婷婷久久久久swag精品| 女人黄色片免费| 男人添女荫道口图片| 日韩欧美a级成人黄色| 婷婷综合久久| 日本免费一区二区三区四区| 亚洲综合在线网| 欧美精品一级片| 国产一二三区av| 成人av资源在线播放| 免费在线观看日韩欧美| www.国产精品.com| 欧美风情第一页| 国产成人一区二区三区电影| 久久精品国产清高在天天线| 国产成人精品久久一区二区小说 | 亚洲在线一区二区| www.99精品| 成人欧美大片| 中文字幕专区| 不卡一区二区三区四区五区| 九九精品在线| 国产美女永久免费| 高清无码视频直接看| 亚洲福利一区二区三区| 91九色国产在线播放| 成年人视频免费| 国产成+人+综合+亚洲欧洲| 福利视频导航网| 啪一啪鲁一鲁2019在线视频| 成人网18免费看| 亚洲一区久久久| 国产福利一区二区三区视频在线| 在线播放一级片| 国产亚洲精品美女| 欧美视频导航| 国产美女玉足交| √天堂中文官网8在线| 色爱区成人综合网| 日韩欧美国产综合一区| 一区二区三区国产盗摄| 深夜国产在线播放| 久热中文字幕在线精品首页| 中文字幕网站在线观看| 中文视频一区视频二区视频三区 | 91日韩精品一区| 亚洲77777| 色综合天天狠狠| 免费中文字幕日韩欧美| 色综合视频一区二区三区44| 337p日本| 亚洲视频在线网| 国产精品20p| 欧在线一二三四区| 国产在线一区二| 7m精品福利视频导航| 精品日韩一区二区三区免费视频| 国产日韩av一区二区|