2016年2月28日 星期日

Nginx 用 map module 設定替換變數 - 資安攻防戰

此篇紀錄 Nginx 的 map module 的使用方式,參考官網 map module 是用來替換變數,本篇使用的範例為 user-agent、query_string

 

map 只能放在 http 的 scope 裡面
Syntax:	map string $variable { ... } 
Default: —
Context: http

2016年2月22日 星期一

OS X 被限制的 Homebrew : GitHub API rate limit exceeded for ip

Homebrew 是 OS X 裡面的套件管理工具,在使用的時候如果大量更新或是 search 時常會出現
Error: GitHub API rate limit exceeded for ip. See http://developer.github.com/v3/#rate-limiting for details. You may want to create an API token: http://github.com/settings/applications and then set HOMEBREW_GITHUB_API_TOKEN.

 

這是 homebrew 在 API 上的限制,避免被大量佔用流量,在訊息中有提到可以到 github 去建立 api token,但是鏈結在 https://github.com/settings/tokens

Parse.com 停止服務? 建立自己的 Parse API Server 吧!

今年原定公司要開發 App,必須要擁有一台 Push Notifications Server,剛好 Facebook 於 2016年1月28日,在宣布關閉 Parse.com 平台服務的同時也提供了 PrasePlatform Source code,趁這個機會也將來測試這個頗為熱門的 App cloud database

 

Parse.com 提供的主要服務為推播訊息、雲端資料庫

 

Parse 系統架構是採用 NodeJS、MongoDB、其特色是跨平台iOS/OSX/Android/Unity/.NET  .. 等等各種 API

基於種種考量,我還是習慣使用自己掌握的住的服務,而不是使用大型服務商所提供的服務,為的就是避免這種大型營運商突然停止服務的狀況,逼的自己必須緊急尋找替代方案,在時間的逼迫下容易迫使無法考量好各種需求,尤其是系統這種東西並不是說更換就能夠更換的,影響到的並不是單一產品,而可能是整間公司的營運。

 

其實在建立 parse 的過程中也花了兩三天的時間去了解,以目前的資料來說,並不算齊全,在功能上比起營運商所提供的服務減少了許多,目前算是 OpenSource 的陣痛期,相信之後會有越來越多的開發功能可以使用

2016年2月18日 星期四

CentOS 6.7 編譯 Node.js 4.3.1 later

在 CentOS 6.7 要編譯 Node.js 4.0 以上的版本必須將你的 gcc 升級至 4.8 以上,否則在 configure 的過程中將會遇到以下錯誤

 

WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++)

 

要安裝更新版本的 gcc 必須依靠 SCL套件庫 來安裝

2016年2月17日 星期三

Codeigniter(CI) 使用 CSRF 功能造成 POST 403

今天在工作上遇到在某一個開發站台 URL 在使用瀏覽器 和使用 JS 去 call URL 的 response 有不同的狀況

 

雖然是一樣開啟 URL,但 resquest 的方式不同造成的回應也有所不同,這就是之前在測試滲透技巧中的一環

 

狀況說明:

  1. 使用 POST 會出現 403 沒有權限 (JS)

  2. 使用 GET 可以出現正常的 response (browser)


2016年2月16日 星期二

2016年2月15日 星期一

Linux / Unix 加速 ssh 登入速度

在遠端登入 Unix 系統的時候,不知道各位是否有感覺 ssh 服務是否有時候會等待很久的一段時間,這是由於 ssh 預設的連線連線模式會進行 IP 反查,如果你的網路速度不夠給力,或是查詢速度過慢,就會花費大量的時間在等待 IP 反查,一般狀況下並不會進行 IP 反解,造成延遲過慢

2016年2月3日 星期三

Nginx:nginx could not build the server_names_hash 處理方式

這幾天在 Nginx 重啟時出現警告訊息:

 

如果在 Nginx 內有大量的域名定義,或是命名特別長的域名定義,就會產生此警告訊息,遇到這個狀況可以調整 server_names_hash_max_size 和 server_names_hash_bucket_size 這兩個參數

 

一般處置只需要調整 server_names_hash_bucket_size 這個大小就可以解決,預設此值 32 / 64,這取決於你的 CPU cache line size

2016年2月1日 星期一

用一張圖上手 python

剛剛在某個網站看到一篇 python 十分鐘上手的文章,裡面包含了一張圖,我覺得很棒,特此紀錄

 

CentOS 用 sosreport 一鍵搜尋所有的系統資訊

最近在編寫 script 的時候找到一個非常好用的工具 sosreport ,sosreport 是用來蒐集系統資訊的工具,並且把所有的功能都模組化

 

而且他是使用 python 2.6 編寫的,完全開放原始碼,是拿來練習非常好用的範本,也可以拿來編寫 script 大量搜尋 Server 資訊