DOM操作やブックマークレットを作るようになってから、
薄々感じてはいたんだけど、
改めて、使い方次第では、結構危険をはらんでいるんだなって思った。

個人的に良くやっていることで、
ログインフォームとかで、ID・Passを入力する際に、
パスワードの管理アプリや、テキストファイル、メール等からコピペするのが、
というか、それを探し出すのがかなり手間なので、、
ソースを確認して、入力自体をブックマークレット化してしまうんだけど、
これって、hiddenに適用すれば、値も簡単に書換えられてしまう可能性があるってことで、
いくらエスケープしたからと言っても、hiddenが丸見えであれば、
それなりの危険性が発生するわけで、
何でもかんでも、hiddenで値を持ち回るのは、かなり危険。
ってことを、今日改めて認識した。

自分は、プログラマーではないので、、
本職の方達には、そんなの当然でしょ!って思われているかもしれないけど、
以外と知られていない(?)のか、
結構、そういうのも見かけなくもない。

ただ、実際にやると犯罪になりかねないので、
やってみた後、プログラムがどういう処理になっているかは、
人様のサイトでは確認できませんが。。

でも、hiddenで値を晒したからといって、
必ずしもそれが脆弱性に繋がるという訳ではなく、
セッションで持ち回るようにしたり、hidden値を万が一書き換えられても、
問題ないような作りにすれば、それなりに大丈夫なはず。

ちなみに、フォーム入力のブックマークレット化は、
複数人で使うマシンでは、やらないようにご注意を!

■あまり知られていない脆弱性:DOM Based XSSにご用心
http://www.ark-web.jp/blog/archives/2007/02/dom_based_xss.html