iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
Security

一起資安入門 -- picoCTF 探索與解題系列 第 14

[2021鐵人賽 Day14] General Skills 11

  • 分享至 

  • xImage
  •  
  • 引言
    昨天比較重要的重點是 Python 中括號用法,
    看看下面的練習回憶一下吧:

    a = 'picoCTF'
    print(a[3:5])
    print(a[:4])
    print(a[:-3])
    

    分別會印出什麼呢?想完之後可以自己寫程式對答案哦!

    今天的題目會使用到兩個新工具,也都是很重要的,
    我們就直接開始吧!

  • General Skills / strings it
    https://ithelp.ithome.com.tw/upload/images/20210929/20111429WAr2cdPTBV.png
    首先,題目提供了一個檔案,

    連結名 下載的檔案
    file strings

    下載下來後是一個 strings 檔案,
    題目表示是否可以不執行它來得到 flag ?

    那我們第一件事就是先執行它 (?

    $ chmod +x strings
    $ ./strings
    

    得到輸出:

    Maybe try the 'strings' function? Take a look at the man page
    

    得知可以使用 strings 功能來達成目標,它請我們查看手冊 man

    $ man strings
    

    僅擷取主要說明的部份

    NAME
       strings - print the sequences of printable characters in files
    

    strings 這個命令可以查看所有可視字元,
    因為不是所有字元都是可以看得見的,
    如 ASCII code 的 0~31 號就是不可見的,都有特殊功能。

    strings 尤其對查看執行檔內部資訊相當有用,
    因為裡面大部分都是不可視的,畢竟不是文字檔案。

    簡單使用方式是:
    strings file
    可以印出 file 的所有可視字元並以換行隔開每一個。

    將檔案 strings 用 strings 命令來查看:

    $ strings strings
    

    會印出非常多無意義字串,我們用 grep 篩選:

    grep 這個工具可以在一個或多個檔案中尋找特定形式的字串,
    這裡列出幾個常用用法:

    • grep "xxx" file1 表示在 file1 檔案中尋找 xxx 字串
    • grep "xxx" file1 file2 表示在 file1 與 file2 檔案中尋找 xxx 字串
    • grep "xxx" ./* 表示在目前目錄下所有檔案中尋找 xxx 字串
    • grep -r "xxx" ./* 表示在目前目錄以及所有子目錄下所有檔案中尋找 xxx 字串
    $ strings strings | grep "pico"
    picoCTF{5tRIng5_1T_827aee91}
    

上一篇
[2021鐵人賽 Day13] General Skills 10
下一篇
[2021鐵人賽 Day15] General Skills 12
系列文
一起資安入門 -- picoCTF 探索與解題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言