アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり
ごめん (スコア:1)
もっと解りやすく説明できる猛者はいますか?
クッキーを保存させるサイトを訪問した時に保存されたクッキーの内容を改竄して
サーバにSQLを送りつけることができるってことですか?
その時に%を紛れ込ませることで
$res = str_replace("select","ERR",$res); みたいな小細工をすりぬけされて
se%le%ct ac,pw fro%m tblpwd; とかをサーバに実行させるって話なの?
アホすぎてごめん
Re:ごめん (スコア:1)
GETやPOSTの代わりにCookieで渡すだけです。
Re: (スコア:0)
・コード上は、今までのSQLインジェクションと同じ。
・ただし、言語によっては、POSTのパラメータやGETのパラメータを表す変数が、(利便の為か)REQUESTとしてまとめられているのだが、そのREQUESTの内容は、えてして、COOKIEも混じっている、という話。
(COOKIEまで混じっているのは、REQUESTの意味合いが、外部からのパラメータ、という意味だからかな?)
POST: name=hogehoge, value=fugafuga
COOKIE: name=root, value=password
という風になっていた場合、hogehoge fugafuga が、root passwordに置き換えられてしまう、という事。
# と、理解したんだが、間違ってたら修正プリーズ
%の話は、また別の話ね。
Re: (スコア:0)
言語によってはcookieもget/postパラメータと同様と見なされるから、もしかしたらやばいんじゃないの?
って意味でしょ。
cookieで送られれば、必ずSQLインジェクションが成功しちゃうってわけでもない。
どこから出たパラメータかによらず、パラメータはパラメータとしてちゃんと処理してやればいいわけで。
Re: (スコア:0)
>言語によってはcookieもget/postパラメータと同様と見なされるから、もしかしたらやばいんじゃないの?
get/postとcookieとを区別しないなら、
get/postのチェックをすれば、必然的にcookieもチェックしてしまうのではないでしょうか。
ファイアウォールとかプログラム以外のチェックだけにまかせているなら、
cookie が同列に扱われないのは分かるけれど、それはそれで問題だと思います。
あとget より post や cookie で Webサーバーのログに残りづらいのはあると思います。
Re: (スコア:0)
まさに今回はそれを問題にしてるんでしょう。
なので、方々で言われてるとおり、アプリ内でちゃんとチェックしてれば関係のない話。