当前位置:   article > 正文

VNCTF2021 部分题目复现_套神 mumuzi

套神 mumuzi

Web

[VNCTF 2021]Ez_game

很魔性的一个小游戏,查看源码看到三个js文件,主要审game.js
在这里插入图片描述
我的想法是在控制台执行代码,改人物的参数,暴力通关

看到如下代码,很明显是人物的初始数值,从上到下分别对应血量、血量上限、小回旋镖数量、大回旋镖数量、金币数量
如下
在控制台小改一波,然后快乐玩耍
在这里插入图片描述
之后看到mumuzi师傅(套神)提供了一种更快捷的思路,发现判定玩家胜利时,执行了一次winTimer.Set();
在这里插入图片描述
控制台执行这个代码,拿到flag
在这里插入图片描述

Misc

冰冰好像藏着秘密

打开压缩包,报错,但是我的rar能正常把图片文件拿出来
在这里插入图片描述
拿到FFT.png
在这里插入图片描述
FFT是提示傅里叶变换,跑脚本(这里拿的是官方给的脚本)

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread('FFT.png', 0) #直接读为灰度图像
f = np.fft.fft2(img) #做频率变换
fshift = np.fft.fftshift(f) #转移像素做幅度谱
s1 = np.log(np.abs(fshift))#取绝对值:将复数变化成实数取对数的⽬的为了将数据变化到0-255
plt.subplot(121)
plt.imshow(img, 'gray')
plt.title('original')
plt.subplot(122)
plt.imshow(s1,'gray')
plt.title('center')
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

跑出的结果能模糊地看到flag,保存到本地放大图片看到flag
在这里插入图片描述


看wp才知道,打开压缩包的时候之所以报错,是因为这个是考点–RAR伪加密

确实,平时见到的都是zip伪加密,RAR伪加密属实少见

修复的话和zip伪加密类似,改一个数字就行,或者直接binwalk分离出来

interesting_fishing

附件和图片中各藏了一半的flag

在这里插入图片描述
打开第一个bin文件,发现像是qq邮件
在这里插入图片描述
把文件后缀改成eml,打开得到
在这里插入图片描述
图片的名字是ThisIsSecret.jpg,提示使用our secret解密
在这里插入图片描述
拿到_fr0m_l@z@RuS}

看邮件中的另一个附件,是一个vs工程文件,用notepad++打开Browse.VC.db,看到一串base64加密的字符串,解密
在这里插入图片描述
得到

\u-65432?\u-65420?\u-65420?\u-65424?\u-65421?\u-65478?\u-65489?\u-65489?\u-65418?\u-65426?\u-65437?\u-65420?\u-65434?\u-65491?\u-65486?\u-65487?\u-65485?\u-65491?\u-65487?\u-65486?\u-65483?\u-65481?\u-65488?\u-65482?\u-65487?\u-65487?\u-65486?\u-65485?\u-65490?\u-65437?\u-65425?\u-65421?\u-65490?\u-65439?\u-65424?\u-65491?\u-65426?\u-65439?\u-65426?\u-65430?\u-65431?\u-65426?\u-65433?\u-65490?\u-65427?\u-65415?\u-65423?\u-65437?\u-65428?\u-65425?\u-65419?\u-65436?\u-65490?\u-65437?\u-65425?\u-65427?\u-65489?\u-65456?\u-65415?\u-65425?\u-65426?\u-65433?\u-65415?\u-65439?\u-65426?\u-65433?\u-65499?\u-65486?\u-65488?\u-65421?\u-65420?\u-65425?\u-65422?\u-65435?\u-65421?\u-65499?\u-65486?\u-65488?\u-65428?\u-65425?\u-65417?\u-65499?\u-65486?\u-65488?\u-65425?\u-65426?\u-65499?\u-65486?\u-65488?\u-65434?\u-65425?\u-65422?\u-65435?\u-65431?\u-65433?\u-65426?\u-65499?\u-65486?\u-65488?\u-65433?\u-65425?\u-65425?\u-65436?\u-65421?\u-65499?\u-65486?\u-65488?\u-65439?\u-65427?\u-65431?\u-65436?\u-65499?\u-65486?\u-65488?\u-65458?\u-65425?\u-65422?\u-65420?\u-65432?\u-65499?\u-65486?\u-65488?\u-65461?\u-65425?\u-65422?\u-65435?\u-65439?\u-65426?\u-65499?\u-65486?\u-65488?\u-65469?\u-65457?\u-65450?\u-65463?\u-65468?\u-65491?\u-65487?\u-65479?\u-65499?\u-65486?\u-65488?\u-65424?\u-65439?\u-65422?\u-65439?\u-65426?\u-65425?\u-65431?\u-65439?\u-65490?\u-65422?\u-65439?\u-65422?
  • 1

