web-dev-qa-db-ja.com

FCKeditor / CKeditorのXSSセキュリティ問題に対処するには?

外部の企業を通じて実施したセキュリティレポートでは、PHPアプリケーションで使用しているFCKeditorのXSS脆弱性が報告されています。

彼らは次のようなURLにアクセスすることを指摘しました:

http://www.ourdomain.com/fckeditor/editor/filemanager/browser/mcpuk/connectors
    /php/connector.php?Command=837<script>alert(0)</script>&Type=837
    <script>alert(1)</script>&CurrentFolder=837<script>alert(2)</script>
    &ExtraParams=837<br><br><br><iframe src=http://www.google.com/ 
    height=100% width=100%></iframe>

次のようなコードが生成されます(ブラウザから->ソースを表示):

Invalid command.Array<br />
(<br />
[Command] => 837<script>alert(0)</script><br />
[Type] => 837<script>alert(1)</script><br />
[CurrentFolder] => 837<script>alert(2)</script><br />
[ExtraParams] => 837<br>
<br>
<br>
<iframe src=http://www.google.com/ height=100% width=100%></iframe><br />
)<br />

私はFCKeditorのこの内部phpスクリプトが何をするのか、それが私のシステムへのXSSコンテンツのソースになることができるかどうかわかりませんか?これは本物の問題ですか?

11
siliconpi

通常、サードパーティコンポーネントの脆弱性に対してできることは多くありません。
オプションの中から:

  • まず、最新バージョンにアップグレードしてください。それで問題が解決すれば完了です。
  • 責任を持ってベンダーに連絡し、修正を入手してください。
  • オープンソースの場合は、自分でパッチを当てるか、パッチを当てた人を見つけてください。正しく実行していることを確認してください。XSSの修正canは複雑で混乱します。
  • 上記のオプションのいずれも実行できない場合は、システムからこのコンポーネントを削除することを検討してください。他のコンポーネントを盲目的に使用する場合、修正できない場合は常にリスクです...
  • 実際、サードパーティのコードについてセキュリティレビューを行うことをポリシーにしますbeforeシステムに統合します。
  • 絶対に脆弱なコンポーネントを使用し続ける必要がある場合は、再検討してください:)。しかし、実際には、それが完了した場合、WAF(Webアプリケーションファイアウォール)で保護することを検討してください。問題は解決しませんが、悪用を防ぐのに役立ちます...
12
AviD

FCKEditorは、Webアプリケーション用のプラットフォームに依存しないテキストエディターです。

この種のエクスプロイトは、反映されたXSS攻撃ベクトルです。詳細については、この質問 can-anybody-explain-xss をご覧ください。

これは、FCKEditorが変数で指定された入力をサニタイズせず、アプリケーションに変数をユーザーに反映させるために発生します。

次の手順をお勧めします。

  • 最新のFCKEditorへのアップグレード
  • 自分でパッチを適用し、それでも問題が解決しない場合は、スクリプトに適切なサニタイズを適用して自分でパッチを適用します。あなたの場合、この問題に対処するには単純な(int)キャストで十分のようです。
  • できるだけ早くベンダーパッチをリクエストする

FCKEditor over explore-db.com への他のエクスプロイトのリストも確認できます。アプリケーションにパッチを当て続けることを忘れないでください!

11
Chris Dale