典型的な攻撃として、データベースに直接影響を与える最も大きな影響を
もたらす原因の一つとして、無害化されていないパラメータをそのまま利用することで
おこる攻撃ですね。
以下のようなサイトの場合、パスワードなしでもログインできるようにすることも簡単です
<?php
$ret = mysql_qury("SELECT * FROM user WHERE id='" . $id . '" AND pass='" . $pass . "'");
?>
以下のような感じのアクセスで回避出来ちゃいます。
http://aaaaa.co.jp/login.php?id=' UNION SELECT pass AS uid FROM user WHERE id='root'#
パスワード部分が、これで回避されるので、パスワードがわからなくても
ログインできちゃいますね。
' でコメント化して、必要な情報を結合して取得後、置き換えたものを表示して
# で以降をコメント化して無効にしてます
ちゃんとしたサニタイズと
対策は必須ですね。
0 件のコメント:
コメントを投稿