タグ

teraccとwasに関するockeghemのブックマーク (2)

  • preg_replaceによるコード実行 - T.Teradaの日記

    最近少し調べていたのが、PHPの任意コード実行系の脆弱性です。中でも、preg_replace関数(Perl互換の正規表現による置換を行なうための関数)を不適切な方法で使った場合に発生する脆弱性について調べていました。 せっかくなので、日記にまとめてみます。 3種類の脆弱性 preg_replace関数を使ったPHPコード実行系の脆弱性には、大きく分けて3つの種類があります。 第一引数への挿入を許す e修飾子付き・第二引数への挿入を許す e修飾子付き・第三引数への挿入を許す 以下でそれぞれについて見ていきます。 タイプ1:第一引数への挿入 以下のコードに、任意のPHPコードが実行可能な脆弱性があります。 $m = preg_replace("/([^<]*)$kw([^>]*)/i", "\\1<font color=red>$kw</font>\\2", $m); $kwと$mは外部から

    preg_replaceによるコード実行 - T.Teradaの日記
  • 価格の改竄などの話 - teracc’s blog

    ECサイトにおける価格の改竄の対策として、「購入確定処理で、クライアントからPOSTされてくる商品IDをキーに商品マスタテーブルを検索して、検索した結果の価格で購入処理を行なう」というような趣旨の対策が書いてあるのを見たことがあります。 これは悪意あるユーザによる価格改竄の対策として正しいわけですが、私は別の問題で少々引っかかるものを感じてしまいます。 私が「引っかかるところ」について、以下で少し書いてみます。 運営者による価格変更 購入確定処理の直前には、購入確認画面がユーザに提示されているはずです。 ┏━━━━━━━━━━┓ ┃ <購入確認画面> ┃ ┃          ┃ ┃ みかん 1個 100円 ┃ ┃ ---------------- ┃ ┃ 合計 100円 ┃ ┃          ┃ ┃上記を購入しますか?┃ ┃          ┃ ┃ [購入確定] [戻る] ┃ ┗━

    価格の改竄などの話 - teracc’s blog
    ockeghem
    ockeghem 2007/07/23
    hiddenの使い方はしばしば間違えているので注意が必要です。
  • 1