<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>PicoMini by CMU-Africa on picoCTF Writeup</title><link>https://picoctf-writeup.pinjim.dev/tags/picomini-by-cmu-africa/</link><description>Recent content in PicoMini by CMU-Africa on picoCTF Writeup</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 06 May 2026 23:00:00 +0800</lastBuildDate><atom:link href="https://picoctf-writeup.pinjim.dev/tags/picomini-by-cmu-africa/index.xml" rel="self" type="application/rss+xml"/><item><title>Crack the Gate 1</title><link>https://picoctf-writeup.pinjim.dev/posts/web-exploitation/crack-the-gate-1/</link><pubDate>Wed, 06 May 2026 23:00:00 +0800</pubDate><guid>https://picoctf-writeup.pinjim.dev/posts/web-exploitation/crack-the-gate-1/</guid><description>&lt;h2 id="題目連結"&gt;題目連結&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://learn.cylabacademy.org/library/520"&gt;https://learn.cylabacademy.org/library/520&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="題目解法"&gt;題目解法&lt;/h2&gt;
&lt;p&gt;在題目網站的原始碼中，有一行註解&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;!-- ABGR: Wnpx - grzcbenel olcnff: hfr urnqre &amp;#34;K-Qri-Npprff: lrf&amp;#34; --&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;使用 ROT 13 解碼後如下&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;!-- NOTE: Jack - temporary bypass: use header &amp;#34;X-Dev-Access: yes&amp;#34; --&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;根據這行註解提示得知，在 header 中加上 &lt;code&gt;X-Dev-Access: yes&lt;/code&gt; 就可以跨過驗證。&lt;/p&gt;
&lt;p&gt;我們開啟 burpsuite 來攔截修改請求，開啟 intercept，當輸入完帳密後，將請求中加上 &lt;code&gt;X-Dev-Access: yes&lt;/code&gt; 後送出，回應中就能夠看到 flag。
&lt;img alt="burpsuite 攔截請求" loading="lazy" src="https://picoctf-writeup.pinjim.dev/posts/web-exploitation/crack-the-gate-1/intercept.webp"&gt;
&lt;img alt="回應結果" loading="lazy" src="https://picoctf-writeup.pinjim.dev/posts/web-exploitation/crack-the-gate-1/result.webp"&gt;&lt;/p&gt;</description></item><item><title>Corrupted file</title><link>https://picoctf-writeup.pinjim.dev/posts/forensics/corrupted-file/</link><pubDate>Sat, 02 May 2026 18:30:00 +0800</pubDate><guid>https://picoctf-writeup.pinjim.dev/posts/forensics/corrupted-file/</guid><description>&lt;h2 id="題目連結"&gt;題目連結&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://learn.cylabacademy.org/library/519"&gt;https://learn.cylabacademy.org/library/519&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="題目解法"&gt;題目解法&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;下載檔案後，根據題目提示可以知道檔案是一個 &lt;code&gt;.jpg&lt;/code&gt; 檔案，使用十六進位編輯器查看也可以看到開頭有 &lt;code&gt;JFIF&lt;/code&gt;。
&lt;img alt="原始檔案" loading="lazy" src="https://picoctf-writeup.pinjim.dev/posts/forensics/corrupted-file/before.webp"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;不過單純將附檔名修改成 &lt;code&gt;.jpg&lt;/code&gt; 是無法打開的，因為檔案有被修改過。正常 &lt;code&gt;.jpg&lt;/code&gt; 檔案開頭應該是 &lt;code&gt;FF D8 FF&lt;/code&gt;，但是現在檔案開頭是 &lt;code&gt;5C 78 FF&lt;/code&gt;。修改完畢後打開就可以得到 flag。
&lt;img alt="修改過後的檔案" loading="lazy" src="https://picoctf-writeup.pinjim.dev/posts/forensics/corrupted-file/after.webp"&gt;
&lt;img alt="flag" loading="lazy" src="https://picoctf-writeup.pinjim.dev/posts/forensics/corrupted-file/flag.jpg"&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;picoCTF{r3s----------------------558}
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Flag in Flame</title><link>https://picoctf-writeup.pinjim.dev/posts/forensics/flag-in-flame/</link><pubDate>Sat, 02 May 2026 18:00:00 +0800</pubDate><guid>https://picoctf-writeup.pinjim.dev/posts/forensics/flag-in-flame/</guid><description>&lt;h2 id="題目連結"&gt;題目連結&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://learn.cylabacademy.org/library/523"&gt;https://learn.cylabacademy.org/library/523&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="題目解法"&gt;題目解法&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;下載檔案根據提示知道要使用 base64 解碼，可以使用 &lt;code&gt;base64&lt;/code&gt; 指令進行解碼。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;base64 -d logs.txt &amp;gt; img.png
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用 &lt;code&gt;file&lt;/code&gt; 指令可以知道是 &lt;code&gt;.png&lt;/code&gt; 檔案。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;webshell:~$ file img.jpg
img.jpg: PNG image data, 896 x 1152, 8-bit/color RGB, non-interlaced
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="png" loading="lazy" src="https://picoctf-writeup.pinjim.dev/posts/forensics/flag-in-flame/img.png"&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;將圖片中的內容用 hex 解碼後即可得到 flag。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;7069636F4354467B666F72656E736963735F616E616C797369735F69735F616D617A696E675F35636363376362307D
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;picoCTF{for--------------------------------cb0}
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="提示"&gt;提示&lt;/h2&gt;
&lt;p&gt;假設是使用 picoCTF 提供的 webshell，要將檔案下載到本地，可以使用 &lt;code&gt;sz&lt;/code&gt; 指令。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sz img.png
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Hidden in plainsight</title><link>https://picoctf-writeup.pinjim.dev/posts/forensics/hidden-in-plainsight/</link><pubDate>Sat, 02 May 2026 17:30:00 +0800</pubDate><guid>https://picoctf-writeup.pinjim.dev/posts/forensics/hidden-in-plainsight/</guid><description>&lt;h2 id="題目連結"&gt;題目連結&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://learn.cylabacademy.org/library/524"&gt;https://learn.cylabacademy.org/library/524&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="題目解法"&gt;題目解法&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;下載檔案後使用 &lt;code&gt;file&lt;/code&gt; 指令查看檔案資訊，發現 &lt;code&gt;comment&lt;/code&gt; 的內容像是使用 base64 編碼的文字。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;webshell:~$ file img.jpg
img.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: &amp;#34;c3RlZ2hpZGU6Y0VGNmVuZHZjbVE9&amp;#34;, baseline, precision 8, 640x640, components 3
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;將 comment 解碼後得到：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;steghide:cEF6endvcmQ=
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;將後半段再次使用 base64 解碼後得到：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;pAzzword
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;根據解碼內容可以得知要使用 &lt;code&gt;steghide&lt;/code&gt;，密碼為 &lt;code&gt;pAzzword&lt;/code&gt;。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;webshell:~$ steghide extract -sf img.jpg
Enter passphrase:
wrote extracted data to &amp;#34;flag.txt&amp;#34;.
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;得到 &lt;code&gt;flag.txt&lt;/code&gt;。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;webshell:~$ cat flag.txt
picoCTF{h1d------------------cd0}
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Log Hunt</title><link>https://picoctf-writeup.pinjim.dev/posts/general-skills/log-hunt/</link><pubDate>Sat, 02 May 2026 04:50:00 +0800</pubDate><guid>https://picoctf-writeup.pinjim.dev/posts/general-skills/log-hunt/</guid><description>&lt;h2 id="題目連結"&gt;題目連結&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://learn.cylabacademy.org/library/527"&gt;https://learn.cylabacademy.org/library/527&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="題目解法"&gt;題目解法&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;下載得到 &lt;code&gt;server.log&lt;/code&gt; 後，使用 &lt;code&gt;cat&lt;/code&gt; 查看發現是很長的檔案，加上 &lt;code&gt;grep&lt;/code&gt; 指令嘗試尋找 flag 開頭 &lt;code&gt;&amp;quot;pico&amp;quot;&lt;/code&gt; 文字。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;webshell:~$ cat server.log | grep &amp;#34;pico&amp;#34;
[1990-08-09 10:00:10] INFO FLAGPART: picoCTF{us3_
[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 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_
&lt;/code&gt;&lt;/pre&gt;&lt;ol start="2"&gt;
&lt;li&gt;發現 flag 都是以 &lt;code&gt;FLAGPART&lt;/code&gt; 開頭，因此再次使用 &lt;code&gt;grep&lt;/code&gt; 指令尋找&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;webshell:~$ cat server.log | grep &amp;#34;FLAGPART&amp;#34;
[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}
&lt;/code&gt;&lt;/pre&gt;&lt;ol start="3"&gt;
&lt;li&gt;將 flag 以合理的順序組合。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;picoCTF{us3-----------------------5fb}
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Riddle Registry</title><link>https://picoctf-writeup.pinjim.dev/posts/forensics/riddle-registry/</link><pubDate>Sat, 02 May 2026 04:30:00 +0800</pubDate><guid>https://picoctf-writeup.pinjim.dev/posts/forensics/riddle-registry/</guid><description>&lt;h2 id="題目連結"&gt;題目連結&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://learn.cylabacademy.org/library/530"&gt;https://learn.cylabacademy.org/library/530&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="題目解法"&gt;題目解法&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;下載得到 &lt;code&gt;confidential.pdf&lt;/code&gt; 後，打開會發現很多用黑色擋住的文字，但是不重要，重要的是根據題目提示我們要查看 pdf 檔案的 metadata。要查看 metadata 可以使用 pdf 閱讀器或是 &lt;code&gt;exiftool&lt;/code&gt;(推薦)、&lt;code&gt;pdfinfo&lt;/code&gt; 指令來查看，也可以用 &lt;code&gt;strings&lt;/code&gt; 指令。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;webshell:~$ exiftool confidential.pdf
ExifTool Version Number : 12.40
File Name : confidential.pdf
Directory : .
File Size : 178 KiB
File Modification Date/Time : 2025:11:07 19:17:33+00:00
File Access Date/Time : 2026:05:01 20:29:29+00:00
File Inode Change Date/Time : 2026:05:01 20:29:29+00:00
File Permissions : -rw-rw-r--
File Type : PDF
File Type Extension : pdf
MIME Type : application/pdf
PDF Version : 1.7
Linearized : No
Page Count : 1
Producer : PyPDF2
Author : cGljb0NURntwdXp6bDNkX20zdGFkYXRhX2YwdW5kIV9jMjA3MzY2OX0=
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;可以看到 &lt;code&gt;Author&lt;/code&gt; 欄位是一串由英文字母及數字且 &lt;code&gt;=&lt;/code&gt; 結尾的亂碼，可以推斷是 base64 編碼，解碼後得到 flag。&lt;/p&gt;</description></item></channel></rss>