マイナーなものよりメジャーなものを
利用者が多いということはクラッカーにとっても報告者にとっても利益も大きいということです。
ユーザー乗っ取りや情報流出、データ破壊やいたずらを防ぐセキュリティ対策にはかなりの知識と労力を必要とします。弱小なウェブアプリケーションのうち、そこまでの労力を割けられているものはかなり少ないのです。
メジャーなものは狙われやすいという印象があるかもしれませんが、マイナー(もしくはオリジナル)なものであってもツールなどを使えば比較的簡単に攻撃できるのです。
マイナーなものでも長い間狙われてこなかったものもありますが、その多くには未だにかなりの危険が潜んでいます。昨今のSQLインジェクションの現状を見てください。
危険が潜んでいた例(一部うろ覚え)
- とあるperlで書かれたBBSのXSS (<a href="javascript:"></a>)
- とあるPHPで書かれたForumのBBCode周りのXSS ([sky #ffffff; width: expression( ... )])
- とあるperlで書かれていると思われる検索システムのエスケープ忘れ (?q=</title></head><script>alert("hello");</script>。某巨大掲示板の某ヘッドライン)
- とあるphpで書かれたForumのGETメソッドなlogout ([img http:// ... /?c=logout]。確かphpBB)。
最近のメジャーなものはそれなりに安全です。"それなり"と書いたのは知られてない未知の脆弱性も多いからです。また中間者攻撃や同じ組織内で同じIPを持った人からの攻撃などの回避はウェブアプリケーション単体では難しい場合が多いです。またセキュリティー対策のため、一部利便性が損なわれていたりします(セッションが切れるのが早かったりなど)が、そこは仕方ないと諦めてください。とはいえ、このwikiのように利便性と安全性の両立もある程度は可能です。
#個人的にPHPのセッションの仕組みが本当に安全なのか未だに疑問。→普通にセッション固定攻撃とか起きてるようだなぁ