欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python利用Charles 實(shí)現(xiàn)全部自動(dòng)答題思路流程分析

 更新時(shí)間:2021年08月19日 16:30:34   作者:python可樂編程  
這篇文章主要介紹了Python利用Charles 實(shí)現(xiàn)全部自動(dòng)答題思路流程分析,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

利用Charles 達(dá)成“我是達(dá)人”答題類爆破思路
最近公司需要使用“我是答題”小程序,對(duì)武漢疫情進(jìn)行知識(shí)問題;榜單靠前的也有一定的學(xué)分獎(jiǎng)勵(lì);雖然平時(shí)總不屑于公司組織的此類活動(dòng),但是看了這次活動(dòng)形式,還是決定直接“爆破

0x01 思路18年大火的直播答題中,對(duì)某答題app也進(jìn)行了類似爆破,并薅了不少羊毛,到了后期已經(jīng)做到了全自動(dòng)化的答題,并且是100%正確正常情況下小程序和服務(wù)端通信流程

使用charles對(duì)請(qǐng)求進(jìn)行串改流程

因?yàn)槲业闹髁﹄娔X就是MacOS,所以就直接使用了Charles,當(dāng)然Windows上也有很多類似軟件,這里不再贅述。

0x02 開始我先正常完成一輪答題,可以在Charles上看到小程序和服務(wù)端的每次通信報(bào)文,通過對(duì)請(qǐng)求接口分析,大致梳理出以下兩個(gè)接口

1. 開始測(cè)試&挑戰(zhàn)接口:
https://v4.21tb.com/race-mobile/mina/startRace.do

2. 上傳答案&獲取下次題目接口:
https://v4.21tb.com/race-mobile/mina/userAnswer.do

對(duì)請(qǐng)求報(bào)文和返回報(bào)文分析后,確定報(bào)文的data.examItem.itemOptions[].isCorrect節(jié)點(diǎn)為正確答案。

{
    "success": false,
    "data": {
        "examItem": {
            "itemOptions": [{
                "content": "疑似或確診病例有過近距離接觸",
                "isCorrect": true
            }, {
                "content": "感冒的病人",
                "isCorrect": false
            }],
            "itemName": "什么是新型冠狀病毒密切接觸者?"
        }
    },
    "message": null,
    "status": "SUCCESS"
}

只要搭建一個(gè)中間代{過}{濾}理服務(wù),在返回給小程序時(shí)把content字段進(jìn)行修改,即可讓我們快速在小程序上看到正確答案。 本次我使用的nodejs進(jìn)行開發(fā),我對(duì)nodejs語法還停留在新手上,將就看

