TinyMCE と WAF と 403 Forbidden

TinyMCSを含むフォームで 403 Forbidden が出てしまい、フォームが意図通り動作しないことがある…という問題に遭遇したときの原因と対策についてシェアします。

私が見たの例は、サーバが heteml で、
TinyMCE を含むごく普通のフォームでした。
TinyMCE はブラウザ上で動作する JavaScript/HTML
の WYSIWIG エディタです。

さっと幾つかのデータを POST して試してみると
どうも TinyMCE でリンクを作り、その href属性の値のいかんに
よって 403 Forbidden が発生する場合があるようでした。

よくよく見てみると href属性が絶対パスから相対パスに変換され、
上位ディレクトリを参照するような形になっている場合に
403 Forbidden が発生します。
問題になるのは例えば『href=”../../”』のような値です。

そういえば、heteml には WAF (ウェブアプリケーション
ファイアウォール) があったなと思い出し、ログを見ると
「ディレクトリトラバーサルからの防御」
という記録が残されていました。

WAF を OFF にしてもすぐには反映されないので、
すぐに反映できる .htaccess による除外記述を行って
様子をみると 403 Forbidden が消え、
意図通りに動作することが確認できました。

除外記述は WAF のログに記載されている
以下のようなコードを .htaccess に追記します。


SiteGuard_User_ExcludeSig traversal-数字

相対パスが問題であれば WAF を OFF にせずとも
以下のように設定すれば回避することができます。


tinuyMCE.init({
...
relative_urls : false, // 相対パスに変換しない
...
});

.htaccess から除外記述を取り除き、
tinyMCE で相対パスへの変換を無効化します。

これで AWF の全部あるいは一部を無効にすること無く
問題を解決できたのではないかと思います。

以上、何かのお役に立てば幸いです。

お問い合わせについて

業務として技術コンサルティングやシステム設計・開発を行っております。
気になることがありましたらご相談下さい。
ご相談のみで完結する場合、コンサルティング費用の目安は
内容によりますが1時間で5千円〜1万円ていどです。
コンサルティングや開発を検討されるその前に、
まずはお気軽にコメントやメールでご連絡下さい。
ご契約前のコメントやメールでのやりとりは無料です。

お問い合わせフォーム

お急ぎの場合など、ただちに業務対応が必要な場合は、こちらのお問い合わせフォームをご利用ください。かきしちカンパニーお客様窓口が直ちに対応いたします。
※窓口へのお問い合わせ、お見積もりは無料です。


お名前 (必須)

メールアドレス (必須)

題名

メッセージ本文 (必須)

Share

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*