- PR -

ブログがハックされてポップアップ広告が表示される

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-05-28 17:19
 InfoSeek の掲示板を使っていたのですが、それに img 要素を挿入できたんですね。そのため、18禁なイメージを張りまくられたので img 要素を禁止にしたのですが、それでも表示されていました。

 HTML を確認せずに掲示板そのものを削除してしまったので、どのようにされていたのか謎ですが、同じようなものでしょうか。
 レンタル掲示板なので、スクリプトは元々無効だと思うし、システム側で「許可している」とされている要素は、B, I, A だけのはずでした。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-05-28 18:31
引用:

Jittaさんの書き込み (2006-05-28 17:19) より:
 HTML を確認せずに掲示板そのものを削除してしまったので、どのようにされていたのか謎ですが、同じようなものでしょうか。
 レンタル掲示板なので、スクリプトは元々無効だと思うし、システム側で「許可している」とされている要素は、B, I, A だけのはずでした。



私の場合、ASP.NETのFreeTextBoxを使用してコメント情報をHTML形式で入力させたのが問題でした。

本来コメント情報をHTMLエンコードしてからデータベースに保存すべきなのですが、HTMLを許可しているためエンコードできません。たぶんこのときJavaScriptのコードを埋め込まれたような気がします。

ところで、FreeTextBoxで入力したデータはどのようなチェックをすればよいのでしょうか。

一時、<script>タグを全角の<SCRIPT>に変換してからデータベースに保存したことがあります。これでJavaScriptのコードを埋め込まれても実行されないと思ったのですのが・・・まだセキュリティホールがあるようです。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-05-28 19:47
基本は「ホワイト リスト」ではないでしょうか。script だけでなく、object も危ないですから。

また、閉じ要素がなければ、ページの表示全体がおかしくなるかもしれません。


その他、マルチ バイト系とシングル バイト系の文字コード変換で紛れ込ませることができるらしいので、やはり「使用禁止」が妥当な線かと。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-05-28 20:24
引用:

Accessさんの書き込み (2006-05-28 18:31) より:

一時、<script>タグを全角の<SCRIPT>に変換してからデータベースに保存したことがあります。これでJavaScriptのコードを埋め込まれても実行されないと思ったのですのが・・・まだセキュリティホールがあるようです。


インラインでJavaScriptかかれたら動いちゃいますよね
onLoad='javascript:alert("hoge");'
とか

ぼくもホワイトリストで許すタグだけ列挙させたほうが良いと思います。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-05-28 22:03
Jittaさん、かるあ さん

ありがとうございます。

今のところ、コメントの入力は禁止しているので当面問題ないのですが
再開するときはテキストのみ許可して、HTMLエンコードしてからデータベースに
保存するようにします。

スキルアップ/キャリアアップ(JOB@IT)