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)。