iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0
Security

picoCTF系列 第 14

[Day 14] ReadMyCert

  • 分享至 

  • xImage
  •  

看到題目,知道會得到一個 CSR 檔案,並且提示告訴我們要讀取 CSR 檔案。
https://ithelp.ithome.com.tw/upload/images/20240818/20168342RFvXosOIVK.png
hint 1:Download the certificate signing request and try to read it.

那什麼是CSR呢?CSR 全名 CERTIFICATE SIGNING REQUEST,CSR 檔案的主要目的是讓 CA 確認申請者的身份,然後 CA 會生成相應的數位證書,這些證書可以用於加密通信和驗證身份。

這裡的 CA 是是 Certificate Authority,中文為數位憑證認證機構,負責簽發和管理數位證書,用於確保公鑰加密和身份驗證的安全性。

兩著之間的關係簡單來說,就是申請者提交 CSR ,然後 CA 對其進行身份驗證。

詳情可參考:CSR(CERTIFICATE SIGNING REQUEST)是甚麼?SSL 用的 Key, CRT, CA Bundle 中繼憑證到底是什麼?

下載檔案後,用 ls 查看,我們得到一個名為 readmycert 的 CSR 檔案。

$ ls
README.txt  readmycert.csr

打開 CSR 檔案,可以發現都是由 “A-Z , a-z, 0-9, =, +, / ” 組成 ,於是我們猜測這個檔案是以 base64 編碼而成。

$ cat readmycert.csr 
-----BEGIN CERTIFICATE REQUEST-----
MIICpzCCAY8CAQAwPDEmMCQGA1UEAwwdcGljb0NURntyZWFkX215Y2VydF81YWVi
MGQ0Zn0xEjAQBgNVBCkMCWN0ZlBsYXllcjCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAMCkf11rmV8rgqPvC2ZiPA6W+5RfOTwU6u3WpGvLA+2YFzocBPut
aATTxTPB+uaN2ZN3Z5J2CTFGmPzI4sUQfSqhZGuAqbfMyDDR8pRswmIYVJ6s0Apc
Toi7H8m3IShSbeE0pZUSIJpbK1a7V6lJqgwFMDI1qrgNhGgZaMA/l+d2J0vC3EYd
AijwSs8APcp6woWbFGYwdw5KaBsjn23oVz2G4h3/TmdB5g5e6Oq+kgi38NEpRDS0
ylXo9mUko3FqS4I6y9gOtDEI4uZaCJZuXHDmBpqZ04MfXbIVlHjF9NMOjDvXLonN
650oaANBm4bhBlgid0Fx48Z36tbtAVivZEcCAwEAAaAmMCQGCSqGSIb3DQEJDjEX
MBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHZx6h9r
G/SE7RCoX6ndk5BOJprRiHpxOqPLAWcDyKHfStln0/HcQZzIrRVRsmoHiOmch+md
PBA1b+M5aj+3BWtPR9jOY4vht+ZmHAKa0WfQxwb2dBxsRPKTTDea0wN2u8BHLlSM
PbWPNuz+TKySL41xfwFuM4VN/ywn58GTvdb7HXgwNZCGgo2N1WhRq/dBMiagXMah
yb6gX4erugCu61T5tyD80hgsNBjaqyIdy/whRfC/Pmn3QHmdkqB5ZCPezwb2OLm4
5RDGv3WOB5q0BofoUGhVq757QE8qhL3oTvV2WlLoi3YWaZkJMCeR3vnH92cKC1Ov
FxdQuLOH8GMvl7U=
-----END CERTIFICATE REQUEST-----

將檔案 以 base64 decode 後,得到 flag。其中 sed -n 2,16p 的意思是提取第 2 到第 16 行的内容。

$ cat readmycert.csr | sed -n 2,16p
MIICpzCCAY8CAQAwPDEmMCQGA1UEAwwdcGljb0NURntyZWFkX215Y2VydF81YWVi
MGQ0Zn0xEjAQBgNVBCkMCWN0ZlBsYXllcjCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAMCkf11rmV8rgqPvC2ZiPA6W+5RfOTwU6u3WpGvLA+2YFzocBPut
aATTxTPB+uaN2ZN3Z5J2CTFGmPzI4sUQfSqhZGuAqbfMyDDR8pRswmIYVJ6s0Apc
Toi7H8m3IShSbeE0pZUSIJpbK1a7V6lJqgwFMDI1qrgNhGgZaMA/l+d2J0vC3EYd
AijwSs8APcp6woWbFGYwdw5KaBsjn23oVz2G4h3/TmdB5g5e6Oq+kgi38NEpRDS0
ylXo9mUko3FqS4I6y9gOtDEI4uZaCJZuXHDmBpqZ04MfXbIVlHjF9NMOjDvXLonN
650oaANBm4bhBlgid0Fx48Z36tbtAVivZEcCAwEAAaAmMCQGCSqGSIb3DQEJDjEX
MBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHZx6h9r
G/SE7RCoX6ndk5BOJprRiHpxOqPLAWcDyKHfStln0/HcQZzIrRVRsmoHiOmch+md
PBA1b+M5aj+3BWtPR9jOY4vht+ZmHAKa0WfQxwb2dBxsRPKTTDea0wN2u8BHLlSM
PbWPNuz+TKySL41xfwFuM4VN/ywn58GTvdb7HXgwNZCGgo2N1WhRq/dBMiagXMah
yb6gX4erugCu61T5tyD80hgsNBjaqyIdy/whRfC/Pmn3QHmdkqB5ZCPezwb2OLm4
5RDGv3WOB5q0BofoUGhVq757QE8qhL3oTvV2WlLoi3YWaZkJMCeR3vnH92cKC1Ov
FxdQuLOH8GMvl7U=
$ cat readmycert.csr | sed -n 2,16p | base64 -d
000<1&0$U
         picoCTF{read_mycert_5aeb0d4f}10U)
0       *H                                      ctfPlayer0"0
]k_+
    fb<_9<֤k:h3ٓwgv       1F}*dk0lbT
\Nɷ!(Rm4 [+VWI
hh?v'KF(J=z   025
f0wJhW=N100U%D4Ue$qjK:n\pӃ]x;.(hAX"wAqwXdG&0$   *H
             0
+0      *H
vqkN&шzq:gȡJgAȭQj震<5o9j?kOGcfgtlDL7vG.T=6L/qn3M,'x05hQA2&\ơɾ_T ,4ګ"!E>i@yyd#8ƿuPhU{@O*NvZRvi   0'g

小結:
了解 CSR 和 CA,並且學會使用 sed 指令。


上一篇
[Day 13] FindAndOpen
下一篇
[Day 15] Custom encryption
系列文
picoCTF30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言