[Security] HTTP 動詞竄改弱點 (HTTP Verb Tampering)

這是今天有位朋友在 MSN 上問的一個問題,因為我也是第一次看到這個名詞,所以我也上網查了一下,在 Arshan Dabirsiaghi 於 2008 年所發表的 "Bypassing Web Authentication and Authorization with HTTP Verb Tampering" 論文中提到這樣的弱點,但早在 2004 年 Kernelpanik Lab 就已經有研究報告提出這個弱點,主要的原因是在 Web Server 或 Web Application 或 HTTP Endpoint 中,沒有針對 HTTP 動詞 (verb) 去做存取控制所致。

...繼續閱讀 »

[.NET] PropertyGrid 控制項的進階使用:自訂資料檢視與編輯器

最近這一個月事情還真不少,不斷的在嘴砲和務實的角色之間切換,也寫了不少的程式碼,而且為了因應今年 9/13-15 的微軟大拜拜 (Tech.days) 的課程,我還特別寫了支範例程式準備要在課堂上 demo 用,這支範例程式是 Windows Azure Platform 上的服務管理應用程式,核心均來自 Service Management APIs,很快的,就在 Tech.days 2011 Taiwan 研討會中將正式釋出...

...繼續閱讀 »

[Security] 判別式存取控制表 (Discretionary Access Control List) 實作:階段 2,誰能存取,我決定。

我們在階段 1 中已經完成了最基本的 DACL 資料結構,能針對簡單的 CRUD 權限做控制,但一般來說權限設定沒那麼簡單 (尤其是複雜度高又講求安全的系統),很多程式或系統有時無法只單純用 CRUD 就可以解決...

...繼續閱讀 »

[Security] 判別式存取控制表 (Discretionary Access Control List) 實作:旗標的概念

在前一篇文章中,我簡單的說明了 DACL 的資料結構組成,以及簡單的存取方法,如果資料長度愈長的話,可以設定的權限就愈多,也可以有更多的組合,但資料量仍然可以控制在很小的長度,這是因為在 DACL 中,每個權限都是一個旗標值 (flag),而一個 bit 就代表一個旗標,所以 bit 多的話旗標就愈多,一個 byte 可以容納 8 個 bits,也就是可以有 8 種旗標,之所以會選擇位元來作為旗標,是因為 bit 的值不是 0 就是 1,單純有力。

...繼續閱讀 »

[IADP Series] 讓 Silverlight 應用程式也可以進入 IADP 平台 (下)

承前一篇文章,我們已經可以順利的使用 Silverlight 的 Silent Installation 安裝方式將 Silverlight Runtime 包裝在單一個 MSI 封裝中並進行 Silent Installation,以符合 IADP Deployment 的基本要求。在前一篇文章中,在安裝完 Silverlight 後出現了一個空的畫面,那個就是主程式的 Windows Forms 畫面,這個主程式是本文的重點,因為我們要利用它作為載具,讓 Silverlight 的應用程式可以執行。

...繼續閱讀 »

[IADP Series] 讓 Silverlight 應用程式也可以進入 IADP 平台 (上)

點部落的 IADP 挑戰大賽已經在 6/19 順利而圓滿的結束了,而在比賽期間,所有的參賽選手 (包括我) 一共貢獻了超過五十篇以上精彩且具有一定水準以上的技術分享文章,我在此可以拍胸脯保證,只要看點部落的 IADP 系列文章並照做的話,一定可以順利上傳且符合 IADP 的最低要求資格 (但不保證一定會 Published 就是了,因為那要看 Intel 那裡的審核結果)...

...繼續閱讀 »

[Security] 判別式存取控制表 (Discretionary Access Control List) 實作:原型概念

判別式存取控制表 Discretionary Access Control List (DACL),這個自由度頗高的存取控制方法,在 Windows 以及其他作業系統中已行之有年,它最大的特色就是使用者和群組可以擁有自己的存取控制設定,而系統物件也可以擁有自己的存取控制項目,也就是說系統物件不會只有 CRUD 四種權限,還可以因為物件的特性而定義額外的權限,例如存取詮釋資料 (metadata), 列印 (printing) 或是下載檔案 (download) 等權限,discretionary 這個字有 "任意的","無條件的" 的意思,而 DACL 也是讓消費者和生產者可以擁有自己的權限設定,只需要在存取時進行檢查即可。

...繼續閱讀 »

[簡易開箱文] Thinkpad W520 重裝上陣~

這是我近幾年來最重大的投資了,為了要能在 Notebook 上跑 VM 以做 Cloud Development 部份的實驗,而原有的 Dell D830 筆電最大上限只能到 4GB,而且一上了 Hyper-V 就會頓,唉…只能再物色新的筆電了,而且一開始就要看頂級的機種。

...繼續閱讀 »

[.NET] 有關強式名稱 (Strong Name) 的兩三事

