Portfolio
作品集
研究所時期
主題
連結網址
說明
程式安全 Computer Security 2023 FALL hw0
連結網址
CTF 、學習筆記
程式安全 Computer Security 2023 FALL tool
連結網址
CTF 、學習筆記
Randomized Algorithms
連結網址
學習筆記
大學時期
主題
連結網址
說明
pwnable tw writeup ( start )
連結網址
CTF PWN
Travel Vision 大數據視覺化
連結網址
國立中正大學資訊管理學系畢業專題
The Detection of Fake News
連結網址
國立中正大學資料探勘期末報告
Artificial Neural Network
連結網址
國立中正大學 AI 助教 slide
SHELL CTF 2022 writeup
連結網址
CTF writeup
Google CTF 2021
連結網址
CTF
2019 Trendmicro CTF Wildcard 400
連結網址
CTF 威脅分析 ...
About_Sharkkcode
關於我
常用 Nickname : Sharkkcode 、 sharkkcode 、 Shark|||
熱衷於程式設計、資訊安全、人工智慧以及教育。
我的基本資訊
資訊
連結或內容
Gmail
fuhanpan.zzz@gmail.com
Instagram
_river________
BLOG 文章整理、作品整理、導覽
連結
Github 個人頁面
連結
我的資安經歷
第八屆臺灣好厲駭
第七屆臺灣好厲駭
第六屆臺灣好厲駭
Hitcon 2022, 2023
AIS3 2022
SHELL CTF 2022
Google CTF 2021
NISRA 2021
此 Blog 所使用的圖片大多都來自 這裡 、自行攝影或經作者同意使用,如果有需要標明出處、作者等等資訊或者覺得有不當使用的地方等等,可以聯絡我討論,謝謝!
Randomized Algorithms
Randomized Algorithms
這邊是我對 Randomized Algorithms 的一些筆記與理解。
Lecture 01 : Events and Probability
Outline
Experiment ( 試驗 ) and Sample Space ( 樣本空間 )
Events ( 事件 ) and Probability ( 機率 )
Union Bound ( 布式不等式 )
Experiment
A process to produce an outcome.
Random Experiment
Experiment whose outcome is not known until the process is done.
Sample Space
The set of all outcomes of an experiment.
Events
A subset of the sample space.
Probability
A function Pr to measure the chance for each event to occu ...
耶誕節交換禮物 Web CTF Writeup
耶誕節交換禮物 Web CTF Writeup
這篇大致整理了我 2022/12/24 的解題筆記,再不整理可能 WEB 基礎都要忘光光了 QQ
當天剛好可以報名交換禮物活動但我 ... 懶 XD
Welcome
此題被分類在 Frontend 類別。
網頁分析
網頁上好像沒有什麼有趣的東西,所以我打算開 Burp Suite 檢查看看有沒有攔截到什麼有趣的訊息。
使用 Burp Suite 分析
先開啟一個新的專案,因為我們要攔截流量,所以我們選 Proxy --> HTTP history --> Open Browser ,接著用那個新開的 browser 輸入題目網頁的網址,這時 Burp Suite 應該就會有一些資訊,像是顯示發送出甚麼 request 給 server 之類的。
我們通常會點找有興趣的 request 然後右鍵 Send to Repeater 去檢查發送這個 request 會得到什麼 response 。
接著我們可以點選 Repeater 檢查剛剛轉過去的資料,這邊我們重新送出這個 request 時會發現 response 會 ...
程式安全 Computer Security 2023 FALL tool
程式安全 Computer Security 2023 FALL tool
目前應該是按照我解出的順序整理 writeup 。
發現平臺被默默放上兩題,但是分數都是 0 ,應該是工具相關的練習
tool, web-practice, 0
tool, pwntools-practice, 0
tool, web-practice, 0
http://edu-ctf.csie.org:54321/
這題有給網頁後端的 source code 如下:
import osimport http.serverimport socketserverfrom datetime import datetimePORT = 54321class Handler(http.server.SimpleHTTPRequestHandler): def do_GET(self): print(f'GET {self.client_address[0]}:{self.client_address[1]} {self.path& ...
程式安全 Computer Security 2023 FALL hw0
程式安全 Computer Security 2023 FALL hw0
目前應該是按照我解出的順序整理 writeup 。
加簽路途中經過的 XX 小徑
去程
回程
HW0, Baby Hook, 20
nc edu-ctf.zoolab.org 10002
會拿到一個壓縮檔 hw0-pwn_92b26057bc6668d5.zip ,解壓縮之後進去可以翻到以下檔案以及資料夾:
這樣看來應該是要把 docker build 起來,所以就直接 build ,並且下 -d 使其可以再背景執行: ( 要先安裝 docker 跟 docker-compose )
sudo docker-compose buildsudo docker-compose up -d
接下來要做的就是察看 container id 並利用該 id 進入 container 的指令介面。
查看 container id :
sudo docker ps -a
進入 container 指令介面:
sudo docker exec -it <container_id> /bi ...
Break_x86_ISA_Paper_Reading
Break x86 ISA Paper Reading
這邊整理一下,最近讀的這篇論文相關的筆記,也順便做了一個報告的 slide 。
論文名稱: Breaking the x86 ISA
這篇論文主要是給出一個可能可以探索 x86 ISA 的方法。
這邊其實還有一張投影片在 demo 我在 VM 與實體機器上面執行的結果,確實是可以分辨兩者的不同!不過因為那張是放影片所以就沒放上來。
參考資料:
https://www.blackhat.com/docs/us-17/thursday/us-17-Domas-Breaking-The-x86-ISA.pdf
Jensen Inequality
Jensen's Inequality
定義
假設二維座標平面上 f(x) 是一個 convex function ( 凹向上、凸函數 ) , E 代表期望值函數,那將會有以下性質:
對 x 先取期望值然後再把結果帶入 f 的結果,會 小於等於 先把 x 帶入 f 之後再取期望值的結果。
假設二維座標平面上 f(x) 是一個 concave function ( 凹向下、凹函數 ) , E 代表期望值函數,那將會有以下性質:
對 x 先取期望值然後再把結果帶入 f 的結果,會 大於等於 先把 x 帶入 f 之後再取期望值的結果。
證明
先討論 convex function 的情況。
我們把 x 的期望值代入 f ,得到點 A :
接著把 f 上過點 A 的切線方程式叫做 T 。可以把點 A 帶入 f 的微分式,進而得到斜率,在有斜率且有已知點 A 的條件下,我們可以求出切線方程式 T :
接著利用 convex function 的特性, convex function 上某點 P=(m, n) 的 切線方程式 上的所有 y 座標值必定會小於等於在相同 x 座 ...
A1 Perceptron
Assignment #1 -- Perceptron
題目
我的答案
如何執行 ( Execution Description )
把 perceptron_code.ipynb 檔案以 GOOGLE COLAB 開啟。
點選 執行階段 > 全部執行 。
實驗結果 ( Experimental Results )
題目 1 實驗結果:
我實作 rand_sample_generation 這個 function ,其有兩個參數 pos_n 和 neg_n ,分別代表 positive label 的資料數量以及 negative label 的資料數量。
rand_sample_generation 有定義題目所要求的一直線,如下:
rand_sample_generation 會在 0.7 * x_tmp - y_tmp + 0.3 != 0 的時候才產生樣本,也就是說不會產生落在線上的樣本。
rand_sample_generation 會產生出指定數量的樣本並且以 random.shuffle 打亂順序。
使用以下程式碼便可以產生樣本 ( 樣本附帶 lab ...
Perfect Secrecy
Perfect Secrecy
簡單來說就是已知密文得出明文的機率與直接得出明文的機率一樣。
這邊要來解釋上面那句話的意思,我們要先知道我們要先有一些假設。假設我們有三個樣本空間 M ( 明文 ) 、 K ( 密鑰 ) 、 C ( 密文 ) ,我們要探討其中的機率分部:
M 機率分部:
由 先驗知識 決定,應該是根據一些我們已知的資訊整理而得。
K 機率分部:
由 密鑰生成演算法 決定。
C 機率分部:
由 M 、 K 以及 加密演算法 決定。
列一下算式,這邊我會用 Pr[] 來表示機率,裡面放的是某個被賦予值的參數:
定義以 k 為密鑰的形成的密文集合:
密文為 y 的機率,其中 y 屬於以 k 這個密鑰加密所有可能的明文產生出來的密文集合,故機率的部分是出現機率為兩者相乘:
在明文為 x 的條件下,密文為 y 的機率,其中 x 屬於以 k 這個密鑰解密 y 這個密文所產生出來的明文,故機率就是密鑰機率:
在密文為 y 的條件下,明文為 x 的機率,這邊應該也可以想成已知密文的條件下,得知明文的機率:
如果一個 Crypto-System 具有 Perf ...