router.post('/21tb/:do', function (req, res, next) {
  console.log(req.params.do);
  fly.post('https://v4.21tb.com/race-mobile/mina/' + req.params.do + '.do', req.body, { headers: { "content-type": "application/x-www-form-urlencoded" } })
    .then(d => {
      console.log(d.data.data)
      if (d.data.data) {
        if (d.data.data instanceof Array) {
          for (var inx in d.data.data) {
            var data = d.data.data[inx];
            if (data.examItem && data.examItem.itemOptions) {
              var itemOptions = d.data.data.examItem.itemOptions;
              if (itemOptions) {
                for (var inx in itemOptions) {
                  var item = itemOptions[inx]
                  if (item.isCorrect) {
                    item.content = '✅' + item.content;
                  }
                }
              }
            }
          }
        } else {
          if (d.data.data.examItem && d.data.data.examItem.itemOptions) {
            var itemOptions = d.data.data.examItem.itemOptions;
            if (itemOptions) {
              for (var inx in itemOptions) {
                var item = itemOptions[inx]
                if (item.isCorrect) {
                  item.content = '✅' + item.content;
                }
              }
            }
          }
        }
      }
      res.send(d.data);
    })
    .catch(function (error) {
      console.log(error);
    });[/size][/font][/color][/indent][indent][color=rgb(36, 41, 46)][font=-apple-system, BlinkMacSystemFont, "][size=16px]
});

再來看Charles上的配置,主要使用的Map Remote功能

通過這一系列的配置后,就可以實(shí)現(xiàn)對(duì)小程序請(qǐng)求的中間者攻擊了最終效果,正確答案上會(huì)有個(gè)“✅”:

到此這篇關(guān)于Python利用Charles 實(shí)現(xiàn)全部自動(dòng)答題思路流程分析的文章就介紹到這了,更多相關(guān)Python實(shí)現(xiàn)全部自動(dòng)答題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Pyqt5設(shè)置返回鍵和跳轉(zhuǎn)頁面鍵的示例代碼

    Pyqt5設(shè)置返回鍵和跳轉(zhuǎn)頁面鍵的示例代碼

    這篇文章主要介紹了Pyqt5設(shè)置返回鍵和跳轉(zhuǎn)頁面鍵的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 詳解Python3定時(shí)器任務(wù)代碼

    詳解Python3定時(shí)器任務(wù)代碼

    這篇文章主要介紹了Python3定時(shí)器任務(wù)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python數(shù)據(jù)分析之雙色球統(tǒng)計(jì)兩個(gè)紅和藍(lán)球哪組合比例高的方法

    Python數(shù)據(jù)分析之雙色球統(tǒng)計(jì)兩個(gè)紅和藍(lán)球哪組合比例高的方法

    這篇文章主要介紹了Python數(shù)據(jù)分析之雙色球統(tǒng)計(jì)兩個(gè)紅和藍(lán)球哪組合比例高的方法,涉及Python數(shù)值運(yùn)算及圖形繪制相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • Python進(jìn)行密碼學(xué)反向密碼教程

    Python進(jìn)行密碼學(xué)反向密碼教程

    這篇文章主要為大家介紹了Python進(jìn)行密碼學(xué)反向密碼的教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python調(diào)試神器之PySnooper的使用教程分享

    Python調(diào)試神器之PySnooper的使用教程分享

    對(duì)于每個(gè)程序開發(fā)者來說,調(diào)試幾乎是必備技能。本文小編就來給大家介紹一款非常好用的調(diào)試工具,它能在一些場(chǎng)景下,大幅度提高調(diào)試的效率, 那就是 PySnooper,希望大家喜歡
    2023-02-02
  • Python3.6簡(jiǎn)單操作Mysql數(shù)據(jù)庫

    Python3.6簡(jiǎn)單操作Mysql數(shù)據(jù)庫

    這篇文章主要為大家詳細(xì)介紹了Python3.6簡(jiǎn)單操作Mysql數(shù)據(jù)庫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Pandas 按索引合并數(shù)據(jù)集的方法

    Pandas 按索引合并數(shù)據(jù)集的方法

    今天小編就為大家分享一篇Pandas 按索引合并數(shù)據(jù)集的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python語言實(shí)現(xiàn)獲取主機(jī)名根據(jù)端口殺死進(jìn)程

    Python語言實(shí)現(xiàn)獲取主機(jī)名根據(jù)端口殺死進(jìn)程

    這篇文章主要介紹了Python語言實(shí)現(xiàn)獲取主機(jī)名根據(jù)端口殺死進(jìn)程的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • 如何在C++中調(diào)用Python

    如何在C++中調(diào)用Python

    雖然現(xiàn)在Python編程語言十分的火爆,但是實(shí)際上非要用一門語言去完成所有的任務(wù),并不是說不可以,而是不合適。在一些特定的、對(duì)于性能要求比較高的場(chǎng)景,還是需要用到傳統(tǒng)的C++來進(jìn)行編程的。本文將用C++的代碼去調(diào)用Python函數(shù)中實(shí)現(xiàn)的一些功能
    2021-05-05
  • python中MethodType方法介紹與使用示例

    python中MethodType方法介紹與使用示例

    這篇文章主要給大家介紹了關(guān)于python中MethodType方法的相關(guān)資料,文中通過示例代碼給大家介紹的非常詳細(xì),并給出了詳細(xì)的注釋供大家理解學(xué)習(xí),需要的朋友可以參考借鑒,下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08

最新評(píng)論