easy_xor
题目:
1 | AAoHAR1WI1BRX1RQJ1AgJVdfI1VXJ1JTJ1BVXiIjVyRRIiMlJRs= |
题目提示为异或
观察,可能是base64,在线解码是乱码,这时要用脚本跑。不要认为乱码就是错的,往下就走不了,试一试对其进行编码或进一步解码。这个时候尽量不要用在线解码,容易出错。
常用的ctf编码解码函数有:
1 | ord() 将单个字符转为ascii |
所以按位对解码后的字符进行异或。那么用什么异或呢?
首先知道flag的形式为flag{.+},所以第一个异或出来的猜测是f。利用xor特点,反求参与xor的参数,base64解码后第一位与f异或结果为f。第二位还是f,第三位也是……于是用f循环异或整个字符串,得到flag。下面脚本:
1 | #coding:utf-8 |