Wemo | TSNETスクリプト通信第2号 | セキュリティ
ここに書き込んでください。
クロスサイトスクリプティングとかクロスサイトリクエストフォージェリとかいろいろある穴はどうするつもりなのかなあというのが心配 。
や、やはり、ありますかね^^;)入力をチェックしていないので頭に浮かんだのは、検索文字列の入力ですが、これは検索に使われるだけなので表示によって問題がおきるわけではない・・・いやいや、検索文字列を表示しているか^^;)これはタグの入力を受け付けないように対応が必要ですね(テストサイトの検索文字列はタグを受け付けないように変更した。配布サンプルには現時点で含まれていない)。メモ文字列のテキストエリア入力は、書式による入力でないと受け付けないので、問題ないと考えていたのですが・・・メモ入力は、通常はタグがあると読まずにスキップする仕様としている。スキップしない場合は、実体参照文字に置換される。
クロスサイトリクエストフォージェリについては初めて聞いたので、勉強します。認証の問題は、まだ僕のこれからの研究課題なので・・・今のところ、Wikiのように誰でもメモを書けるし、変更できる。
机上だけのチェックなので間違っているかもしれないけど、例えばwemo_save.cgiのメモ文字列でいえば、タイトル(T:)にタグが含まれていればそのまま素通ししているように思えます。
クロスサイトリクエストフォージェリは対策が面倒なので、おいおいということで…。せめてMETHOD=POSTをチェックするだけでも、少しは足しになるかも。
$inswの条件判定の直後、$line =~ /<.+>/であれば、スキップするようにしています。その後、タイトル文字列などの条件判定が並んでいますから、大丈夫だと思います。
METHOD=POSTのチェックについてまず勉強してみます^^)
「<」と「>」が同一行になければスルーです。
確かにそうですね。甘いかなと思ってはいたのですが^^;)
/[<>]/に変更しました。ありがとうございました。→ Wemo