NewStarCTF 2024第一第二周部分wp

1、个人信息

2、Writeup

re

1.Begin

直接拖进ida,f5反编译之后得到第一段flag:flag{Mak3_aN_

然后f12看到第二段flag

3Ff0rt_tO_5eArcH_

函数名为第三段F0r_th3_f14g_C0Rpse

最后的flag:flag{Mak3_aN_3Ff0rt_tO_5eArcH_F0r_th3_f14g_C0Rpse}

2.base64

Ida打开之后,明显看到两段base字符

直接盲推base64换表加密,丢进CyberChef里面解


flag:flag{y0u_kn0w_base64_well}

3.ezAndroidStudy

直接拖进jadx里面跟着教程找flag,这里没时间看,所以跳过

4.Simple_encryption

拖进ida反编译后发现明显的加密比较逻辑

直接写Python代码解密

注意buffer要拉取全部,解密过程中要取模256确保在0-255范围内

(之前的代码可以的,现写的不知道为什么不行了,反正大差不差)

5.ez_debug

动态调试的签到题,拖进x64dbg打开后,

全局搜索字符串,找到加密函数Decrypt flag

下断点直接f9调试,在随机输入一个数之后跳到断点

看到flag

最终flag:flagfyOu_ar3_g0od_@_Debu9}

6.Upx

直接upx脱壳梭哈成功

拖进ida后反编译明显的rc4加密

给了key和密文

用在线网站解密就行

后面发现密文没有赋值,懒得调试但是发现前面有个before_main函数对对应密文地址进行了赋值,直接拉进去

在线网站:RC4 加密/解密 - 锤子在线工具 (toolhelper.cn)

Flag:flag{Do_you_know_UPX?}

7.drink_tea

经典的tea加密算法,初步分析题目如下

可是不知道为什么无法转为字符串,还在研究

Web

1、headach3

用yakit抓包看反包的包头直接得flag

Flag:flag{You_Ar3_R3Ally_A_9ooD_d0ctor}

2、会赢吗

访问直接f12打开源码发现第一段flag:ZmxhZ3tXQTB3

第二部分发现一段js的function,直接在控制台调用该func访问原目录

得到第二段flag:IV95NF9yM2Fs

观察源代码发现是前端验证,直接在元素改标签值绕过

第三段flag:MXlfR3I0c1B

分析发现要触发无量空处的按钮,发现前端验证是严格过滤的,考虑直接禁用js

弹出无量空处后点击得到最后一段flag

第四段flag:fSkpKcyF9

将所有flag合并后base64解密:flag{WA0w!_y4_r3al1y_Gr4sP_JJJs!}

3.智械危机

看到robot直接联想到robots协议,访问robots.txt

访问后门php得到过滤规则

分析逻辑,cmd为执行的命令cat /flag,先要进行倒置后进行一次base64加密,然后进行md5加密与keybase64加密后进行比较,即key要进行一次base64加密然后md5加密然后再base64加密

分析完全后按顺序进行加密获得flag

Flag:flag{fa9fabca-b1d8-4e0b-8afe-572c43165619}

4.PangBai 过家家(1)

这题卡在最后一步的patch了,我当时是卡点做的所以没研究出来改数据包的方法

所以wp就不写了,其实后来看还是非常简单的

5.谢谢皮蛋

1=-1 union select 1,2简单的sql注入,进行了单纯的base64编码输入,可以用sqlmap一把梭哈,也可以手工注入,具体注入过程就不写了

6.你能在一秒内打出八句英文吗

就是用脚本获取text标签内的英文然后用post方式提交就行,但是普通访问会返回到最初的起点,需要注意发包要带上cookie

import requests

import re

from bs4 import BeautifulSoup

# 发送请求获取HTML内容

r = requests.get('http://eci-2zeb2izvxdajy8u5jhlk.cloudeci1.ichunqiu.com/start', verify=False)

# 获取Cookie

cookies = r.cookies

soup = BeautifulSoup(r.text, 'html.parser')

text_p = soup.find('p', id='text')

# 使用正则表达式匹配<p id="text">标签中的英文部分

pattern = r'<p id="text">(.*?)</p >'

match=text_p.get_text()

if match:

  english_text = match

  print("匹配到的英文部分:")

  print(english_text)

  # 提交匹配到的英文部分

  post_url = 'http://eci-2zeb2izvxdajy8u5jhlk.cloudeci1.ichunqiu.com/submit'

  data = {'user_input': english_text}

  response = requests.post(post_url, data=data, cookies=cookies,verify=False)

  print("提交结果:")

  print(response.text)

