天天看点

如来十三掌 攻防世界一、题目描述二、解题步骤

文章目录

  • 一、题目描述
  • 二、解题步骤
    • 1.打开文档
    • 2.对文档内容进行观察
    • 3.把文本输入到框框中
    • 4.使用Python脚本进行编码
    • 5.得到一串新的编码
    • 6.对新的编码进行base64解码

一、题目描述

菜狗为了打败菜猫,学了一套如来十三掌。

文档下载地址:https://adworld.xctf.org.cn/media/task/attachments/833e81c19b2b4726986bd6a606d64f3c.docx

二、解题步骤

1.打开文档

如来十三掌 攻防世界一、题目描述二、解题步骤

2.对文档内容进行观察

容易联想到佛曰----百度搜索与佛论禅

3.把文本输入到框框中

如来十三掌 攻防世界一、题目描述二、解题步骤

把文本输入到第一个框框中发现无法找到任何信息

然后再把文本输入到第二个框框中这时候需要主义输入佛曰:

如来十三掌 攻防世界一、题目描述二、解题步骤

得到一串编码将编码进行rot-13解码

4.使用Python脚本进行编码

脚本代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/10/29 18:08
# @File    : rot13.py
import string
result=[]
upperCase=string.ascii_uppercase
lowerCase=string.ascii_lowercase
upperDict={}
lowerDict={}
print("欢迎来到rot13加密解密界面")
inputStr=input("请输入你要加密或解密的字符串")
while True:
    print("请确认%s是否为你想要输入的字符串,如果正确请输入y,否则输入n"%(inputStr))
    flag=input("请输入你的确认结果")
    if (flag=='y') or (flag=='Y'):
	    break
    if (flag=='n') or (flag=='N'):
	    inputStr=input("请重新输入你要加密或解密的字符串")
    else:
	    print("确认方式不合理")
	    break
for i in range(0,len(upperCase)):
    if i<13:
        upperDict[upperCase[i]]=upperCase[i+13]
    else:
        upperDict[upperCase[i]]=upperCase[i-13]
for i in range(0,len(lowerCase)):
    if i<13:
        lowerDict[lowerCase[i]]=lowerCase[i+13]
    else:
        lowerDict[lowerCase[i]]=lowerCase[i-13]
for ch in inputStr:
    if ch in lowerDict:
        result.append(lowerDict[ch])
    elif ch in upperDict:
        result.append(upperDict[ch])
    else:
        result.append(ch)
result=''.join(result)
print("最终加密结果为%s"%(result))

           

5.得到一串新的编码

如来十三掌 攻防世界一、题目描述二、解题步骤

6.对新的编码进行base64解码

可以在java环境下的notepad++进行解码操作

然后就可以得出

直接对新的编码进行解码 base64解码操作:从notepad++里面找到插件----找mime tools----再找base64 decode即可进行转换。

转化之后可直接显示flag。

ctf