UnicodeによるXSSと SQLインジェクションの可能性

Hiroshi Tokumaru
Hiroshi TokumaruSecurity Engineer at EG Secure Solutions Inc.
Unicode による XSS と SQL インジェクションの可能性 HASH サルティング株式会社 徳丸 浩
自己紹介
今日は漢字の人です
横浜で ちっちゃな会社 やってます
Web アプリが専門ですが、色々やります
WAF について書いたりしています
それでは始めます
本日のテーマは
文字コード
文字コードって何 ?
文字コード = 文字集合  +  文字エンコーディング
文字エンコーディングネタは結構ある ,[object Object],[object Object],[object Object],[object Object],[object Object],しかし
本日のテーマは
文字集合
文字集合って何 ? 文字通り,文字の集まり   もじもじ
この辺があやしい
特にやばそうなところ (*1) US-ASCII は 7 ビットのコードなので,最上位ビットを無視する結果, 0x25 すなわち「 % 」として扱われる (*2)  中黒(なかぐろ) 0x5C 0xA5 US-ASCII % (*1) JIS X 0201 ¥ ・   (*2) ISO-8859-1 ¥ Unicode ¥
文字集合を変換すると ?
多対一の変換が起こるかどうかは実装依存 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],注目 10 万超の文字を変換して確認するだけの簡単なお仕事です
U+00A5 による SQL インジェクション (MySQL+JDBC) エスケープ( ' -> ' ' ) Unicode -> EUC-JP
U+00A5 による SQL インジェクション (MySQL+JDBC)
XSS はどうか ?
U+00A5 -> 0x5C  の変換による XSS はあり得る
が, JavaScript を動的生成する場合などに限られる
現実的に発生し得るが
そもそも JavaScript の動的生成ってどうよ orz
他にないのか ?
SQL Server の例 ,[object Object],[object Object],[object Object],[object Object]
CP932 と断定していいのか ?
非 Unicode への変換が起こっていることは確かだが CP932 と 断定できない orz
SQL Server の例 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
これをどう活用するか
か,活用かよ orz
悪影響の例 :CSS の XSS 対策
ブラックリスト
XSS 対策が回避されるパターン ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
対策 ,[object Object],[object Object],[object Object],[object Object]
対策 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
第 5 回~第 6 回の 5 回で文字コード説明します
ご清聴ありがとうございました
1 of 40

More Related Content

What's hot(20)

TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについて
moai kids24.8K views
[BurpSuiteJapan]Burp Suite実践編[BurpSuiteJapan]Burp Suite実践編
[BurpSuiteJapan]Burp Suite実践編
Burp Suite Japan User Group7.8K views
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development23.2K views

Viewers also liked(20)

XSS再入門XSS再入門
XSS再入門
Hiroshi Tokumaru88.5K views
CSPの話〜FxOSチューン☆〜CSPの話〜FxOSチューン☆〜
CSPの話〜FxOSチューン☆〜
Yu Yagihashi10K views
CSP Lv.2の話CSP Lv.2の話
CSP Lv.2の話
Yu Yagihashi14.4K views
徳丸本ができるまで徳丸本ができるまで
徳丸本ができるまで
Hiroshi Tokumaru4.9K views

Similar to UnicodeによるXSSと SQLインジェクションの可能性

私のSql -My Sql私のSql -My Sql
私のSql -My Sqlstiq 2e
1.9K views67 slides

Similar to UnicodeによるXSSと SQLインジェクションの可能性(10)

A Reintroduction To Ruby M17 NA Reintroduction To Ruby M17 N
A Reintroduction To Ruby M17 N
Yui NARUSE5.7K views
文字コードのお話文字コードのお話
文字コードのお話
Shunji Konishi8.6K views
Java scriptの基礎Java scriptの基礎
Java scriptの基礎
ManabuYoneyama1.2K views
私のSql -My Sql私のSql -My Sql
私のSql -My Sql
stiq 2e1.9K views
Hello Dark-Side C# (Part. 1)Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)
Yuto Takei1.2K views
セマンテックウェブとRDFDBセマンテックウェブとRDFDB
セマンテックウェブとRDFDB
Hirosuke Asano2K views
2008.10.18 L4u Tech Talk2008.10.18 L4u Tech Talk
2008.10.18 L4u Tech Talk
mitamex4u2.4K views
Erlangご紹介 websocket編Erlangご紹介 websocket編
Erlangご紹介 websocket編
Masatoshi Itoh2.8K views
Dot net+sql server tipsDot net+sql server tips
Dot net+sql server tips
Oda Shinsuke1.2K views

More from Hiroshi Tokumaru(20)

SQLインジェクション再考SQLインジェクション再考
SQLインジェクション再考
Hiroshi Tokumaru1.1K views
秀スクリプトの話秀スクリプトの話
秀スクリプトの話
Hiroshi Tokumaru31.4K views
ウェブセキュリティの常識ウェブセキュリティの常識
ウェブセキュリティの常識
Hiroshi Tokumaru31.4K views
セキュリティの都市伝説を暴くセキュリティの都市伝説を暴く
セキュリティの都市伝説を暴く
Hiroshi Tokumaru87.1K views

UnicodeによるXSSと SQLインジェクションの可能性