天天看點

如來十三掌 攻防世界一、題目描述二、解題步驟

文章目錄

  • 一、題目描述
  • 二、解題步驟
    • 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