なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い

なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
弊社本社の麻布十番移転に伴い、本社近くの麻布図書館を利用しています。麻布図書館は土地柄のイメージにあう瀟洒な建物で、蔵書がない場合は港区の他の図書館から取り寄せ(無料です)ができますので、よく利用しています。今回は、山田祥寛さんの「10日でおぼえるPHP入門教室 第4版 」を借りて読んでみました。一読して、本書がセキュリティにもよく配慮されていることがわかりましたので、以下にご紹介したいと思います。 クロスサイトスクリプティング(XSS) 表示の際にHTMLエスケープするという原則を忠実に守っています。そのため、下記の e() という関数を定義して呼び出しています。 function e($str, $charset = 'UTF-8') { return htmlspecialchars($str, ENT_QUOTES, $charset); } その他にもXSS対策として重要な下記の
文字集合自体は抽象的な「文字の集まり」に過ぎないので単独で問題になることはないが,異なる文字集合に変換する際には問題が発生する場合がある。文字集合が異なるということは,対応する文字が1対1対応していないので,変換先の文字集合で対応する文字がないケースや,多対1の対応が発生する可能性がある。 図1に,Unicodeからマイクロソフト標準キャラクタセットに変換する場合を例示した。マイクロソフト標準キャラクタセットには「骶」(尾てい骨の“てい”)や,ハングルなどはない。また,バックスラッシュ「\」(U+005C)と円記号「\」(U+00A5)がともにJIS X 0201の「\」(0x5C)に変換される場合について示している。 「漢」のように1対1対応している文字は問題ない。ハングルや「骶」のように対応するコードポイントがない場合はエラーになるか文字化けする。インターネットで「尾 骨 びていこつ」
今回から5回にわたって,アプリケーション全体に関する文字コードの問題と対策について説明する。文字コードがセキュリティとどう関わるのか,疑問に思うかもしれないが,Webアプリケーションで文字コードを指定可能な個所は非常に多く,しかも文字コードの選定や処理方法次第ではぜい弱性の原因になることが分かってきている(図1)。実は文字コードはWebアプリケーションのセキュリティ問題の最新の話題と言ってよい。 2008年10月に開催されたセキュリティ・イベントBlack Hat Japan 2008では,ネットエージェントの長谷川陽介氏が「趣味と実益の文字コード攻撃」と題して,文字コード問題の広範なプレゼンテーションを発表した 。そのプレゼンテーション資料が発表されている のでこの問題の詳細に関心のある方は参照されたい。ここでは,セキュアなWebアプリケーションを開発するために文字コードの問題をどのよう
ストーリー by hylom 2009年01月14日 17時04分 やはりよく言われている問題が多い、 部門より CWEとSANSが共同で「最も危険なプログラミングエラーTop 25」を取りまとめ、発表した。 このリストはSymantecやMicrosoft、米国国土安全保障省の国家サイバーセキュリティ部門、また日本の情報処理推進機構(IPA)など、国際的かつ多岐に渡る組織の協力を得て作成された。パフォーマンス上の問題やセキュリティ上の脆弱性、またサイバー犯罪の原因となり得るプログラミングエラーのうち、特に頻度と危険性の高いとされるものが25点挙げられている。 エラーは大きく「コンポーネント間のコネクションが適切に保護されていない」「危険なリソースマネジメント」「不備のある防衛策」の3種類に分類され、それぞれのエラーには簡単な説明と対処法などが記述されている。挙げられているエラーは「入力デ
PPDGen:疑似個人情報ジェネレータは、テストデータ生成・管理ツールです。 本物の個人情報にそっくりな架空の個人情報『疑似個人情報』を生成するだけでなく、 実際の個人情報(本番データ)を読み込んで、住所や氏名を置き換え、安全なデータに変換することもできます。 PPDGen:疑似個人情報ジェネレータはフリーソフトです。 無料・無制限でお使いいただけます。 疑似個人情報の例 疑似個人情報とは、本物そっくりながら架空の個人情報です。 姓名、住所、電話番号、生年月日、銀行口座番号、クレジットカード番号などの項目があります。 システム開発において、本物の個人情報をテストに使うと、個人情報が漏洩する危険性があります。 特に、Winnyなどのファイル共有ソフトによる漏洩は、システム開発を受託した開発会社の社員が テストデータを自宅に持ち帰ることで多く発生しています。 本物の個人情報の代わりに、疑似個人
Last Updated on: 2018年8月20日問題:まちがった自動ログイン処理の解答です。このブログエントリは最近作られたアプリケーションでは「問題」にしたような実装は行われていないはず、と期待していたのですがあっさり期待を破られたのでブログに書きました。このブログの方が詳しく書いていますけが「Webアプリセキュリティ対策入門」にも正しい自動ログイン処理を書いています。 参考:自動ログイン以外に2要素認証も重要です。「今すぐできる、Webサイトへの2要素認証導入」こちらもどうぞ。HMACを利用した安全なAPIキーの送受信も参考にどうぞ。 間違った自動ログイン処理の問題点 まず間違った自動ログイン処理を実装しているコードの基本的な問題点を一つ一つ順番にリストアップします。 クッキーにランダム文字列以外の値を設定している クッキーにユーザ名が保存されている クッキーにパスワードが保存さ
Webアプリケーションが攻撃者に付け込まれる脆弱性の多くは、設計者や開発者のレベルで排除することができます。実装に忙しい方も、最近よく狙われる脆弱性のトップ10を知ることで手っ取り早く概要を知り、開発の際にその存在を意識してセキュアなWebアプリケーションにしていただければ幸いです。 Webの世界を脅かす脆弱性を順位付け OWASP(Open Web Application Security Project)は、主にWebアプリケーションのセキュリティ向上を目的としたコミュニティで、そこでの調査や開発の成果物を誰でも利用できるように公開しています。 その中の「OWASP Top Ten Project」というプロジェクトでは、年に1回Webアプリケーションの脆弱性トップ10を掲載しています。2004年版は日本語を含む各国語版が提供されていますが、2007年版は現在のところ英語版のみが提供さ
多くの会員制Webサイトでは、ID/PWによるログイン処理がある。ユーザにログイン画面を提示し、ユーザがフォームにID/PWを入力してsubmitする。ID/PWがOKであれば、ユーザのブラウザにはログイン後の画面が表示される。 以下に、これを実現するための2通りのシーケンス図を描く。セキュリティの観点で望ましいのはA、Bのどちらだろう?というのが今回のテーマ。 Aではログイン要求に対してHTTPステータス200応答とともにログイン後画面をブラウザに返している。Bではログイン要求に302応答を返して(HTTP1.1では303応答)、ログイン後画面にリダイレクトしている。 結論を言うと、セキュリティの観点では、私はBの方が望ましいと考えている。 逆に言うと、Aにはどうにも気に入らないところがある。それは、ID/PWを含むリクエストに対して200応答を返していることだ。200応答のページは、ブ
本ページの情報は、2016年10月時点のものです。2023年10月に再構成をいたしました。 なお、内容に変更はありません。 2016年10月版 2002年2月に「Webプログラマコース」と「製品プログラマコース」、2007年の6月に「Webアプリケーション編」、9月に「C/C++編」と分けて公開してきた講座のうち、原則を中心として共通的なものをまとめて2016年10月に再編しました。 なお、資料内の参照先はすべてサイトリニューアル前のURLであるため、リダイレクトを設定しています。 セキュア・プログラミング講座(2016年10月版/2017年6月一部修正)(PDF:2.3 MB) 2007年版 「ソースコード検査技術の脆弱性検出能力向上のための研究」(注釈1)を実施した一環として取りまとめた内容を、2002年から公開していたセキュア・プログラミング講座(旧版)の改訂版(2007年版)として
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く