ハッカーがblog_charsetをUTF-7に変更した場合、WordPressはさらなる攻撃に対して脆弱になりますか?


19

最近ハッキングされたクライアントがいて、サイトにÂやlikeのような奇妙なキャラクターが現れていることに気付きました。ハッカーがwp_optionsデータベースのテーブルでblog_charsetをUTF-7に変更したことがわかりました。UTF-8に戻しましたが、その間にUTF-7に設定されたときに、セキュリティ上の脆弱性が生じるのではないかと考えていましたか?

いくつかの検索を行ったところ、バージョン2.0.6で修正されWordPress UTF-7の脆弱性があったことを発見しました。WordPressの最新バージョンを実行しているため、そのエクスプロイトを使用することはできませんでしたが、UTF-7に関連する他のエクスプロイトはありますか?本当に、ハッカーが苦痛以外にblog_charsetを変更する理由はありますか?私は彼らがどうやって入ったのかを判断しようとしており、これがどういうわけか接続されているのだろうかと思っています。

回答:


23

<そして、>としてエンコードさ+ADw-+AD4-UTF-7 。次のことを想像してください。

  1. 誰か+ADw-script+AD4-alert(+ACI-Hello+ACI-)+ADw-/script+AD4-がコメントテキストとして送信します。すべての衛生設備を逃すことなく通過します。

  2. データベースは、すべての受信データをUTF-8として予期して処理します。すべてUTF-7の流れがあまりにも有効なUTF-8であるため、これは、SQLエラーが発生することはありませんし、mysql_real_escapeあるいはhtmlspecialcharsそれに触れることはありません。

  3. WordPressはヘッダーを送信しますtext/html;charset=utf-7

  4. WordPressは、エスケープされたデータを期待してコメントを表示します。ただし、これはブラウザによってUTF-7として扱われるため、JavaScriptが実行されます。

それで、はい、それはセキュリティの問題です。

UTF-7はすべてのブラウザでサポートされているわけではありません。ほとんどのブラウザはテキストをWindows-1252(またはOSのデフォルトエンコーディング)またはUTF-8としてレンダリングします。主な問題は、エスケープが機能しなくなることです。


エンコーディング値を元に戻すだけでは解決できません。通常の訪問者は絶対に変更できないため、開いているドアを見つける必要があります。


ありがとう!そのデータベースエントリを修正することでセキュリティホールが塞がれたと、私は指を交差させます。
ジェネット

心配しないで、私はすでにセキュリティホールを塞ぐためにいくつかの行動をとった。過去数日間でハッキングされたものはないようです。エンコードをUTF-8に戻すことが、すべての穴を閉じる最後のステップになったことを願っています。
ジェネット

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.