iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
Security

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

[2021鐵人賽 Day13] General Skills 10

  • 分享至 

  • xImage
  •  
  • 引言
    今天會講兩題,因為第二題是我們講過的,就當作複習吧!
    第一題繼續延伸進位制,第二題是已經出現很多次的 nc

  • General Skills / 2Warm
    https://ithelp.ithome.com.tw/upload/images/20210928/20111429t9Ay6eaWxI.png
    這題一樣是考進位制轉換,要求從10進位轉到2進位。
    我們試著用 Python 來解這題,在此之前需要先介紹一個函式: bin()

    bin() 可以將整數轉換成二進制形式的字串,
    此字串前面會有 0b 前綴 (可參考昨天的文章)
    e.g. bin(17) 會得到 '0b10001'

    你也可以搭配八進位、十六進位的數來轉換:
    e.g. bin(0o13) -> '0b1011'
    e.g. bin(0x3c) -> '0b111100'

    所以寫一個 Python 檔,用 bin() 來轉換,並去掉 0b 前綴:

    # base.py
    print(bin(42)[2:])
    

    [2:] 代表要從第2個 index 開始取到最後全部,
    因為這邊想要把第0位、第1位的 0b 去掉。

    同理,更多例子:
    [:5] 代表前面全部,一直取到第4位,要注意後面的數字不包括。
    [:-1] 中的 -1 代表倒數第1位,因此表示從前面一直取到倒數第2位為止。

    $ python base.py
    101010
    

    將 101010 用 flag 格式包住:
    picoCTF{101010}

  • General Skills / what's a net cat?
    https://ithelp.ithome.com.tw/upload/images/20210928/20111429cfBYRrGTxC.png
    這題是純粹 nc 命令題,
    可以參考第7天的文章 了解 nc 使用方法。

    照題目的意思打上命令:

    $ nc jupiter.challenges.picoctf.org 64287
    

    連線到 jupiter.challenges.picoctf.org 這個主機,並連接 64287 號 port 。
    這樣就能跟在這個 port 上監聽的程式溝通了,
    連上伺服器後 flag 就跑出來了:

    You're on your way to becoming the net cat master
    picoCTF{nEtCat_Mast3ry_284be8f7}
    

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

尚未有邦友留言

立即登入留言