ctfshow 单身杯-MISC
一.misc签到
1.打开显示加密,题目提示是五位字符,用AR爆破
2.在jpg的末尾发现一串编码
3.base64解密,得到一张没有定位点的二维码
4.与正常的二维码对比一下,会发现这个的黑白区域好像反了 ,用Stegsolve转换一下,补上定位点,QR扫描,得到一串编码
5.编码是十六进制,转换完是一半的flag
6.另一半是在不全的二维码中,用zsteg -a分析得到另一半二维码
7.根据题目,得到flag
ctfshow{Your_potential_value_far_exceeds_your_belief}
二.没大没小的串串
1.题目中得到了flag的md5和打乱大小写的内容,那就是编写脚本,思路就是根据字母内容,改变大小写,md5加密,与给出的md5相对比,学习的大佬的脚本
import hashlib
def letterCasePermutaion(s: str):
res = []
def dfs(idx, n, s:str):
if idx == n:
res.append(s)
return
if s[idx].islower():
dfs(idx + 1, n, s[:idx] + chr(ord(s[idx]) - 32) + s[idx + 1:])
if s[idx].isupper():
dfs(idx + 1, n, s[:idx] + chr(ord(s[idx]) + 32) + s[idx + 1:])
dfs(idx + 1, n, s)
dfs(0, len(s), s)
return res
for s in letterCasePermutaion("y0U_RE4lLy_kn0W_TH1S_ConGr4tUlAT10Ns"):
if hashlib.md5(s.encode(encoding='UTF-8')).hexdigest() == "7513209051f455fa44d0fa5cd0f3e051":
print(s)
print("success")
exit()