旧HAIK forum (参照のみ)

« back RSS

[550]QHMの脆弱性 2016/12/03(Sat) 16:41:24
name : いしまる [設置先]
気になって「QHM 脆弱性」で検索してみる。
2012年9月の情報として直ぐに見つかりました。

BBSのプラグインを使っている場合、投稿内容として
任意のHTML、JavaScriptが許可され、JavaScriptは
実行されてしまうという事のようです。

#article プラグインが問題があり、GitHubのqhm6.04でも
回避していないようです。今テストしたら管理者でない書き込みで
任意のJavaScriptが実行出来てしまいました。

#article プラグインを利用されている方は注意したほうが
いいようですね。
 
pass :

[551]Re:QHMの脆弱性 2016/12/03(Sat) 16:59:15
name : いしまる [設置先]
ソースのヘッダー情報だと
#article プラグインは、PukiWikiのプラグインですね。

$article = wikiescape($article);
とあるので、PukiWikiとしては問題のある文字などの
対処はしているみたいですが、wikiescapeはどこのソースに
あるのかな?

QHMで#htmlプラグインを作った段階で対応が必要だったけど
抜けていたという事になるのかな。
他にJavaScriptを記述できるプラグインがありましたが、
それも同様かな。
 
pass :
[552]Re:QHMの脆弱性 2016/12/03(Sat) 17:25:42
name : いしまる [設置先]
lib/func.php の 1038行あたりから

function wikiescape($string){
//今のところ、#html{{ と、 #html2 だけ
$ret = '';
$lines = explode("\n", $string);
foreach($lines as $line){
$ret .= preg_replace('/^#html/', "# html", $line) ."\n";
}

return $ret;
}
としてある部分の
$ret .= preg_replace('/^#html/', "# html", $line) ."\n";

$ret .= preg_replace('/^(#)(html|beforescript|style|lastscript)/i', "$1 $2", $line) ."\n";
とすると、とりあえず回避出来るかな。
変更してテストしてみます。
 
pass :
[553]Re:Re:QHMの脆弱性 2016/12/03(Sat) 17:34:18
name : いしまる [設置先]
#とHTMLの間に空白を1個入れることで対応しているので
それを大文字でも動作するように調整したことになります。

以下URLは後ほど消しますが、テスト結果です。
任意のJavaScriptのコードは実行出来なくなりました。

http://haik.oi21.net/index.php?testbbs

他には大丈夫でしょうか。
 
pass :
[559]Re:QHMの脆弱性 2016/12/04(Sun) 1:20:11
name : bee
注意したほうがいいというレベルではありません。
重大なXSS脆弱性です。

たとえば、これが投稿できてしまいます。
#HTML{{
<script>
alert(document.cookie);
</script>
}}

ログインした状態で閲覧すればわかりますが 'QHMSSID5' (管理者を識別するためのCookie)が含まれています。
alertで表示するだけなら実害はありませんが、実際はいくらでも悪用可能です。
QHMSSID5の情報を盗んでしまえば、管理者になりすましてログインできます。
(掲示板に攻撃JavaScriptを貼る→管理者がログインしたまま掲示板に来るのを待つ→罠に掛かったら管理者になりすましてコンテンツ書き換え放題)

はっきり言って呆れるような脆弱性です。
セッションハイジャック可能なまま4年も放置されているCMSは初めて見ました。
 
pass :
[560]Re:Re:QHMの脆弱性 2016/12/04(Sun) 2:23:45
name : bee
公式のお問い合わせにも投稿しました。

個人が可能な対策は「ユーザーが投稿可能なプラグインを使用しない」ことです。
使用していた場合、#article などを設置していたページ以外もすでに改竄されている可能性があります。
すべてのページをチェックし、キャッシュをクリアしてください。
 
pass :
[561]Re:Re:QHMの脆弱性 2016/12/04(Sun) 2:35:52
name : Yujiro
いしまるさん、beeさん。

私自身セキュリティーは素人だったので速攻で少し勉強させていただきました。ありがたいことです。

とりあえず#article は完全アウトなことだけはわかりました。ほとんど幼稚なほど。HAIKなんたらSEOのなんたら、売れるサイトができますなんたら言っている場合ではない感じ。

これは今の会社、「ウェビアスプロモーション株式会社」に報告すべきでしょうが。正直なところ、そんな気も起きないほどの・・・

あ、beeさん報告お疲れさま。
会社はなんらかの返答をするでしょう。是非ともその内容をお知らせください。
 
pass :
[562]Re:QHMの脆弱性 2016/12/04(Sun) 6:59:45
name : いしまる [設置先]
beeさん報告ありがとうございます。

HAIKをもう使わないという三段梯子さんの投稿が気になってネットで
調べてでていたものですが、他にもあるのかもしれませんね。
閲覧者から書き込みが出来る掲示板などは特に注意が必要ですね。

だれでも検索して見つかるようなものが対策が不完全なまま
だったのは残念なことですね。
 
pass :
[564]Re:QHMの脆弱性 2016/12/04(Sun) 19:00:50
name : うみほし [home]
こfれ、HAIK-CLUBの中の掲示板でも警告した方がいいのかな?
ここに事例を書いたということは、攻撃しようと思えばまねしていつでもできるって事ですね。
 
pass :
[569]Re:QHMの脆弱性 2016/12/05(Mon) 2:21:42
name : 箔ono
今回の件で、こちらのプラグインをすべてHPより取り除きました。

ありがとうございました。

ただ、まだ #comment2 というのは、残っているのですが、これも基本的に
誰でも書き込みができます。こちらも同じようなものなのでしょうか?

教えていただけますと、助かります。すぐに取り除きます。
 
pass :
[570]Re:Re:QHMの脆弱性 2016/12/05(Mon) 6:31:10
name : うみほし [home]
>ただ、まだ #comment2 というのは、残っているのですが、これも基本的に
>誰でも書き込みができます。こちらも同じようなものなのでしょうか?

 私も気になります。テストサイトで実験してみようと思います。

 なおHAIK-CLUB掲示板でも注意喚起しておきました。対応は運営に任せたいと思います。
 
pass :


[1][2]
解決済みのためこれ以上の返信はできません。

+ P forum 1.33 +
このHAIK forumは、QHMユーザフォーラムが閉鎖されため、その代わりにtomzoが個人的に作成しているものです。
どうぞご自由にお使いください。当フォーラムはシステム不調により、新規書き込みは禁止とします。新HAIK forumをお使いください。 2016.9.22作成
一歩先を行くhaikユーザのためのTips