Strong Name 是 .NET Framework 中很特殊的一個特性,大多數的 .NET 開發人員不會使用到這樣東西,不過如果是從事 Framework 或是可轉散布型的軟體的開發人員,就需要知道這東西,因為它是一種組件識別 (asembly Identify) 機制,透過 Storng Name,它可以讓使用該組件的開發人員能確定這個組件是來自於建置的廠商或開發人員,而不是從中被竄改過。

...繼續閱讀 »

[碎碎念] 入行十年記事:我的薪資歷程

最近在 PTT 的軟體板 (Soft_job) 出現了一個討論串,每個參與討論的人都有提出自己的薪水歷程,很有趣,不過因為我不太想對付嘴砲,所以我把我自己的薪水歷程寫在這裡,也算是一個記錄。綜觀整個歷程,其實我只有領過一個半公司的薪水而已,其他都是接案,授課,寫書以及其他外快收入,然後自己付給自己的,所以那部份不能算是薪水。

...繼續閱讀 »

[Windows Azure] 讓 ASP.NET 的 Membership, Role 以及 Session State 可用於 SQL Azure 資料庫

Membership, Role 以及 Session State 這三樣是 ASP.NET 2.0 以後其後版本中的重要角色,ASP.NET 內建了數個 APIs 以及預設的 Providers,並透過 aspnet_regsql.exe 在 SQL Server 中可以建立必要的資料庫與表格,供 ASP.NET 應用程式使用。但是,在 SQL Azure 中,這個功能突然不能用了...

...繼續閱讀 »

[Exchange Server] Exchange 2010 Hosted Mode (2): 設定帳戶初體驗

在前一篇文章中,我們已經完成了 Exchange Server 2010 Hosted Mode 的安裝,依預設的設定,第一個組織的設定會以 Active Directory 所在的 Domain Name 為主,以第一篇文章的網域為例,domain name 是 easycloud.net,在安裝完 Hosted Mode 後,Exchange Server 2010 基本上就是一個準備好的環境,不過差別就是一般的安裝會有 Exchange Management Console (EMC),但 Hosted Mode 中只有一樣工具可用:Exchange Management Shell (EMS),也就是說,想要管理 Hosted Mode,只有使用 Powershell 一途,而 EMS 就是管理它的載具。

...繼續閱讀 »

[Exchange Server] Exchange 2010 Hosted Mode (1): 安裝 Exchange 2010 SP1 Hosted Mode

Microsoft Exchange Server 2010 正如每一代的 Exchange Server,作為 Microsoft 的 Messaging 與 Communication 的解決方案,它也是在台灣最流行的 Microsoft 伺服器 (SQL Server 和 Windows Server 除外),每一次的 Exchange Server 升級,都是一次通訊功能的進步,Exchange Server 2007 則是最早要求 64 位元平台的伺服器,而 Exchange Server 現在已經足以作為企業的通訊中心,不再只有 Mail Server 和 Public Folder 而已。

...繼續閱讀 »

[Google] Google Gadget 開發初體驗

昨天被 assign 一個任務,說要在 iGoogle 上開發一個 Gadget 讀取 RSS 來展現系統的最新資料,之前我自己是有寫過 Gadget 的經驗,也當過 Google Gadget 小工具開發競賽的論壇專板板主角色,但那個比賽結束後,我就沒有再接觸 Gadget Development 這一塊了,這次等於是複習 Gadget Development 的工作。

...繼續閱讀 »

邁向架構師的暖身運動 (10) : 動乎?靜乎?

一般來說,設計與規劃一個軟體系統,不外乎是符合需求,具有前瞻性,創新力,或是試水溫等等,不管是哪一種,只要是一個有經驗 (或是現在就在做) 的系統設計師 (系統分析師亦然) 都會想要把軟體系統設計得具有十足的彈性,並且具有無限的擴充性,

...繼續閱讀 »

[Bug 逃走中][ASP/ASP.NET] 移機時,千萬要注意有沒有漏掉的 3-party 元件...

前幾天同事突然跟我求救,原本可以執行的 ASP 程式(你沒看錯,是ASP)在移到新的伺服器後突然不能用了,這樣一來在線上的應用程式全都無法使用,要我去一趟客戶那裡看是有什麼問題,隔天到了客戶那裡後,同事操作了一下重現問題,發現原本 ASP 程式可以收到 request 的內容,但移到新機後,request 全變空白了...

...繼續閱讀 »

[Troubleshooting][SQL Server] 解決在 SQL Server 無法使用 OPENROWSET 執行 stored procedure 的問題

這是今天在處理 SQL Server 查詢需求時的一個問題,我在資料庫中有寫了好幾支的 stored procedure,但這次要拿 stored procedure 的結果再做運算,且會和其他 stored procedure 的結果做關聯,因此我查了一下網路,找到一篇 StackOverflow.com 中的討論,說可以使用 OPENROWSET 解決這個問題...

...繼續閱讀 »