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下载镜像文件. ...
随机推荐
- MYSQL CONVERT、JSON_EXTRACT函数的使用总结
一.CONVERT.CONCAT.COUNT函数联合查询 CONVERT()函数用于将值从一种数据类型转换为表达式中指定的另一种数据类型. MySQL还允许它将指定的值从一个字符集转换为另一个字符集. ...
- 🔥架构师狂掉1024根头发,总算搞定SSL通配证书
架构师狂掉1024根头发,总算搞定SSL通配证书 经过许多个日日夜夜的持续开发(掉了1024根头发),总算搞定了v1.11.0版本,修复和解决了许多问题,也支持CDN和OSS证书的部署. v1.11. ...
- uniapp获取用户信息
新接口getUserProfileFn内置login,如果必须要login返回的参数要隔离开 vue3书写要对按钮配置属性 <button @click="logintou" ...
- PHP常用排序算法02——快速、归并
接着上篇,我们继续来学习下工程中最常用的排序算法,适合大规模数据排序的算法,快速排序(quickSort)和归并排序(mergeSort). PS:对排序等算法还不太了解的同学,可以去看下这个链接哦, ...
- linux 下对zip,rar,tar,tar.gz,tar.bz2,tar.xz,gzip,bzip2,xz文件的归档,压缩和解压缩
目录 一.关于打包和压缩 二.linux对rar文件的压缩和解压缩 三.使用tar对文件进行归档,压缩,解压缩 3.1 tar对文件进行归档和解压 3.2 归档的添加和删除 3.3 tar对文件进行归 ...
- winform cefsharp chart.js 再winform上使用chart.js 绘制动态曲线
CefSharp 是一款开源的使用.net平台基于谷歌的 封装浏览器组件,可用于winform wpf . chart.js 也是一款开源的图表展示组件. 我所作的就是使用这两个组件再winform上 ...
- gitlab docker 自动部署报错 /bin/bash: line 118: docker: command not found
原因找不到docker,我们需要绑一下docker 列出所有gitlab-runner配置文件 find / | grep config.toml [root@izwz99pke7zxkpm7l51t ...
- itest(爱测试)开源接口测试&敏捷测试&极简项目管理 7.1.0 发布,ui优化及bug修复
(一)itest 简介及更新说明 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试,接口Mock 6合1,又有丰富的统计分析.可按测试包 ...
- itest(爱测试) 4.5.5 发布,开源BUG 跟踪管理 & 敏捷测试管理&极简项目管理软件
itest 简介 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理4合1,又有丰富的统计分析.可按测试包分配测试用例执行,也可建测试迭代(含任务, ...
- Atlas快速入门
先说一些废话 之前的公司在数据中台的项目上调研决定启用了Atlas作为我们数据血缘管理的工具,让我给大家写了一份Atlas快速入门的文档,所以在这里我将这篇文档以一个纯新手视角的方式再一次优化,希望能 ...