NewStarCTF 2023 week1
NewStarCTF 2023
WEEK1|CRYPTO
brainfuck
flag{Oiiaioooooiai#b7c0b1866fe58e12}
Caesar's Secert
凯撒密码
flag{ca3s4r's_c1pher_i5_v4ry_3azy}
Fence
栅栏密码,栏数为2
flag{reordering_the_plaintext#686f8c03}
Vigenère
key: kfc ,试出来的
flag{la_c1fr4_del_5ign0r_giovan_batt1st4_b3ll5s0}
babyrsa
直接分解n
flag{us4_s1ge_t0_cal_phI}
Small d
维纳攻击
flag{learn_some_continued_fraction_technique#dc16885c}
babyxor
已知正确flag的开头是f,先得到key,再xor
for i in range(1,200):
if 0xe9 ^ i == ord('f'):
print(hex(i))
cipher_text='e9e3eee8f4f7bffdd0bebad0fcf6e2e2bcfbfdf6d0eee1ebd0eabbf5f6aeaeaeaeaeaef2'
flag=''
for i in range(0,len(cipher_text),2):
#print(cipher_text[i:i+2])
s=int(cipher_text[i:i+2],16)^0x8f
#print(s)
flag+=chr(s)
print(flag)
flag{x0r_15_symm3try_and_e4zy!!!!!!}
babyencoding
base64:flag{dazzling_encoding#4e0ad4
base32:f0ca08d1e1d0f10c0c7afe422fea7
uuencode:c55192c992036ef623372601ff3a}
flag{dazzling_encoding#4e0ad4f0ca08d1e1d0f10c0c7afe422fea7c55192c992036ef623372601ff3a}
Affine
仿射密码,爆破key
import gmpy2
from Crypto.Util.number import *
modulus = 256
c = 'dd4388ee428bdddd5865cc66aa5887ffcca966109c66edcca920667a88312064'
b_c = long_to_bytes(int(c,16))
def get_a():
aList = []
for i in range(1,256):
if gmpy2.gcd(i,modulus) == 1:
aList.append(i)
return aList
for a in get_a():
for b in range(1,256):
if (a*b_c[0] + b) % modulus == ord('f') and (a*b_c[1] + b) % modulus == ord('l') and (a*b_c[2] + b) % modulus == ord('a'):
print(a,b)
# 241 89
a,b = 241,89
for i in b_c:
print(chr((a*i + b) % modulus),end="")
flag{4ff1ne_c1pher_i5_very_3azy}
babyaes
exp
题目给了我们bytes_to_long(key) ^ bytes_to_long(iv) ^ 1
的值
那我们就可以先得出bytes_to_long(key) ^ bytes_to_long(iv)
的值
异或操作具有自反性,因为异或了1 异或完是奇数则减1,偶数则加1
如 641=65,651=64
c = b'>]\xc1\xe5\x82/\x02\x7ft\xf1B\x8d\n\xc1\x95i'
xor = 3657491768215750635844958060963805125333761387746954618540958489914964573229 - 1
b_xor = long_to_bytes(xor)
key_tem = b_xor[:16]
iv = long_to_bytes(bytes_to_long((b_xor[16:])) ^ bytes_to_long(key_tem))
key = key_tem*2
aes = AES.new(key, AES.MODE_CBC, iv)
print(aes.decrypt(c))
#b'firsT_cry_Aes\x00\x00\x00'
flag{firsT_cry_Aes}
WEEK1|MISC
CyberChef's Secret
flag{Base_15_S0_Easy_^_^}
机密图片
flag{W3lc0m3_t0_N3wSt4RCTF_2023_7cda3ece}
流量!鲨鱼!
导出解两层base
flag{Wri35h4rk_1s_u53ful_b72a609537e6}
压缩包们
修复文件头得到flag.zip,这里先用winrar修复一下,这样虽然有报错但能正常使用了
在备注处得到base64解得 I like six-digit numbers because they are very concise and easy to remember.
6位数字爆破
flag{y0u_ar3_the_m4ter_of_z1111ppp_606a4adc}
隐秘的眼睛
silenteye
flag{R0ck1ng_y0u_63b0dc13a591}
空白格
whitespace解密
https://vii5ard.github.io/whitespace/
flag{w3_h4v3_to0_m4ny_wh1t3_sp4ce_2a5b4e04}
WEEK1|WEB
泄漏的秘密
robots.txt:PART ONE: flag{r0bots_1s_s0_us3ful
www.zip:$PART_TWO = "_4nd_www.zip_1s_s0_d4ng3rous}";
flag{r0bots_1s_s0_us3ful_4nd_www.zip_1s_s0_d4ng3rous}
Begin of Upload
修改文件后缀上传后,蚁剑连接即可
flag{212ce1e2-b45b-4efe-8942-1bd8f471b647}
ErrorFlask
flag就在报错里
flag{Y0u_@re_3enset1ve_4bout_deb8g}
Begin of HTTP
GET ?ctf=1
POST secret=n3wst4rCTF2023g00000d
Cookie: power=ctfer
User-Agent: NewStarCTF2023
Referer: newstarctf.com
X-Real-IP: 127.0.0.1
flag{e95db539-df58-4d02-a5f8-b31f813ffcaa}
Begin of PHP
弱比较,数组绕过
flag{b1cf87aa-47b5-4dec-8ff3-7aa25d72d0ff}
R!C!E!
爆破个MD5值头部符合的字符串就行 ,_用[代替
password=4f2853676e292b0ad3855938987107f3&e[v.a.l=var_dump(exec('tac /fl'.'ag'));
flag{0decef82-6e36-4e90-afa8-a499623405e7}
EasyLogin
爆破得到admin的密码是000000
抓登录包后Forward,flag在重定向
flag{9b90a3e9-bb26-4385-a649-225eed42ad31}
WEEK1|REVERSE
easy_RE
找到main函数
F5
flag{we1c0me_to_rev3rse!!}
咳
UPX脱壳
进入main函数得到enc:gmbh|D1ohsbuv2bu21ot1oQb332ohUifG2stuQ[HBMBYZ2fwf2~
把这块逆出来就好了
for ( i = 0i64; ; ++i )
{
v4 = &Str1[strlen(Str1)];
if ( i >= v4 - Str1 )
break;
++Str1[i];
}
exp
cipher_text='gmbh|D1ohsbuv2bu21ot1oQb332ohUifG2stuQ[HBMBYZ2fwf2~'
flag=""
for i in range(len(cipher_text)):
flag+=chr(ord(cipher_text[i])-1)
print(flag)
flag{C0ngratu1at10ns0nPa221ngTheF1rstPZGALAXY1eve1}
ELF
进入main函数得到得到密文 VlxRV2t0II8kX2WPJ15fZ49nWFEnj3V8do8hYy9t
主要看encode函数
v1 = strlen(a1);
v4 = malloc(2 * v1 + 1);
v6 = 0;
for ( i = 0; i < strlen(a1); ++i )
{
v2 = v6++;
v4[v2] = (a1[i] ^ 0x20) + 16;
}
v4[v6] = 0;
return v4;
exp
from base64 import b64decode
flag = "VlxRV2t0II8kX2WPJ15fZ49nWFEnj3V8do8hYy9t"
flag = b64decode(flag).hex()
for i in range(0,len(flag),2):
print(chr((int(flag[i:i+2],16)-16) ^ 0x20),end='')
flag{D0_4ou_7now_wha7_ELF_1s?}
Segments
shift+F7
flag{You_ar3_g0od_at_f1nding_ELF_segments_name}
Endian
v5 = v6;
for ( i = 0; i <= 4; ++i )
{
if ( *(_DWORD *)v5 != (array[i] ^ 0x12345678) )
{
printf("wrong!");
exit(0);
}
v5 += 4;
}
printf("you are right");
return 0;
array 的值 75553A1Eh, 7B583A03h, 4D58220Ch, 7B50383Dh, 736B3819h
注意小端序
cipher = "75553A1E 7B583A03 4D58220C 7B50383D 736B3819".split(' ')
#print(cipher)
flag = []
for i in cipher:
flag.append(hex(int(i,16) ^ 0x12345678)[2:])
print(flag)
real_flag = ""
for i in flag:
r = ""
for j in range(0,len(i),2):
r = chr(int(i[j:j+2],16)) + r
real_flag += r
print(real_flag)
flag{llittl_Endian_a}
AndroXor
找到关键函数
enc=[14, ord('\r'), 17, 23, 2, ord('K'), ord('I'), ord('7'), ord(' '), 30, 20, ord('I'), ord('\n'), 2, ord('\f'), ord('>'), ord('('), ord('@'), 11, ord('\''), ord('K'), ord('Y'), 25, ord('A'), ord('\r')]
key='happyx3'
flag=''
for i in range(len(enc)):
flag += chr(enc[i] ^ ord(key[i % len(key)]))
print(flag)
flag{3z_And0r1d_X0r_x1x1}
EzPE
拿别的exe文件对比,修改相应字节
关键函数
scanf("%s", input);
for ( i = 0; i < strlen(input) - 1; ++i )
input[i] ^= i ^ input[i + 1];
if ( !strcmp(input, data) )
puts("You Win!");
else
puts("You lose!");
system("pause");
return 0;
找到data(0Ah--7Dh)
exp
data = [0x0a,0x0c,0x4,0x1f,0x26,0x6C,0x43,0x2D,0x3C,0x0C,0x54,0x4C,0x24,0x25,0x11,0x6,0x5,0x3A,0x7C,0x51,0x38,0x1A,0x3,0x0D,0x1,0x36,0x1F,0x12,0x26,0x4,0x68,0x5D,0x3F,0x2D,0x37,0x2A,0x7D]
for i in range(len(data) - 2, -1, -1):
data[i] ^= (data[i + 1]) ^ i
flag=''
for i in data:
flag+=chr(i)
print(flag)
flag{Y0u_kn0w_what_1s_PE_File_F0rmat}
lazy_activtiy
关键函数
大致意思为每次点击按钮,cnt
值会自增,并在界面上显示出来。当点击次数达到 10000 或以上时,会显示 editText
中输入的文本。
emmm但在我尝试动调前,AndroidKiller一把梭了
flag{Act1v1ty_!s_so00oo0o_Impor#an#}
NewStarCTF 2023 week1的更多相关文章
- HGAME 2023 WP week1
WEEK1 web Classic Childhood Game 一眼顶真,直接翻js文件,在Events.js中找到mota(),猜测是获取flag,var a = ['\x59\x55\x64\x ...
- 个人博客作业Week1
个人博客作业Week1 一.问题 通读<构建之法>我有一下几个问题 PM没有参与代码编如何进行管理. 软件工程师的职业资格考试对我们来说很有必要吗. 当我们为用户开发软件时我们需要了解用户 ...
- Spark小课堂Week1 Hello Spark
Spark小课堂Week1 Hello Spark 看到Spark这个词,你的第一印象是什么? 这是一朵"火花",官方的定义是Spark是一个高速的.通用的.分布式计算系统!!! ...
- Internet History, Technology and Security (Week1)
Week1. History: Dawn of Electronic Computing War Time Computing and Conmmunication Keywords: Electro ...
- 1630/2023: [Usaco2005 Nov]Ant Counting 数蚂蚁
2023: [Usaco2005 Nov]Ant Counting 数蚂蚁 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 85 Solved: 40[S ...
- Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归)
title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模 ...
- mooc- 基本程序设计方法week1,week2
学习了第一单元我们几本可以写出10行左右的代码. week1:python编程之基本方法 1.从计算机到程序设计语言: 理解计算机:计算机是能够根据一组指令操作数据的机器. 功能性:可以进行数据计算 ...
- 20165232 week1 kali安装
20165232 Week1 kali安装 一.安装虚拟机 首先到kali官网下载64bit版本的kali(3.5G),这里我是从同学盘上拷过来的. 下载VMWARE 进入官网,找到如下图示 点击进行 ...
- 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165237
2018-2019-2 <网络对抗技术>Exp0 Kali安装 Week1 20165237 安装虚拟机 首先创建虚拟机 创建好虚拟机后,打开虚拟机进行安装.第一步选择Graphcal i ...
- 2018-2019-2 20165234 《网络对抗技术》 Exp0 Kali安装 Week1
Week1 kali安装 一.下载系统镜像文件 首先下载系统镜像,进入kali官网,在Downloads中选择Download Kali Linux. 我选择的是64位版本,点击HTTP下载镜像文件. ...
随机推荐
- Fiddler在抓取https数据包时如何解决Tunnel to 443的问题?
学习视频: https://www.bilibili.com/video/BV1zg4y1i7k3?p=2 谷歌浏览器导入证书 1.导出证书到桌面 2.双击安装证书 3.浏览器-->设置--&g ...
- Golang 之 casbin(权限管理)
目录 1. 权限管理 官网 编辑器测试 1.1.1. 特征 Casbin的作用 Casbin不执行的操作 1.1.2. 怎么运行的 1.1.3. 安装 1. 示例代码 xormadapter 2. 示 ...
- 前端 PM 分享:PM 需要做的事情
个人经验分享 PM PM( Project Manager ) PM( Product Manager ) 一.什么情况下需要前端担任 PM? 在我之前遇到的项目中,大多数项目的 PM 是由后端/产品 ...
- npm 错误,ERESOLVE unable to resolve dependency tree 解决方案
参考:https://blog.csdn.net/qq_42055933/article/details/132098617 背景: 当在使用npm install时遇到 "ERESOLVE ...
- jquery 给表格添加或删除一行
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- HTML——input之单行文本框
在 HTML 中,把 <input> 标签的 type 属性设置为 text 可以表示单行文本框,又叫做常规文本框.具体语法格式如下: <input type="text& ...
- HTML——标签元素的两大类
块级标签(block) – 独占一行 内联标签(inline) – 按文本内容占位 div标签和span标签 <div>只是一个块级元素,并无实际的意义.主要通过CSS样式为其赋予不同的表 ...
- 用Vue全家桶纯手工搓了一个开源版「抖音」
前言 2018年刚入行前端时,公司使用的还是Angular.Angular什么都好,就是写代码时的体验老糟心了,改一个地方,按下保存之后,要等好几秒刷新后才能看到效果,Webstorm无比好用的自动保 ...
- 云原生时代的"应用级"多云管理
作者:张齐 当前云计算有多种形态公有云.私有云.边缘云.虚拟机等,如何高效管理多云是当前面临的问题,在云原生时代,又该如何利用云原生技术实现多云管理?本文将讲解通过 Rainbond实现"应 ...
- 16位简单ASM题的记录——[HGAME 2022 week1]easyasm
第一次遇见16位,和纯看汇编的题目,记录一下 DIE 16位,IDA用32位或者64位都可以打开 IDA 主要汇编部分 seg003:0000 ; =============== S U B R O ...