else:

  print("未匹配到<p id=\"text\">标签中的内容")

运行得到flag:flag{df6b4f81-ffa1-43cf-9813-0e8a211c0153}

7.PangBai 过家家(2)

用dirsearch扫描发现存在git泄露,用wangyihang大佬的githacker爆出后门php(一开始用githack死活整不出来,还得是国内大佬nb)

然后将后门php下载并观察逻辑

关键函数是

$_GET['NewStar_CTF.2024'] !== 'Welcome' && preg_match('/^Welcome$/', $_GET['NewStar_CTF.2024'])

ctfshow web123(php get或post变量名中非法字符转化下划线) - hithub - 博客园
参考了以上blog,构造payload:NewStar[CTF.2024=Welcome%0a

用yakit写入后门,然后用蚁剑连接

找了一圈都没找到flag,最后发现在env里面

Flag:flag{100f8aa0-d72c-4e3c-9618-757325ee398d}

8.复读机

用fenjing一把梭哈就行

Flag:flag{cce67c7c-3bec-4540-b23f-aad81ded112d}

Crypto

1.Xor

简单的异或,将flag分为两段分别进行异或,那就直接分别逆向再合并就好

Flag:flag{0ops!_you_know_XOR!}

2.Base

简单的重叠base加密,先base16再base32再base64

Flag:flag{B@sE_0f_CrYpt0_N0W}

3.一眼秒了

只给了n,c,直接进在线网站大数分解

然后正常rsa解密即可

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

4.Strange King

变异的凯撒密码,过滤规则为5+2i,注意字母需要%26

Flag:flag{PleaseDoNotStopLearing}

5.这是几次方? 疑惑!

Python中^比+优先级更低,所以实际上是异或e+10086,其实不用管直接复制粘贴就行

Flag:flag{yihuo_yuan_lai_xian_ji_suan_liang_bian_de2333}

6.Since you konw something

观察源码,发现是用未知的key进行xor加密,已知key位数为2位,直接爆破得到秘钥

Flag:flag{Y0u_kn0w_th3_X0r_b3tt3r}

7.茶里茶气

经典的tea加密,注意v2要先经过一次轮秘钥得到最后的结果再逆向,别的就直接复制粘贴就行

Flag:flag{f14gg9_te2_1i_7ea_7}

8.Just one and more than two

变异的rsa,采用了三个大素数,但是给了所有三个素数,那就直接求解就行

Flag:flag{Y0u_re4lly_kn0w_Euler_4nd_N3xt_Eu1er_is_Y0u!}

Misc

1.Decompress

用apchpr直接掩码爆破就行(爆破时长太长我就懒得爆了)

2.pleasingMusic

将mp3拖进音频分析软件mp3stego中,然后肉眼观察倒序输出出莫斯密码去在线网站上解密就行

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

3.WhereIsFlag

Nc连接后发现只有ls,cd,cat几个命令,那就只能老老实实找了,最后发现在proc里面

Flag:flag{95f96c77-9ca7-4b59-b0dd-023391b8c747}

4.Labyrinth

明显的lsb隐写,用Stegsolve翻一翻就出来了

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

5.兑换码

Png修改了高度,拖到随波逐流里面梭哈就行

Flag:flag{La_vaguelette}

6.wireshark_checkin

找http流发现访问了flag.txt,找到回显

Flag:flag{ez_traffic_analyze_isn't_it}

7.wireshark_secret

查看http流,发现是访问了一个png,用wireshark自带的浏览功能发现flag

Flag:flag{you_are_gooddddd}

8.热心助人的小明同学

给了一个内存镜像,用volatility查看镜像的形式,然后用hashdump爆破出密码

将password连起来就是密码

9.字里行间的秘密

打开key.txt明显的零宽度字节加密,到在线网站解密

得到密码,对doc文档进行解密

进入后全选发现了白色字符

转颜色就出来了

Flag:flag{you_h4ve_4nyth1n9}

10.Herta's Study

找到加密逻辑

Decoded String 1:

$ns

Decoded String 2:

$ns=base64_encode($ns);

for($i=0;$i<strlen($ns);$i+=1){

    if($i%2==1){

        $ns[$i]=str_rot13($ns[$i]);

    }

}

return $ns;

对密文进行解密,得到flag

3、总结

第一第二周的题目都较为基础,想要入门的师傅可以看看复现一下,我除了pwn其他都打(嘻嘻,就不打pwn)。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值