タグ

encodingに関するnilfigoのブックマーク (17)

  • 改行コードの違いを体感してみる - ザリガニが見ていた...。

    テキストを入力して、保存して、再び画面に入力したままを表示する。これはコンピュータを操作する上で、最も基的な欲求である。出来て当然のことなのだけど、稀に出来なくて思い悩むことがある。 最近のGUI環境は気が利いているので、ほとんどの場合、良きに計らい正しく表示してくれる。しかし、コマンドの世界では、文字コードにまつわるすべての設定を自分でコントロールする必要がある。すると、とたんにこの最も基的な欲求を満たせなくなることが多い。(自分のこと) なぜ文字化けしてしまうのか?なぜ1行しか表示されないのか?なぜgrepで検索されないのか?なぜ1行ずつループ処理してくれないのか?文字コードにまつわる疑問は多い...。基的なことを理解していれば、思い悩む必要はないのに、毎回無駄に悩んで、時間を浪費している気がする。 まずは文字コードの違いから、ちゃんと調べ直してみた。 実験環境 OSX 10.9

    改行コードの違いを体感してみる - ザリガニが見ていた...。
  • Mozillaのコードを切り出してライブラリ化した文字エンコーディング判別ライブラリ「Universalchardet」をjavaにポーティング

    Code Archive Skip to content Google About Google Privacy Terms

  • Masato Kinugawa Security Blog: accounts.google.comに存在したXSS

    Googleの脆弱性報酬制度の報酬がアップされましたね! Google、脆弱性情報に支払う報奨金を大幅アップ - ITmedia エンタープライズ http://www.itmedia.co.jp/enterprise/articles/1306/10/news027.html Googleアカウントページに存在するクロスサイトスクリプティング(XSS)の脆弱性情報については3133.7ドルから7500ドル accounts.google.comのXSSは$7,500 だそうです。みつけたいですね! みつけるのはかなり厳しいと思いますが、かつて2つみつけたことがあります。 今日はそのうち1つを紹介したいと思います。 oeパラメータを使ったXSS 2012年12月27日に報告し修正された問題です。 Googleは、一部のサービスで「oe」というクエリパラメータを付加することで、ページの表示に

  • Mac OS Xの文字コード問題に関するメモ

    文字情報基盤(Moji_Joho)のIVS登録にともなう公開レビュー(PRI 259)にコメントした。PDFはこちら。日語。もう、最初から最後まで日語。 安岡孝一さんが挙げていた(yasuokaの日記:文字情報基盤のIVS登録第1弾)ような「Hanyo-DenshiとMoji_JohoでIVSをシェアしようとしてるが、グリフに差異が見られる例」については、いくつか見つけたものの、リストの最初のほうしかチェックできなかったので、言及するのを断念。他にも、CJK互換漢字グリフの扱い、Ken Lundeさんが挙げていた(CJK Type: PRI 259)U+6723とU+81A7の問題など、いろいろ論点はあると思うが、今回はスルーした。 iPhoneや携帯における絵文字の扱いに関して、SoftBankへの要望がいくつかあるので(それから、先日コメント欄でお願いされたので)、メモ。 その1・

    Mac OS Xの文字コード問題に関するメモ
  • JavaScriptで文字コード変換ライブラリ作ってみた

    ↓動作サンプルを作りました 文字コード変換 動作サンプル Unicode の変換が可能になりました。 文字コード配列から URLエンコード/デコード が可能になりました。 あと説明とサンプルも少し載せました。。(説明不足でごめんなさい) こないだの 「JavaScriptだけでzipファイルの解凍 - Unzipper.js」が SJIS ファイルとかだと表示で文字化けするので、ついつい。。 動作確認は、zip ファイル解凍のデモページでわかると思います。 zip の中に SJIS や EUC-JP のファイル (ファイル名) がある場合でも UTF-8 表示で化けなければ問題なしです。 zip 解凍デモページ ↑のデモページを開いて、デスクトップなどから zip ファイルをドロップすると 解凍して結果のテキストを表示します。 ※ JavaScript だけで動いていて、どっかのサーバなど

  • 備忘録 - #python3 で sys.std(in|out|err) の encoding を強制する : 404 Blog Not Found

    2012年08月06日22:45 カテゴリLightweight LanguagesTips 備忘録 - #python3 で sys.std(in|out|err) の encoding を強制する Pythonチュートリアル第2版 Guido van Rossum / 鴨澤眞夫訳 身の程知らずにもPyCon JP 2012で講演することになったこともあって、日頃空気のようにPerlやJSや時々Rubyで書いていることをあえてPython 3で書いている今日この頃なのですが、これははまった。 こんな解決策でいいのかな、と思いつつも、「Pythonチュートリアル」の訳者@kamosawaのお墨付きも得たので一応まとめておくことに。 結論 特定のインプットだけ変換するならこれがいいと思う。RT @dankogai 【急募】 #python3 でLC_ALL=Cで起動した後にsys.stdin

    備忘録 - #python3 で sys.std(in|out|err) の encoding を強制する : 404 Blog Not Found
  • [PDF] Apache-Tomcatと冗長なUTF-8表現 (CVE-2008-2938検証レポート) - NTTコミュニケーションズ株式会社 ITマネジメントサービス事業部 セキュリティオペレーションセンタ

    Apache-Tomcat と冗長な UTF-8 表現 (CVE-2008-2938 検証レポート) N T T コ ミ ュ ニ ケ ー シ ョ ン ズ株式会社 IT マネジメントサービス事業部 セキュリティオペレーションセンタ 2008 年 9 月 25 日 Ver. 1.0 SR-20080110 1. 2. 3. 調査概要 .............................................................................................................................. 3 UTF-8 とは ..........................................................................................

  • 第9回 文字コードが引き起こす表示上の問題点[前編] | gihyo.jp

    文字コードが引き起こす問題点は、これまで説明したような比較の一致・不一致といったソフトウェアの処理上のものだけでなく、人間に対する視覚的な効果という点でも強く影響を与え、攻撃者にとっての強力な道具となることがあります。 今回および次回で、そのような文字コードが引き起こす視覚的な問題点を紹介します。 視覚的に似た文字 見かけのよく似た文字は、フィッシングなどによく利用されます。典型的な例としては、アルファベット小文字のl(エル)と数字の1などがあります。たとえば、http://bank1.example.jp/ というURLのオンラインバンクがあったとすると、攻撃者は http://bankl.example.jp/ というURLを使ってフィッシングを企むということは容易に想像できると思います。 もちろん、収録している文字数が増えれば増えるだけ、このように見かけのよく似た文字が存在する率も高

    第9回 文字コードが引き起こす表示上の問題点[前編] | gihyo.jp
  • PHP以外では: 既にあたり前になりつつある文字エンコーディングバリデーション - 徳丸浩の日記(2009-09-14)

    _既にあたり前になりつつある文字エンコーディングバリデーション 大垣靖男さんの日記「何故かあたり前にならない文字エンコーディングバリデーション」に端を発して、入力データなどの文字エンコーディングの妥当性チェックをどう行うかが議論になっています。チェック自体が必要であることは皆さん同意のようですが、 チェック担当はアプリケーションか、基盤ソフト(言語、フレームワークなど)か 入力・処理・出力のどこでチェックするのか という点で、さまざまな意見が寄せられています。大垣さん自身は、アプリケーションが入力時点でチェックすべきと主張されています。これに対して、いや基盤ソフトでチェックすべきだとか、文字列を「使うとき」にチェックすべきだという意見が出ています。 たとえば、id:ikepyonの日記「[セキュリティ]何故かあたり前にならない文字エンコーディングバリデーション」では、このチェックは基盤ソフ

  • セキュリティ専門家でも間違える!文字エンコーディング問題は難しいのか?

    (Last Updated On: 2018年8月13日)一見徳丸さんのブログは分かりやすいように思えますが、それは単純な実験により分かりやすいように見えるだけで複数の間違いがあります。 その間違いとは 意図の取り違い – 誤読 言語の仕様と実装の理解不足 HTTPやPHP仕様の理解不足 セキュリティ対策をすべき場所の理解不足 です。(※0) 徳丸さんは非常勤とは言え、国の出先機関の研究員であるし、その出先機関は職務放棄とも言える文書(「例えば、PHPを使用しない」と勧める文書)を公開している(いた?)のでしっかり反論しておく必用がありますね。IPAのあの文書は職務放棄と言える文書だと思っています。これについても後で意見を述べます。 意図の取り違い – 誤読 最初の間違いは私のブログのエントリ「何故かあたり前にならない文字エンコーディングバリデーション」に対する理解です。特にPHPユーザに

    セキュリティ専門家でも間違える!文字エンコーディング問題は難しいのか?
  • perl - EncodeでXSSを防ぐ : 404 Blog Not Found

    2009年03月03日19:00 カテゴリLightweight Languages perl - EncodeでXSSを防ぐ 良記事。 第7回■文字エンコーディングが生み出すぜい弱性を知る:ITpro だけど、問題点のみ具体例があって、対策にないのが片手落ちに感じられたので、その点を補足。 結論だけ言ってしまえば、Perlなら以下の原則を守るだけです。 404 Blog Not Found:perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これが

    perl - EncodeでXSSを防ぐ : 404 Blog Not Found
  • 何故かあたり前にならない文字エンコーディングバリデーション

    (Last Updated On: 2018年8月8日)私が4年前(2005年)に「Webアプリセキュリティ対策入門」を執筆していた時には、既に壊れた文字エンコーディングなどの不正な文字エンコーディングを利用したJavaScriptインジェクションやSQLインジェクション攻撃は比較的広く知られていました。この問題は当時のスラッシュドットジャパンでも取り上げられていました。/.で取り上げられたので、そこら中のWebサイトとユーザが被害に合うのでは?とヒヤヒヤしたので良く覚えています。 不正な文字エンコーディングを利用した攻撃は、文字エンコーディングを厳格に取り扱い、文字エンコーディングをバリデーションすれば無くなります。これを怠ると、システムのどこで問題が発生するか予想できなくなります。つまり、いい加減に文字エンコーディングを取り扱うと安全なシステムは作れないのです。 参考:エンジニア向けに

    何故かあたり前にならない文字エンコーディングバリデーション
  • UTF-8の冗長なエンコードとは何で、なんでそれがセキュリティ的に危ないのか?を文字コード知識レヴェル3くらいの凡プログラマが考えてみる - tohokuaikiのチラシの裏

    何故かあたり前にならない文字エンコーディングバリデーション | yohgaki's blog ってあるように、いまいち文字コードの不正な判定による危険性ってのが分かってない。 SJISの問題は、(2/3)SQLインジェクションを根絶!セキュア開発の極意 - 第5回■注目される文字コードのセキュリティ問題:ITproの記事がわかりやすかった。 というか、やっぱりPHP使ってると誰でも一度は「なんじゃこの『¥』は?」って思うもんなんで。 なるほど、確かに↓の図のように「あるバイト」が2つの意味を持つっていう文字コード形態はやばいんだなと。 EUC-JPはそんなことはしないで、1つのバイトには1つの意味しか取らせない。 だけど、これでも文字化けが起こることがある。経験的には、「マルチバイトをXX文字で切り落としたい」とかやった場合。ちゃんと文字コードを判定してくれるPHPでいえばmb_subst

  • UTF-8 エンコーディングの危険性 - WebOS Goodies

    的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ

  • 第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編] | gihyo.jp

    みなさん、はじめまして。はせがわようすけと申します。 最近、文字コードと関連したセキュリティの話題を目にすることが増えてきました。文字コードを利用した攻撃は技術的に未開拓ということもあり、参考となる情報がなかなか見当たりません。この連載では、文字コードを利用した攻撃やそれに対する対策について正しい知識を解説していきます。 文字コードとセキュリティが関連するもっとも大きな点は、やはり文字列の比較でしょう。「⁠危険な文字列の検出」「⁠安全な文字列であることの確認」といった文字列の比較は、セキュリティを考えるうえで避けて通れない処理だと思います。 文字列の比較においては、単純にバイト列を比較するだけでは不十分で、文字列がメモリ上でどのようなバイト列として格納されているのか(このルールを符号化方式あるいは文字エンコーディングと言います)に注意しなければならないこともあるでしょう。攻撃者は巧みに文字

    第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編] | gihyo.jp
  • Tidningen Nyheter för alla -

    Skip to main content Registration has been disabled.

  • 対策遅らせるHTMLエンコーディングの「神話」

    クロスサイト・スクリプティングという言葉は元々,WebアプリケーションのHTMLエンコード漏れなどを利用することによって第三者にJavaScriptを実行させる手法を指す。広義では,HTMLのエンコードによる画面改変などを含むこともある。 前回述べたように,クロスサイト・スクリプティングのぜい弱性はWebアプリケーションに見付かるぜい弱性の半分以上を占める。数年前から指摘されているにもかかわらず,一向になくならない。その理由として,クロスサイト・スクリプティング対策あるいはHTMLエンコード注1)に対する「神話」があり,正しい対策の普及を遅らせているように思う。その「神話」の数々について説明しよう。 注1)実体参照(entity reference)というのが正式だが,あまり普及していない用語なので,HTMLエンコードという用語を用いる 「すべからくHTMLエンコードすべし」が鉄則 HTM

    対策遅らせるHTMLエンコーディングの「神話」
  • 1