見出し画像

お絵かき掲示板PHPスクリプトのセキュリティを強化しました。

お絵かき掲示板交流サイトに大規模攻撃

2022年12月8日。運営しているお絵かき掲示板交流サイトに大規模な攻撃がありました。

通常は1万ページビューなのに66万ページビュー。

66万ページビュー。急にサイトが人気になった訳ではなく、ほぼ66万回アタックがあったようです。
アタックしてきたIPアドレスはマイクロソフトの迷惑メールフィルタのIPアドレスでした。偽装したIPアドレスです。
リファラはGoogle検索で検索語句は「test」でこちらも偽装だと思います。
掲示板には数件書き込みがありその他のフォームにも記入がありました。
それらはすべてSQL文で、大規模なSQLインジェクション攻撃だった可能性があります。
幸いPOTI-boardもPetit NoteもデーターベースやSQL文を使っていないので、SQLインジェクション攻撃は成立しませんでした。
データーベースを使っていないテキストログの掲示板はきわめてローテクなのですが、SQLインジェクション攻撃があっても攻撃が成立しないという意味ではセキュアなのかもしれません。

ディレクトリトラバーサルの脆弱性を修正

SQLインジェクション攻撃、XSS攻撃、ディレクトリトラバーサル攻撃が日常的に行われていた事がわかりました。
ずっとWAFをオフにした状態で使っていましたが、今回の攻撃を機にWAFをオンにしました。そして、WAFの検出ログを確認してみたところ、かなりの数のディレクトリトラバーサル攻撃が行われていた事がわかりました。
ツールによる攻撃が頻繁に行われていました。
ディレクトリトラバーサルについて念のため調べ直してみたのですが…。
お恥ずかしい事に、Petit Noteにディレクトリトラバーサルの脆弱性が見つかりました。
たとえば、

foo/../../bar/

のように、相対パスで上の階層を指定して開発者が意図していない別の階層のファイルが開かれてしまう問題が見つかりました。
幸い、ログファイルの形式チェック機能が入っていたため、Petit Noteのログファイルまたはファイルの形式がものすごく近く、拡張子が.logのファイルが開かれる可能性があるだけでした。
しかし、これはあきらかな脆弱性です。
この脆弱性はPetit Note v0.50で修正されました。
また管理者パスワードを5回連続して間違えた時はログインできなくするロック機能も追加しました。
この機会にぜひアップデートをお願いします。

お絵かき掲示板交流サイト

お絵かき掲示板の交流サイトを運営しています。
スマホ・タブレット・PC各端末に対応したお絵かき掲示板です。
しぃお絵かき掲示板として親しまれてきた、PaintBBSのHTML5版NEOはいまでも人気です。
新しいお絵かき掲示板のお絵かきアプリ、ChickenPaint、Klecksもあります。使用している掲示板、Petit Noteは、2021年8月から開発を開始した1から作り直した新しいお絵かき掲示板です。
誰でも無料で使えるオープンソースの掲示板としてGitHubで開発・配布しています。
基本的には自分で使うための開発ですので、使用する過程で気になった点を改良してバージョンアップしています。
また、サポート掲示板やGitHubのissuesに寄せられた意見をもとに改良しています。
使ってみようかな?という方がいらっしゃいましたらぜひよろしくお願いします。

この記事が気に入ったらサポートをしてみませんか?