タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Programmingとmemoとsecurityに関するjjzakのブックマーク (4)

  • インジェクション系攻撃への防御の鉄則

    前回までは,主にクロスサイト・スクリプティングのぜい弱性とその対策について解説してきた。最終回となる今回は,クロスサイト・スクリプティング以外の「インジェクション系」ぜい弱性について解説する。具体的には,SQLインジェクション,OSコマンド・インジェクション,HTTPヘッダー・インジェクション,そしてメールの第三者中継である。 SQLインジェクション対策にはバインド変数の利用が最適 まず,SQLインジェクションから見ていこう。対策には二つの方法がある。一つは,SQLの「バインド変数(注1)」を使う方法である。バインド変数の書式はプログラミング言語によって異なるが,一例として,Perlを使った場合に,パスワード認証のSQLをバインド変数で書き換えた例を示す(図1)。 (注1) 「準備された文(Prepared Statement)」というのがJIS SQLでの用語だがあまり普及していない。バ

    インジェクション系攻撃への防御の鉄則
  • http://www.sabamiso.net/yoggy/hiki/?2007%2F04%2F09+%A5%EA%A5%D0%A1%BC%A5%B9%A5%A8%A5%F3%A5%B8%A5%CB%A5%A2%A5%EA%A5%F3%A5%B0%A4%DE%A4%C4%A4%EA%A4%CE%A5%E1%A5%E2

    jjzak
    jjzak 2007/04/15
    リバースエンジニアリングまつりのメモ
  • yohgaki's blog - これからのプログラムの作り方 - 文字エンコーディング検証は必須

    Last Updated on: 2016年3月3日最近PostgreSQLMySQL両方にSJISエンコーディングを利用している際のエスケープ方法の問題を修正がリリースされています。この件は単純に「データベースシステムにセキュリティ上の脆弱性があった」と言う問題ではなく「アプリケーションの作り方を変える必要性」を提起した問題です。 参考:セキュアなアプリケーションのアーキテクチャ – sandbox化 PostgreSQLMySQLの脆弱性は特にSJIS等、マルチバイト文字に\が含まれる文字エンコーディングが大きな影響を受けますが、同類の不正な文字エンコーディングを利用した攻撃方法が他の文字エンコーディングでも可能です。例えば、UTF-8エンコーディングは1文字を構成するバイト列の最初のバイトの何ビット目までが1であるか、を取得してUTF-8文字として1バイト~6バイト必要なのかわか

    yohgaki's blog - これからのプログラムの作り方 - 文字エンコーディング検証は必須
  • 読書ノート - セーフティプログラミング

    読感 とかく入門書籍では見過ごされがちとなる効果的なエラー処理の実装について。エラー処理を加えることでプログラムの実用性を高めるということ。その際に、(エラー処理の追加によって)ロジックの見通しが悪くなるような場合には、エラー処理までの含めた部分を(標準関数でも)ひとつのモジュールとしてまとめる(ラッピングする)ような方法がある。 抄録 C の標準関数 C は高級言語としてはエラー処理のサポートが少ない言語である。その主な理由として C では機能の実装における決定をユーザに委ねている点が挙げられる。また、かつてのマシンリソースが限られていた時代には、不要なエラー処理を組み込まないことも、ひとつの手段だったため。C では関数を書くときにエラー処理を書くというのが基になる。そして標準関数は戻り値から異常を検出すればよい。 printf 仕様としてはエラー発生時に負の値を返すが、通常はチェック

  • 1