タグ

phpと文字コードに関するdenkenのブックマーク (2)

  • 第20回 文字エンコーディングとセキュリティ(2) | gihyo.jp

    前回に引き続き、今回も文字エンコーディングとセキュリティをテーマに解説します。前回は文字エンコーディングを利用した攻撃で、JavaScriptインジェクションやSQLインジェクションなどが可能であることを紹介しました。今回はなぜ、文字エンコーディングを利用して攻撃できるのか、簡単に紹介します。 文字エンコーディングを利用した攻撃の原理 文字エンコーディングを利用した攻撃には3種類の方法があります。 不正な文字エンコーディングを利用する方法 文字エンコーディングを誤認識させる(誤認識を利用する)方法 文字エンコーディングのエスケープ方式を利用する方法 この連載は攻撃方法を詳しく解説する事が目的ではありません。具体的なの攻撃方法の解説はできる限り控え、なぜこの3つ手法が攻撃に利用できるのか解説します。 前回も触れましたが、パス遷移攻撃には文字エンコーディングを利用した攻撃方法もあります。 文字

    第20回 文字エンコーディングとセキュリティ(2) | gihyo.jp
    denken
    denken 2008/12/29
    「 文字エンコーディングのチェック例 function check_encoding($key, $value) { if (!mb_check_encoding($value, 'UTF-8')) { die('Invalid charactor encoding detected'); } } array_walk_recursive($arr, 'check_encoding');」
  • PHPでaddslashes()でエスケープしてもSQLインジェクションな穴

    ■data uri変換機 これはそそります。なるほどぉ。 data:text/html;charset=utf-8;base64,aHR0cDovL2xhLm1hLmxhL21pc2MvanMvZGF0YS5odG1s ■FirefoxでWindowsのクリップボードに値を設定する方法 上を踏まえて。 http://la.ma.la/misc/js/setclipboard_for_firefox.html http://la.ma.la/misc/js/setclipboard.txt Opera8.5でもいけてる気がします。 外部のサーバを利用せずにHTML単体でいけているのは、dataスキームが有効だからですね。IE7ではまだdataスキームって有効じゃないのでしたっけ? え?オーバーフローするかって?しないでしょ(笑) Firefoxでテキストをクリップボードにコピーする方法::最

    PHPでaddslashes()でエスケープしてもSQLインジェクションな穴
    denken
    denken 2006/02/15
    Shift_JISを使わなければいいんジャン
  • 1