【CTF】加密4——凯撒部长的奖励+一段Base64

凯撒部长的奖励

在这里插入图片描述
提及凯撒很容易就让人联想到凯撒密码,只需要考虑一下参数是多少即可。首先测试的是8,原因是题目中说是8月,得到一串这样的字符:EKO{tqdq_Ue_kAgd_dQiMdp_qzvAk_Uf_Omqemd_ad_omxx_tuy_hUofAd_ue_m_Qjoqxxqzf_ymz_ur_kag_imzf_fa_sqf_tue_uzradymfuaze_kag_omz_vauz_ge}
显然这肯定不是,之后在尝试一下数字7,谁让题目来源是第七季极客大挑战呢~:
FLP{urer_Vf_lBhe_eRjNeq_rawBl_Vg_Pnrfne_be_pnyy_uvz_iVpgBe_vf_n_Rkpryyrag_zna_vs_lbh_jnag_gb_trg_uvf_vasbezngvbaf_lbh_pna_wbva_hf}
依旧不对,之后就是一个一个测试(其实早该想到SYC这个字符串的……)
最终得到`flag{SYC{here_Is_yOur_rEwArd_enjOy_It_Caesar_or_call_him_vIctOr_is_a_Excellent_man_if_you_want_to_get_his_informations_you_can_join_us}

—————————————————————————————————————————————

一段Base64

在这里插入图片描述
入眼可见,题目给了一个txt,打开看到是一对字符,拉到最后突然发现了“==”!!!
在这里插入图片描述
所以不多说直接base64转码~

之后就是密密麻麻的/xxx,仔细观察发现,所有数字都是由0—7组成,猜测可能是8进制,将其转码成16进制

再进行16进制与ascii码的转换
发现其是/uxxxx格式,将其进行unescape转码(escape/unescape是javascript的两种相对应的函数)得到又一串字符
将其中的数字进行ascii码对应转换,之后整合发现又是一堆形如“&#x000”转义符,将其16进制再次转换成ascii码一一对应后依旧是一堆转义符,与之前不同的是这次是一堆10进制转义符(出题者真的用心了!!!)再次转换便得到了我们期待已久的flag~
在这里插入图片描述
这里面的%7B和%7D是没有转换过来的‘{’和‘}’。转换一下即可。
在这里插入图片描述
附上中间所用的python代码:

import base64
from html import unescape
s="那一串原代码"#代码过长,就不在此展示。
a= base64.b64decode(s)
print(a)
a = a.decode()
a1 = a.split('\\')
print(a1)
del a1[0]
print(a1)
a2 = []
for i in a1:
	a2.append(chr(int(i, 8)))
a2 = ''.join(a2)
print(a2)

a3 = a2.split('\\x')
print(a3)
del a3[0]
print(a3)
a4 = []
for i in a3:
	a4.append(chr(int(i, 16)))
print(a4)
a4 = ''.join(a4)
print(a4)
a4 = a4.encode().decode('unicode-escape')
print(a4)
a5 = a4.split(',')
print(a5)
a5[0] = '38'
a5[-1] = '59'
print(a5)
a6 = []
for i in a5:
	a6.append(chr(int(i)))
print(a6)
a6 = ''.join(a6)
print(a6)
a7 = unescape(a6)
print(a7)
a8 = unescape(a7)
print(a8)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值