Skip to content

脆弱性を修正#40

Merged
big2men merged 6 commits into
open-qhm:masterfrom
big2men:hotfix/swfu-upload-script
Dec 22, 2016
Merged

脆弱性を修正#40
big2men merged 6 commits into
open-qhm:masterfrom
big2men:hotfix/swfu-upload-script

Conversation

@big2men

@big2men big2men commented Dec 22, 2016

Copy link
Copy Markdown
Member

概要

  • 既知の脆弱性を修正

タスク

  • レビュー
  • パッチバージョンアップ
  • リリース
  • お知らせ

@big2men big2men added the bug label Dec 22, 2016
@big2men big2men assigned ghost Dec 22, 2016
@big2men big2men requested a review from a user December 22, 2016 01:21
@ishimaru130

ishimaru130 commented Dec 22, 2016

Copy link
Copy Markdown

.htaccessですが、
<FilesMatch "\.php$">
サーバーによっては、PerlなどのCGIも標準で動く設定になっています。
<FilesMatch "\.(php|cgi|pl)$">
くらいは想定しておいた方が良いと思います。

@big2men

big2men commented Dec 22, 2016

Copy link
Copy Markdown
Member Author

@ishimaru130
それもそうですね。
cgipl も実行とアップロード禁止しておきましょう。

@ishimaru130

ishimaru130 commented Dec 22, 2016

Copy link
Copy Markdown

upload2.phpですが、
拡張子のチェックは、50行目の前でやらないと、
ファイル名の含まれる文字の種類によっては、
チェックをすり抜けるような気がします。

@big2men

big2men commented Dec 22, 2016

Copy link
Copy Markdown
Member Author

( ゚д゚)ハッ!
@ishimaru130 直しました。ありがとうございます!

@ishimaru130

Copy link
Copy Markdown

確認されていると思いますが、beeさんの指摘。
http://haikforum.qhmtips.com/patio/patio.cgi?read=57&ukey=0

upload.php は使っていないのですか。これをまず削除するのが必要なのですかね。
そうすれば、第3者がプログラム等を勝手にアップできなくなるのですかね。
ただ、簡単なパスワードやパスワードの漏洩もあるので、今回のその他の対応も
重要と言うことですかね。

cgiやplは通常実行権限が必要なのでアップロードされても
Linux系サーバーだと実行出来ずエラーになると思われる。Windows系は実行権限無くても実行される。拡張子exeやcomも問題有りになりますね。
確かにhtmlなどもアップロードできるので、おかしなページが出来てしまう。
他に注意しておくことなどは無かったでしょうか。

@big2men

big2men commented Dec 22, 2016

Copy link
Copy Markdown
Member Author

@ishimaru130 あちらにもコメントしておきました。

拡張子のブラックリストについてはキリがないのでホワイトリストの方が良いかもですね。。

@ishimaru130

Copy link
Copy Markdown

いろいろと有難うございます。
swfuの場合はアップロードしたファイルにダイレクトにアクセスできてしますのが
便利だけど、いろいろと気をつけないといけない訳ですね。

私も拡張子はホワイトリストの方が良いと思います。

@big2men

big2men commented Dec 22, 2016

Copy link
Copy Markdown
Member Author

@ishimaru130 こちらこそ、ありがとうございます。

ホワイトリスト化は後日やるとして、
現在アップロードされてしまっているファイルの実行を抑えるために、
.htaccess の記述を下記を参考に更新するのが良さそうですね。

FilesMatch ".+\.ph(p[3457]?|t|tml)$"

↑bee さんの書いていたものです。

@ishimaru130

ishimaru130 commented Dec 22, 2016

Copy link
Copy Markdown

<FilesMatch ".(php[3457]*|pht|phtml|html*|cgi|pl|exe|com)$">
括弧()の入れ子が出来たか不安。Windowsだと権限無くても動く可能性があると
考えると、cgi,pl,exe,comも対象にしたほうが良いような…。それとhtm,htmlも。
やり過ぎかな。

WindowsとUnix系でcgi等を動かす環境が違うので自信がありません。
詳しい方、添削して下さい。

@big2men

big2men commented Dec 22, 2016

Copy link
Copy Markdown
Member Author

僕も検証環境がないですね。。
ひとまずはGETでアクセスができなければ良いので、その動作テストならできます。

@ishimaru130

Copy link
Copy Markdown

無料ダウンロードのopen-QHMだと5.2くらいからswfuが導入されていると思います。
今回のconfig.php, upload.php, upload2.phpを上書きしてみました。2,3ファイルを
アップロードした程度ですが、エラー等は画面に表示されること無くアップロード、
利用可能でした。

基本的にqhm,haikのswfuは同じものと考えて良いのでしょうか。

@big2men

big2men commented Dec 22, 2016

Copy link
Copy Markdown
Member Author

@ishimaru130 ひとまず、 .htaccess はアップデートしました。
これで今日できる対応としては及第点ではないでしょうか。

無料ダウンロードのopen-QHMだと5.2くらいからswfuが導入されていると思います。

v6 未満のバージョンについては swfu は有償版の特典だったので無かったはずです。
例外として accafe.jp や体験版QHMでは swfu は利用可能でした。

@ghost ghost left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

テストして確認しました!OKです!

@big2men

big2men commented Dec 22, 2016

Copy link
Copy Markdown
Member Author

@tanakakc ありがとう! 🤘
では、パッチバージョンアップします!

@big2men big2men merged commit ea6168b into open-qhm:master Dec 22, 2016
@big2men big2men deleted the hotfix/swfu-upload-script branch December 22, 2016 14:25
@ghost ghost mentioned this pull request Dec 22, 2016
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants