[2021铁人赛 Day13] General Skills 10

  • 引言
    今天会讲两题,因为第二题是我们讲过的,就当作复习吧!
    第一题继续延伸进位制,第二题是已经出现很多次的 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}
    

<<:  Day.20 Course Schedule

>>:  [Day 20] Mattermost - 自签凭证绑定 Docker版

Day6 让 scheduler 规划未来

Day6 让 scheduler 规划未来 tags: 铁人赛 前言 昨天讲到了行程的生老死别,那麽...

Day 28. 测试HTTP Status Code

使用SuperTest 使用SSR时,你要负责回应正确的HTTP Status Code。 因为牵涉...

大数据平台:技术架构 - 相关技术列举

大数据的价值在於技术的发展与应用,提升资料采撷、储存及计算能力,才能提升企业核心竞争力。 大数据平台...

Day 29 - 软件物料清单

Hacking for Dummies 这本书主要的概念,总结来说,就是用骇客的思维与手法测试系统中...

[VSCodeVim] Touch Typing 建立良好的键盘操作习惯

盲打(Touch Typing)建立良好的键盘操作习惯 [系列文目录] 如果我们要使用编辑器进行有效...