Flash 的 crossdomain.xml 架構問題

在「"Lax" Crossdomain Policy Puts Yahoo Mail At Risk」這篇裡面看到不安全的 Flash 造成的問題:「Seizing Control of Yahoo! Mail Cross-Origin... Again」。

找有問題的 swf 檔案 (hosting 在 crossdomain.xml 允許的網段下),然後利用 injection 或是根本就沒檢查權限來打趴... 把 swf 當跳板用就是了 :p

文章後面那個 Disclosure Timeline 看起來頗心酸 :o

GNU GPLv2 的判例

OSNews 上看到 GNU GPLv2 在美國的判例:「The GNU GPL to be tested in court」。

引用的報導在「GPLv2 goes to court: More decisions from the Versata tarpit」這篇,裡面有幾個角色:

  • Ximpleware:撰寫了一套 XML parser,同時以 GPLv2 與商用版權釋出。
  • Versata:在自家產品 DCM software 使用了 Ximpleware 的 XML parser,依照後面的訴訟,看起來是沒有付錢買商用版本。而 DCM software 裡面沒有引用 GPLv2 條款,同時也當然沒有公開程式碼。
  • Ameriprise:付錢給 Versata 購買 DCM software 使用權的公司,另外取得 Versata 的授權,可以找外包商修改 Versata 的 DCM software。
  • Infosys:Ameriprise 的外包商。

起因在於 Versata 不爽 Infosys 拿他們的軟體開發同性質的軟體,結果告下去後這件事情牽扯到 GPLv2 的授權問題。

然後 Ximpleware 也跳出來告了所有人,還因為專利關係,告了 Versata 的其他客戶。

問題分成兩塊討論,一塊是 copyright,另外一塊是 patent。看了一下文章的說明,案子似乎還沒結束,但已經有些結論出來了。

在 copyright 的部份,法院要求明年二月底前必須上 patch 修正問題。也就是 GPLv2 的感染力是有效的,如果你不打算服從就要賠錢,然後把 GPLv2 程式碼拔乾淨。

而 patent 的部份有點複雜啊... Ximpleware 的控訴都不成立,不過理由沒有看懂 @_@

等有更多時間再來看其他的說明研究...

Windows 7 的無線鍵盤 icon 出現麵包機 icon 的原因...

Super User 上出現這個問題:「Why does Windows think that my wireless keyboard is a toaster?」,無線鍵盤變成麵包機 XDDDDDDD

原因是出自 Microsoft 提供程式碼範例的預設值 (Sample DeviceInfo XML Data),如果廠商寫 driver 時沒改,就會變成這樣 XDDDDDDDDD

用 XML External Entity 取得 Google 伺服器內的資料

前幾天有人成功利用 XML External Entity 安全問題,取得 Google 伺服器內的資料:「How we got read access on Google’s production servers」。

可以看到上圖是 /etc/passwd 的內容...

XML Parser 預設有太多功能是根本不會想要用到的,沒有注意到而忘記關掉就會中獎...

在 JSON 裡的 XPath...

在「Please. Don't Patch Like An Idiot.」這篇文章裡看到「JavaScript Object Notation (JSON) Pointer」(RFC 6901)。

類似 XML 的 XPath,JSON Pointer 可以查詢 JSON object。

比較特別是拿 ~ 這個符號當特殊字元,原本的 ~ 變成 ~0,而 / 變成 ~1,所以這個 JSON object:(取自 RFC 內的範例)

{
      "foo": ["bar", "baz"],
      "": 0,
      "a/b": 1,
      "c%d": 2,
      "e^f": 3,
      "g|h": 4,
      "i\\j": 5,
      "k\"l": 6,
      " ": 7,
      "m~n": 8
   }

使用這些 JSON pointer 會得到後面這些結果:

    ""           // the whole document
    "/foo"       ["bar", "baz"]
    "/foo/0"     "bar"
    "/"          0
    "/a~1b"      1
    "/c%d"       2
    "/e^f"       3
    "/g|h"       4
    "/i\\j"      5
    "/k\"l"      6
    "/ "         7
    "/m~0n"      8

規格還蠻簡單的...

AWS IAM 支援 SAML 2.0

剛剛看到 AWS 宣佈 AWS IAM 支援 SAML 2.0:「AWS Identity and Access Management Using SAML」。

SAML 是 Single Sign-On 協定的一種,2001 年就推出來了,不過其中用到的架構頗為複雜,由於是 XML 交換技術,再加上要在 XML 上面簽名 (XML Signature),其實我不是很喜歡這東西... @_@

當初會硬要接觸是因為 Google Apps 的 SSO 是使用 SAML,真是懷念啊...

由於是個公開標準,有不少企業 SSO 方案都有支援 SAML。而 AWS IAM 支援 SAML 就相當於讓控管的部份整合起來了... 我好像也應該來弄弄了?