攻防世界-雜項writeup

◆◆

攻防世界-雜項

◆◆

長期更新一波 攻防世界 的雜項題解

這東西主要靠積累吧

攻防世界:https://adworld.xctf.org.cn

新手練習區

1、this_is_flag

題目直接給出了 flag

2、ext3

主要考察 linux 下光碟的掛載

strings 文件名 | grep flag

搜索文件中的可列印字元 grep:全面搜索正則表達式並把行列印出來

使用命令:mount linux ./linux_cd

將 linux(文件名) 掛載到 linux_cd 目錄下,正常訪問 O7avZhikgKgbF 文件夾即可看到 flag 文件,再經過 base64 解碼得到最終 flag

3、give_you_flag

動態圖,一幀一幀看(我用的是愛奇藝萬能播放器),在第50幀有個二維碼,但是少了三個定點陣圖案,用 PS 補上,掃碼得到 flag

4、pdf

下載下來直接把編輯 PDF,把圖片拿開就可以看到 flag

5、堅持60s

一個 java 小遊戲,用 jd-gui 打開,直接搜索:flag,得到,結果需要 base64 解碼

6、如來十三掌

打開 doc,與佛論禪編碼:http://www.keyfc.net/bbs/tools/tudoucode.aspx

解出來先 rot-13,然後 base64

7、gif

白為0,黑為1

01100110011011000110000101100111011110110100011001110101010011100101111101100111011010010100011001111101

二進位轉字元串得到 flag

8、SimpleRAR

打開只有一個 flag.txt,但是用 winhex 打開發現應該還有一個 png 文件,

將這裡改成74

再打開就看到了 png 文件,winhex 發現其實是個 gif 將後綴改成 gif

分離出來(我用的是 PS),然後用 Stegsolve 查看

把這個二維碼拼起來,再把定位標誌補上掃碼得到 flag

9、掀桌子

網上師傅們給出的解密程式碼

string = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2"  flag = ''  for i in range(0,len(string), 2):      s = "0x" + string[i] + string[i+1]      flag += chr(int(s, 16) - 128)  print(flag)

每兩個一組,將16進位轉換為10進位,減去128以後輸出 ascii

10、功夫再高也怕菜刀

下載到一個流量包,有 foremost 分離一下

得到一個壓縮包,裡面有 flag 文件,爆破就別想了(太複雜),

分析流量包!!

ctrl+F 搜索字元

選擇第1150個,右鍵,追蹤流 -> TCP 流

把這些保存下來

從 FFD8FF 開始到 FFD9 複製出來

打開 winhex 新建一個文件,把上面的粘貼進去,注意,選擇 hex

可以看出是個 jpg 了

保存後打開圖片:

用這個密碼打開壓縮包里的 flag.txt

11、stegano

下載 PDF 在火狐瀏覽器打開,控制台輸入:

document.documentElement.textContent

看一下內容,會有一串

BABA BBB BA BBA ABA AB B AAB ABAA AB B AA BBB BA AAA BBAABB AABA ABAA AB BBA BBBAAA ABBBB BA AAAB ABBBB AAAAA ABBBB BAAA ABAA AAABB BB AAABB AAAAA AAAAA AAAAB BBA AAABB

把「A」換成「.」,把「B」換成「-」,得到:

-.-. --- -. --. .-. .- - ..- .-.. .- - .. --- -. ... --..-- ..-. .-.. .- --. ---... .---- -. ...- .---- ..... .---- -... .-.. ...-- -- ...-- ..... ..... ....- --. ...--

解密摩斯密碼,得到:

CONGRATULATIONSFLAG1NV151BL3M3554G3

真正的 flag 是:flag{1NV151BL3M3554G3}

這裡因為格式不對,浪費了幾個金幣查看 writeup,結果 writeup 也沒說格式,還是自己試出來的

12、base64stego

這個題接觸了一種叫 base64 隱寫的類型

python2 解密腳本:

#coding=utf-8  def get_base64_diff_value(s1, s2):      base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'      res = 0      for i in xrange(len(s2)):          if s1[i] != s2[i]:              return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))      return res    def solve_stego():      with open('1.txt', 'rb') as f:          file_lines = f.readlines()          bin_str = ''          for line in file_lines:              steg_line = line.replace('n', '')              norm_line = line.replace('n', '').decode('base64').encode('base64').replace('n', '')              diff = get_base64_diff_value(steg_line, norm_line)              print diff              pads_num = steg_line.count('=')              if diff:                  bin_str += bin(diff)[2:].zfill(pads_num * 2)              else:                  bin_str += '0' * pads_num * 2              print goflag(bin_str)    def goflag(bin_str):      res_str = ''      for i in xrange(0, len(bin_str), 8):          res_str += chr(int(bin_str[i:i + 8], 2))      return res_str    if __name__ == '__main__':      solve_stego()

高手進階區

1、Excaliflag

使用 Stegsolve 在藍色通道為0的時候發現 flag

2、簽到題

base64 -> 凱撒 -> 柵欄

注意根據題目背景,是SSCTF,凱撒的時候看到 ssC 選擇那一個進行柵欄

未完待續...

文章後續更新:

Tags: