<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>

          Jsrpc學(xué)習(xí)——某條加密參數(shù)Sign變化的網(wǎng)站hook教程

          共 2694字,需瀏覽 6分鐘

           ·

          2022-05-17 10:34

          點(diǎn)擊上方“Python共享之家”,進(jìn)行關(guān)注

          回復(fù)“資源”即可獲贈(zèng)Python學(xué)習(xí)資料

          十年離亂后,長(zhǎng)大一相逢。

          大家好,我是皮皮。今天我們介紹的這個(gè)網(wǎng)站是cookie參數(shù)不變,但是加密參數(shù)Sign變化的一個(gè)網(wǎng)站,一起來(lái)使用jsrpc來(lái)攻破它吧!

          1、這里使用的網(wǎng)站是fec2bc913be604a5162540c03d45532c,MD5加密處理過(guò)的。

          2、需要抓取首頁(yè)相關(guān)信息,如下圖所示。

          3、打開(kāi)瀏覽器抓包,然后打斷點(diǎn)調(diào)試,依次點(diǎn)擊右邊的Call Stack內(nèi)的東西,直到找到加密函數(shù),里邊的值對(duì)應(yīng)請(qǐng)求參數(shù)即可判定。仔細(xì)尋找,發(fā)現(xiàn)加密的函數(shù)在這里了。下圖直接用的是十一姐的圖,十一姐文章原文鏈接:

          https://blog.csdn.net/weixin_43411585/article/details/123030973

          4、之后可以在控制臺(tái)輸入指令window.dcpeng = window.byted_acrawler.sign,其中window.byted_acrawler.sign為加密函數(shù)。注意:這個(gè)地方挺重要的,很多時(shí)候我們會(huì)寫(xiě)成ct.update(),這樣會(huì)有問(wèn)題!加了括號(hào)就是賦值結(jié)果,沒(méi)加就是賦值整個(gè)函數(shù)!千差萬(wàn)別。

          5、關(guān)閉網(wǎng)頁(yè)debug模式。注意:這個(gè)地方挺重要的,很多時(shí)候如果不關(guān)閉,ws無(wú)法注入!

          6、此時(shí)在本地雙擊編譯好的文件win64-localhost.exe,啟動(dòng)服務(wù)。

          7、之后在控制臺(tái)注入ws,即將JsEnv.js文件中的內(nèi)容全部復(fù)制粘貼到控制臺(tái)即可(注意有時(shí)要放開(kāi)斷點(diǎn))。

          8、連接通信,在控制臺(tái)輸入命令var demo = new Hlclient("ws://127.0.0.1:12080/ws?group=para&name=test");

          9、隨后繼續(xù)輸入命令:

          //?注冊(cè)一個(gè)方法?第一個(gè)參數(shù)get_v為方法名,
          //?第二個(gè)參數(shù)為函數(shù),resolve里面的值是想要的值(發(fā)送到服務(wù)器的)
          //?param是可傳參參數(shù),可以忽略
          demo.regAction("get_para",?function?(resolve,?param)?{
          ?console.log(param);
          ????var?res?=?dcpeng(param,?{"url":"https://www.toutiao.com/?wid=1641423780855"});
          ????resolve(res);
          })

          這個(gè)地方要記得傳參,不然你拿不到數(shù)據(jù)的。(這里排查了好久才出來(lái))

          10、之后就可以在瀏覽器中訪問(wèn)數(shù)據(jù)了,打開(kāi)網(wǎng)址 http://127.0.0.1:12080/go?group={}&name={}&action={}¶m={} ,這是調(diào)用的接口 group和name填寫(xiě)上面注入時(shí)候的,action是注冊(cè)的方法名,param是可選的參數(shù),這里續(xù)用上面的例子,網(wǎng)頁(yè)就是:http://127.0.0.1:12080/go?group=para&name=test&action=get_para

          11、如上圖所示,我們看到了那個(gè)變化的參數(shù)v的值,直接通過(guò)requests庫(kù)可以發(fā)起get請(qǐng)求。

          12、現(xiàn)在我們就可以模擬數(shù)據(jù),進(jìn)行請(qǐng)求發(fā)送了。

          13、將拷貝的內(nèi)容可以丟到這里進(jìn)行粘貼:http://tool.yuanrenxue.com/curl

          14、之后將右側(cè)的代碼復(fù)制到Pycharm中即可用,非常便利。

          15、之后就可以構(gòu)造請(qǐng)求了,加一個(gè)整體循環(huán),然后即可獲取翻頁(yè)的內(nèi)容,整體代碼如下所示。

          #?coding:utf-8

          #?@Time?:?2022/5/10?16:30
          #?@Author:?皮皮
          #?@公眾號(hào):?Python共享之家
          #?@website?:?http://pdcfighting.com/
          #?@File?:?頭jsrpc.py
          #?@Software:?PyCharm

          import?requests
          import?json
          import?urllib.parse
          import?time


          param_url?=?"http://127.0.0.1:12080/go?group=para&name=test&action=get_para"
          response?=?requests.get(url=param_url).text
          response_json?=?json.loads(response)
          sign?=?response_json["get_para"]
          print(sign)
          behot_time?=?int(time.time())
          params?=?{
          ????????????"offset":?0,
          ????????????"channel_id":?0,
          ????????????"max_behot_time":?1641416108,
          ????????????"category":?"pc_profile_recommend",
          ????????????"aid":?24,
          ????????????"app_name":?"toutiao_web",
          ????????????"disable_raw_data":?"true",
          ????????????"_signature":?sign
          ????????}
          url?=?f'https://www.toutiao.com/api/pc/list/feed'

          response_detail?=?requests.get(url,?params=params).json()
          print(response_detail["data"])

          運(yùn)行結(jié)果如下圖所示,和網(wǎng)頁(yè)上呈現(xiàn)的數(shù)據(jù)一模一樣。

          16、至此,請(qǐng)求就已經(jīng)完美的完成了,如果想獲取全部網(wǎng)頁(yè),構(gòu)造一個(gè)range循環(huán)翻頁(yè)即可實(shí)現(xiàn)。

          小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過(guò)程中,有遇到任何問(wèn)題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。

          -------------------?End?-------------------

          往期精彩文章推薦:

          歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【

          萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行

          瀏覽 123
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  爱爱视频日韩 | 美女高潮视频网站 | 伊人大香蕉视频在线观看 | 无码白浆| 理论在线视频 |