Web系備忘録

WordPressで保存できない件:原因はまさかの「Hunting High and Low」

先日、Gutenbergの問題がほぼ解決したと書いたのですが、その後、再び同じ状態になりました。仕方ないので、再度検索しまくったところWAF(Web Application Firewall)が悪さをしているというものの中に.htaccessで一部を対象外にする方法があると書いてるのを発見しました。実は前からWAFかもという情報は見ていたものの、「え、無効にするって…」と二の足を踏んでいたのでした。参考にしたのはこちら

.htaccessの編集は面倒ですが、たいした手間ではありません。しかし、このリンク先にあるSiteGuardという言葉どこかでみたことあるな…と思ったところ、自分が入れたプラグインに同じ名前があるのを発見。

しかも、WAFチューニングサポートがついてるじゃないですか。どういうことかって、ここに書いておけば.htaccessを編集しなくても、同じ効果が得られるということです。チューニングするには、ログの参照が必要です。ログをみた結果、意外なことがわかりました。原因は『Hunting High and Low』だったのです。

意味がわかりませんよね、説明します。なんと、『Hunting High and Low』の『and』がSQLインジェクションの可能性としてはじかれていたのです。SQLインジェクションといえば、Webのプログラムにパラメータを載せて相手先に勝手にテーブルを作って埋め込んだり、DBの内容を参照してしまうという攻撃。(詳しくは検索してください)『Hunting High and Low』のandが、その命令に使われる「and」に勘違いされたというわけです。
これは…WAFが強いというべきか、Gutenbergのパラメータ渡しがタコなのか…。というか、日本語だからこそ、andが出てくることはめったにないけど、英語で書かれてるブログだとかなり大変。and とかor とか。

ログからは自分が使ったシグネチャだけを抜き出して設定しないと、ホントの攻撃も許可してしまうので要注意です。見分け方がわからないのなら、Gutenbergを使わないでClassic Editorにすればいっきに解決です。というか、WAFの機能を無効にしないと投稿できないくらいなら、Classic Editorにしたほうが絶対に良いと思います。

ここまで、何度も「and」を書いてきましたが、現時点で一度もエラーになっていません。まさか、a-haのファーストアルバムの名前がGutenberg泣かせとは。Gutenberg,公式エディタなのに評価が☆2とか悲しいので、早く改善してほしいものです。

Morten Harket.jp (http://www.morten-harket.jp/)の中の人。 NORLAのサポートを受けてノルウェー語の詩を翻訳したことがあり(本にはなっていません)、そこからお勉強会などがあれば参加させて貰っています。 ノルウェー語は2011年から、ドイツ語は2023年からスタート。

コメントを残す

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