写脚本,将其中的数字分离出来,然后用65536-数字,再转字符

s=r"\u-65432?\u-65420?\u-65420?\u-65424?\u-65421?\u-65478?\u-65489?\u-65489?\u-65418?\u-65426?\u-65437?\u-65420?\u-65434?\u-65491?\u-65486?\u-65487?\u-65485?\u-65491?\u-65487?\u-65486?\u-65483?\u-65481?\u-65488?\u-65482?\u-65487?\u-65487?\u-65486?\u-65485?\u-65490?\u-65437?\u-65425?\u-65421?\u-65490?\u-65439?\u-65424?\u-65491?\u-65426?\u-65439?\u-65426?\u-65430?\u-65431?\u-65426?\u-65433?\u-65490?\u-65427?\u-65415?\u-65423?\u-65437?\u-65428?\u-65425?\u-65419?\u-65436?\u-65490?\u-65437?\u-65425?\u-65427?\u-65489?\u-65456?\u-65415?\u-65425?\u-65426?\u-65433?\u-65415?\u-65439?\u-65426?\u-65433?\u-65499?\u-65486?\u-65488?\u-65421?\u-65420?\u-65425?\u-65422?\u-65435?\u-65421?\u-65499?\u-65486?\u-65488?\u-65428?\u-65425?\u-65417?\u-65499?\u-65486?\u-65488?\u-65425?\u-65426?\u-65499?\u-65486?\u-65488?\u-65434?\u-65425?\u-65422?\u-65435?\u-65431?\u-65433?\u-65426?\u-65499?\u-65486?\u-65488?\u-65433?\u-65425?\u-65425?\u-65436?\u-65421?\u-65499?\u-65486?\u-65488?\u-65439?\u-65427?\u-65431?\u-65436?\u-65499?\u-65486?\u-65488?\u-65458?\u-65425?\u-65422?\u-65420?\u-65432?\u-65499?\u-65486?\u-65488?\u-65461?\u-65425?\u-65422?\u-65435?\u-65439?\u-65426?\u-65499?\u-65486?\u-65488?\u-65469?\u-65457?\u-65450?\u-65463?\u-65468?\u-65491?\u-65487?\u-65479?\u-65499?\u-65486?\u-65488?\u-65424?\u-65439?\u-65422?\u-65439?\u-65426?\u-65425?\u-65431?\u-65439?\u-65490?\u-65422?\u-65439?\u-65422?"
l=list(s[3:-1].split(r"?\u-"))
flag=""
for i in l:
    flag+=chr(65536-int(i))
print(flag)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

访问得到的网站,下载压缩包

https://vnctf-213-1257061123.cos.ap-nanjing.myqcloud.com/Pyongyang%20stores%20low%20on%20foreign%20goods%20amid%20North%20Korean%20COVID-19%20paranoia.rar
  • 1

贴心地提示密码是四位数字
在这里插入图片描述
这里是rar5,不能用ARCHPR爆破,可以使用hashcat

hashcat -m 13000 -a 3 $rar5$16$1349cb834c70bf27bb4e48bb3fbe6975$15$ca4a3bc58278b04d9fba4
d7d52acb196$8$56245cd11e4a1c2e ?d?d?d?d
  • 1
  • 2

也可以使用Accent RAR Password Recovery进行爆破
在这里插入图片描述

得到密码9705,把文件后缀改成zip,发现有hideinfo.xml文件
在这里插入图片描述
最后一层是零宽字符隐写在线解密网站
在这里插入图片描述
拼在一起得到完整flag:
vnctf{APT_1S_c0M1nG_fr0m_l@z@RuS}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/243787
推荐阅读
相关标签
  

闽ICP备14008679号