發表文章

Source Code 與文件的存放方法

到底要怎樣存放source code 與文件? 這問題困擾我很久, 時常東西散落在硬碟四處, 以下是我使用過得工具經驗. - Gitlab 寫文件很方便, 嵌入圖片也不錯用 也可以放code - Dokuwiki 優點: 寫文件很方便, 嵌入圖片也不錯用, 但我不能拿他來放code 困擾點 有時候要找文件或是自己整理過的文件, 發現用檔案找有這麼點麻煩, 如果這文件是放在網頁上(dokuwiki, gitlab)的話, 似乎搜尋關鍵字就比較方便

駭客比賽到底在比什麼?

競賽考驗包括系統安全、演算法、密碼學以及程式設計功力,這類競賽能培訓高階資安人才,讓他們有一較高下的舞台,發展自今有兩種較常見的比賽模式 Jeopardy 和 Attack and Defense。 Jeopardy 名稱來自美國 1960 年代的智力問答節目,在有限的題目中,所有隊伍比賽解題的數量與速度,常見的題目類型有: Reverse、 Pwnable、 Crypto、 Forensics、 Misc。 Reverse 逆向工程類型:通常由主辦方給一個或多個Binary, 過關所需要的Key通常加密藏在執行檔裡,要將程式逆向分析出後才能找出。 Pwnable 分析弱點或漏洞類型:主辦方會給一個有弱點的程式或 Server 執行檔,主辦方自己會開一台伺服器跑該服務,參賽者要透過靜態分析與動態分析來找出該程式的弱點。例如: Buffer overflow、命令注入等,在遠端伺服器利用漏洞來執行任意指令,進一步取得存在遠端伺服器的金鑰。 Crypto 破譯類型:意指主辦方會給加密過的密文、加密程式,參賽者必須分析加解密演算法甚至需要找出演算法的弱點來破解出真正的明文。 Forensics 鑑識類型:表示主辦方會要求參賽者從封包、 log、 memory dump、 disk image、 VM image 鑑識出隱藏在之中的金鑰。 Misc 主要沒有較明確的分類:像是給個遊戲要想辦法作弊破到幾百萬分、給一個壞掉的 QR code 嘗試修復,或是給張圖片要找出相關的人事物等。 Attack and Defense 相較於 Jeopardy 就殘酷許多,主辦單位會為所有參加的隊伍準備需要守護的伺服器,這台伺服器上會有網頁,遊戲或其他特殊用途的服務。每個服務都有數個漏洞,漏洞可能只是簡單的資訊泄露,阻斷服務; 也可能是一個嚴重的漏洞讓客戶端可以在伺服器上執行任意指令。 參賽的隊伍需要做的事情,就是守護好自己的伺服器,然後打進對手的伺服器偷取 Token。守護好自己的伺服器必須要能正常提供服務。若服務沒有正常運作,每一回合都會扣分,扣的分數平均分配給服務正常的隊伍。而正常運作的服務若沒有將漏洞補上,就會被其他隊伍利用來偷取伺服器上的檔案 – token。 只要被搶走 token,該回合一樣被扣分,由搶到該 token 的隊伍平分。 每...

C++11 std::thread

今天來學習一下C++11的thread,直接貼上範例 thread 分為下列兩種  - join  - detach join()會等待執行續執行完畢才繼續往下執行,detach 則反之。 #include <iostream> #include <thread> using namespace std; void func_count(const char *str, int &count) { for (int i = 0; i < 3; i++) { count++; printf("%s n=%d\n", str, count); } } int main() { int count1 = 0; int count2 = 0; int count3 = 0; thread t1(func_count, "thread1", ref(count1)); thread t2(func_count, "thread2", ref(count2)); thread t3(func_count, "thread3", ref(count3)); printf("main thread, conunt1=%d, conunt2=%d, conunt3=%d\n", count1, count2, count3); t1.join(); // wait for t1 thread t2.join(); // wait for t2 thread t3.detach(); // no wait for t3 thread return 0; }

Ubuntu Sublime Text 3 輸入中文

參考 https://github.com/shengyu7697/sublime-imfix.git 這篇作法

launch Sublime application in tmux

1. Install reattach-to-user-namespace brew install reattach-to-user-namespace 2. 加入alias vim ~/.bash_aliases alias subl='reattach-to-user-namespace subl' 

echo color text

1. 印出全部red echo -e "\033[0;31mHello World\033[0m" 2. 印Hello(red) 印World(no color) echo -e "\033[0;31mHello\033[0m World" 3. shell script ``` RED='\033[0;31m' NC='\033[0m' # No Color echo "$RED""Hello World""$NC" ``` 4. 下列為常用的顏色表 Black 0 ; 30 Dark Gray 1 ; 30 Red 0 ; 31 Light Red 1 ; 31 Green 0 ; 32 Light Green 1 ; 32 Brown / Orange 0 ; 33 Yellow 1 ; 33 Blue 0 ; 34 Light Blue 1 ; 34 Purple 0 ; 35 Light Purple 1 ; 35 Cyan 0 ; 36 Light Cyan 1 ; 36 Light Gray 0 ; 37 White 1 ; 37

setup .bashrc

按照下列方式設定,讓系統可以使用~/bin的script 1. ~/.bash_profile 通常 .bash_profile 預設會調用 .bashrc 在 ~/.bash_profile 會看到下列程式碼,如沒有可以加入下列程式碼 ``` if [ -f ~/.bashrc ]; then         . ~/.bashrc fi ``` 2. ~/.bashrc 將自己常用的script 放在 ~/bin 下 再加入 PATH 系統變數 ``` export PATH=~/bin:$PATH ```