Presentation is loading. Please wait.

Presentation is loading. Please wait.

JS Array Hijacking with MBCS encodings JS Array Hijacking with MBCS encodings MBCS文字コードを使ったJS配列の乗っ取り Apr 4 2012 Yosuke HASEGAWA.

Similar presentations


Presentation on theme: "JS Array Hijacking with MBCS encodings JS Array Hijacking with MBCS encodings MBCS文字コードを使ったJS配列の乗っ取り Apr 4 2012 Yosuke HASEGAWA."— Presentation transcript:

1 JS Array Hijacking with MBCS encodings JS Array Hijacking with MBCS encodings MBCS文字コードを使ったJS配列の乗っ取り Apr 4 2012 Yosuke HASEGAWA

2 NetAgent http://www.netagent.co.jp/ Shibuya.XSS JS Array Hijacking with MBCS  JSON配列を盗み見する方法  文字コードの応用技  Mozilla Firefox 8 / MFSA2011-47で 修正済み

3 NetAgent http://www.netagent.co.jp/ Shibuya.XSS JS Array Hijacking with MBCS  ターゲット  機密情報を含むJS配列  攻撃者が配列の一部をコントロールできる  例えばWebメールの新着通知など  配列内の他のデータも盗み見できる [ "a@example.com","b@example.jp" ] JSON

4 NetAgent http://www.netagent.co.jp/ Shibuya.XSS JS Array Hijacking with MBCS XHR.send(…) [ "a@example.com", "..." ] [ "a@example.com", "..." ] JSON JSON.parse(txt) ユーザ Web mail

5 NetAgent http://www.netagent.co.jp/ Shibuya.XSS JS Array Hijacking with MBCS [ "...0x82", "..." ] [ "...0x82", "..." ] JSONHTML 攻撃者 ユーザ Web mail JSON From: "...0x82"

6 NetAgent http://www.netagent.co.jp/ Shibuya.XSS JS Array Hijacking with MBCS Content-Type: application/json [ " あ ", ",alert(/", "alice", "bob", "/.source)]//" ] Content-Type: application/json [ " あ ", ",alert(/", "alice", "bob", "/.source)]//" ] 攻撃対象のJSON (UTF-8) 攻撃者の用意した罠ページ

7 NetAgent http://www.netagent.co.jp/ Shibuya.XSS Content-Type: application/json [ " あ ", ",alert(/", "alice", "bob", "/.source)]//" ] Content-Type: application/json [ " あ ", ",alert(/", "alice", "bob", "/.source)]//" ] JS Array Hijacking with MBCS 攻撃対象のJSON (UTF-8) あ "" 22 2C22616C,"al 657274 ert E38182 縺 ","alert ? 28 ( ( UTF-8 Shift_JIS [ " 縺, ",alert(/", "alice", "bob", "/.source)]//" ]

8 NetAgent http://www.netagent.co.jp/ Shibuya.XSS Content-Type: application/json [ " あ ", ",alert(/", "alice", "bob", "/.source)]//" ] Content-Type: application/json [ " あ ", ",alert(/", "alice", "bob", "/.source)]//" ] JS Array Hijacking with MBCS 攻撃対象のJSON (UTF-8) あ "" 22 2C22616C,"al 657274 ert E38182 縺 ","alert ? 28 ( ( UTF-8 Shift_JIS [ " 縺 ",",alert(/", "alice", "bob", "/.source)]//" ] 修正された挙動(IEと同じ) "

9 NetAgent http://www.netagent.co.jp/ Shibuya.XSS JS Array Hijacking with MBCS まとめ  そもそもJSONのレスポンスにcharsetつ けてないのがイケてない。  とはいえRFC4627には JSON text SHALL be encoded in Unicode. The default encoding is UTF-8.  攻撃可能なサイトは限定的

10 NetAgent http://www.netagent.co.jp/ Shibuya.XSS JS Array Hijacking with MBCS  MFSA 2011-47: Potential XSS against sites using Shift-JIS http://www.mozilla.org/security/announce/2011/mfsa2011-47.html  690225 – Universal XSS likely with MultiByte charset (e.g. japanese sites) https://bugzilla.mozilla.org/show_bug.cgi?id=690225 もとのタイトルは "JSON hijacking with MultiByte charset"だったのに。 だいぶ盛りすぎ!

11 NetAgent http://www.netagent.co.jp/ Shibuya.XSS 質問 hasegawa@utf-8.jp hasegawa@netagent.co.jp @hasegawayosuke http://utf-8.jp/

12


Download ppt "JS Array Hijacking with MBCS encodings JS Array Hijacking with MBCS encodings MBCS文字コードを使ったJS配列の乗っ取り Apr 4 2012 Yosuke HASEGAWA."

Similar presentations


Ads by Google