WP-2022泰山杯crypto之x+1

文章介绍了如何通过ASCII异或运算解决CTF中的隐藏flag问题,提供了一个Python脚本实例。
摘要由CSDN通过智能技术生成

前言:重温了一下泰山杯的题目,拿出来仍然恨恨的


题目:
描述:x+1计划需要flag
内容:[13, 12, 7, 29, 31, 86, 87, 87, 12, 91, 0, 83, 0, 10, 80, 86, 86, 1, 1, 7, 5, 0, 81, 2, 4, 1, 25, 5, 7, 10, 92, 5, 7, 5, 2, 86, 68]

解析

这道题目,提示就是个x+1,然后给的内容是一串数字,谁能想到,用的是异或xor!!!
题目的关键,是作为ctfer都懂的标志性字符串flag{
f的ascii为102
l的ascii为108
a的ascii为97
g的ascii为103
明白的小伙伴现在已经明白了!
没错!!!
就是ord('f')^13!!!
ord(‘f’)^13=107=ord(‘l’)-1
ord(‘l’)^12=96=ord(‘a’)+1
.
.
.
就问你6不6!
规律找到了。脚本跑一下就出来了!

data = [13, 12, 7, 29, 31, 86, 87, 87, 12, 91, 0, 83, 0, 10, 80, 86, 86, 1, 1, 7, 5, 0, 81, 2, 4, 1, 25, 5, 7, 10, 92, 5, 7, 5, 2, 86, 68]
start_char = 'f'

result = [start_char]

for num in data:
    new_char_ascii = (ord(result[-1]) ^ num) + 1
    result.append(chr(new_char_ascii))

final_str = ''.join(result[1:])
print('f'+final_str)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值