Sunday, October 05, 2014

用台灣的本土文化交流就是這麼歡樂 - 台灣三太子

誰說文化交流一定要用那些繼承過來文謅謅的中國文化, 用台灣的本土文化交流就是這麼歡樂.



以下內容轉錄自 YouTube, 版權為創作者所有.



Friday, September 26, 2014

Bash CVE-2014-6271 和 CVE-2014-7169 漏洞暫時解法

今天收到長官指示要看這一篇

Bash Shell 漏洞威脅不小於 Heartbleed!Unix-Like 作業系統請儘速更新


才剛升級完成, 也做出第一版的升級原始碼給抓不到 RPM 的機器. 就又收到同事的晴天霹靂.

  Bash Shellshock Command Injection Vulnerability (CVE-2014-6271 and CVE-2014-7169)


真是雙重打擊效(笑)果好?!

目前現況: EL6 可以直接升級, 但是只解決 6271. FreeBSD 9 及 10 使用 ports 升級也是一樣. 只有 Ubuntu 的更新版本可以直接修掉 6271 及 7169. 小弟自己從 GNU 下載並且已經上好 patch . 接著再從 Ubuntu 中挖出 patch 檔. 成果就放在雲端硬碟中, 歡迎大家取用.

目前測試過的平台 EL6 x86_64, EL5 x86_64. FreeBSD 尚未測試. (要不是剛好要去當工作人員, 應該可以更早做出來)

檔案在此 https://drive.google.com/folderview?id=0B1TOrKgNeD45N0VxQWZ1c1JrU0U&usp=sharing

PS: 由於這是應急沒有經過官方完整測試的版本, 請勿上到重要的環境. 後果請自負.
PS2: 解法是由高手找出來的, 不要問我喔!甘溫.

服用方法很簡單
1. 解開壓縮檔
2. 到目錄下 ./configure
3. make
4. make install
5. 程式會將 bash 安裝到 /usr/local/bin
6. 測試沒問題請想辦法蓋掉 /bin/bash
收工

祝 大家有個忙碌的週末. ^^;;;

Sunday, August 03, 2014

掃描子網路下的主機是否有開啟服務埠口

這個計畫的目的是找出子網路下有哪些主機提供服務, 目前只有簡單的偵測 Ping(ICMP), Web(80), DNS(open resolver), SSH(22), SMTP(25). 未來將陸續增加偵測服務的項目. 雖然已經有 nmap 等優秀軟體, 不過仍舊希望能發展出簡易的程式, 更希望能匯聚更多偵測點讓資料搜集時間縮短. 接下來將開始設計資料庫結構及提供查詢的API.

目前尚有資料來源的問題, 就是各國網段清單. 目前是從 ip2nation 計算出網段. 但是這個資料並不是即時資料, 所以如果有哪位大德知道去哪找免費的清單, 請不吝告訴在下.

專案網址: https://github.com/jengyic/IP_Research

Thursday, June 26, 2014

嘗試將大量的 IPv4 位址放在記憶體且快速找到

首先, 這是個緊急的需求, 所以沒時間慢慢磨演算法. 第一時間想到的是變成無符號整數放到陣列, 初始化時使用 quick sort 排序, 搜尋使用 binary search. 果真是太嫩了, 實作出來之後, 效能非常普通.

陣列搜尋

好吧! 只好拿出記憶用起雜湊表, 雜湊函數十分簡單. 第一版: 取高低 16 bits 進行 XOR 取得 bucket 位置, 再建立單向鍊結串列. 第二版為了有效縮短串列, 使用 24 bits 進行 XOR.

第二版

測試數據為從某台 TLD NS 的某一段時間所有來訪的 IPv4 (524,860筆), 搜尋測試為 100,000 次(命中與不命中次數為 1:1, 唯一缺點就是沒有每次跑雜湊函式, 有空再來重作一次測試). 測試結果如下.

測試結果

結論是適合的演算法比較重要, 繼續尋找更快的演算法.

題外話: printf 真是超級耗時的, 可以從不輸出資料的測試結果看出.