あめスクのセキュリティホール対策
1投稿者:三河人  投稿日:02月28日(水)19時51分22秒
関連スレッド
http://ame.x0.com/main/010228144450.html
5投稿者:三河人  投稿日:02月28日(水)20時32分23秒
今、1のURL内の96番目で同意見が出ましたので、応急処置とは
なりえるようです。
あと、同URLの95番目で大ヒントが出ましたのでアタック方法が
解りました。

でも、こんな方法で出来たんだ…って感じです。
全然自信が無いので、教えてもらったヤツ全部採用してみます。
6投稿者:たぶん  投稿日:02月28日(水)20時55分13秒
$value =~ s/\r/<br>/g;
$form{$name} = $value;

$value =~ s/\r/<br>/g;
$value=~ s/s/\W//g; #追加行
$form{$name} = $value;

とすればいいんだと思うが、自信がないので、infoかIKeJIの
回答をまて。
7投稿者:三河人  投稿日:02月28日(水)21時59分53秒
とりあえず応急処置はしました。
んが、6さんの書いていただいたようなスクリプト対策は未だです。

ん?「¥D」って数字1文字の意味でしょうか?
それをストリング文で無効とする?!
8投稿者:名捨て人@深夜は三河版  投稿日:03月01日(木)00時49分26秒
ディレクトリの階層が違うのだから、その辺りでも
チェックはかけられますよ。
9投稿者:三河人  投稿日:03月01日(木)00時54分19秒
>靴スミさん
なるほど。header.htmlのあるディレクトリのパーミッションを落とすと
いう事ですね。
で、ログの有るフォルダのパーミッションは今まで通りという事で。
わざわざレスありがとうございました。

一応現時点での対応方法をば、あめだすに載せましたんで、初めて見る方は
参考にして下さい。
2/28〜3/1の記事が該当内容です。
http://mikawa.cside3.com/amedas/
10投稿者:靴屋のスミス  投稿日:03月01日(木)01時00分34秒
違いましたね、リファラでディレクトリの位置を示しているから
8 は効果ありません。
11投稿者:靴屋のスミス  投稿日:03月01日(木)01時02分05秒
8 は、ディレクトリの位置を変えるために ../header を使っていると思って
いたので、勘違いしていました。
三河人さんの 9 の対応は正しいです。
12投稿者:三河人  投稿日:03月01日(木)01時26分04秒
こういう時に迅速にアドバイスをしていただける方が居ると
本当に助かります。
つか、靴スミさんとお話してるだけで感謝しないといけないのに!!!
13投稿者:靴屋のスミス  投稿日:03月01日(木)01時35分25秒
仮のサポート削除依頼にも色々書きました。
セキュリティの大原則は、用心にも用心をってことです。
訪問者が多ければ、何でもありえます(ブラウザを使うとは限らない)し、
管理者側のミス(パーミッション設定漏れ)もあります。
防備は二重に三重に。です。

スクリプトが読まれても大丈夫なように、削除パスは crypt
で暗号化するのが普通ですが、解読ツールは思ったより強力です。
この辺りは靴スミ掲示板の過去ログに書いていますので、興味のある方
は、http://www7.freeweb.ne.jp/computer/csmith/log/2000/script/
の「実用上安全な暗号化」をお読みください。
14投稿者:三河人  投稿日:03月01日(木)01時57分04秒
うわ、13のURLログは知りませんでした。凄く貴重な資料です!!
ずずずい〜っと見ていきまして、最後の方にありましたです。

>そこで、簡単なパスワードに、crypt 関数を 2 回掛けてみたらどうで
>しょうか。
>元の平易なパスワード -> 1 段目 -> 2 段目

このシンプルながらも有効な方法は思いつきませんでした。
かなり感動しました。
って、実はcrypt命令がよく解らなくてサポートスクリプトに
上手く反映出来ていなかったりしてます。今後の宿題にしてみます。
ありがとうございましたー。
15投稿者:今回のは  投稿日:03月01日(木)17時32分12秒
こうかな?(自信なし)

$res = $form{'res'};

$form{'res'} =~ /(\d*)/ || &error('エラー');
$res = こうかな?(自信なし)

$res = $form{'res'};

$form{'res'} =~ /(\d*)/ || &error('エラー');
$res = $1; ;
16投稿者:三河人  投稿日:03月02日(金)01時08分30秒
結局、「*」の意味が本を読んでも解りませんでした。
パターンマッチの意味なのか、区切り文字の意味なのか…?

んで、昨日解ってなかったのですが、
\d → 数字
\D → 数字以外
だったのですね。両方とも「数字」だと思ってました。勉強不足。
17投稿者:ぁあ  投稿日:03月02日(金)02時15分12秒
ヨコレスまちがいたよ。
*は0字以上の繰り返し。
だから\d*で数字の何桁でもマッチできるはず。

あと、ネスケうんぬん説は、実験してないので、確信はないけど、
ネスケっつーよりか、レファラーごまかしをすれば、っつーことだろうな。

そりから、htmに変える方法は、オレの推測では、まだ突破できる。
やり方は、とーぜんだけど、書かない。
ざーIIで対策終わったってわひょが言ってたな。
18投稿者:三河人  投稿日:03月02日(金)10時54分12秒
私の考え方がおかしいのかな?
例えば、
$form{'res'} =~ /(\d*)/ || &error('エラー');
ですと、「レスhtml名が数字であった場合、エラー表示する」と
解釈してしまったのですが。
「数字以外であった場合にエラーとする」のでは?
多分私の解釈がどこかおかしいので、何方か指摘して下さい。
19投稿者:そう動かすには  投稿日:03月02日(金)11時56分33秒
$form{'res'}=~ /(\d*)/ && &error('エラー');
じゃないかな?
20投稿者:名捨て人@御昼は三河版  投稿日:03月02日(金)12時13分37秒
カリカリ時代のアメスク解釈読んだ?
21投稿者:三河人  投稿日:03月02日(金)17時48分54秒
>19〜20さん
あー、そうでした。
言われてみれば「そうでした」って感じです。すいません。
カリカリ時代のアメスク解釈は見まして、プリントアウトもしてますが、
あまり把握してなかったので。
勉強になりました。どもです。
22投稿者:15でいいのかな?  投稿日:03月02日(金)19時01分01秒
>靴スミ?
23投稿者:リミックス  投稿日:03月02日(金)19時27分39秒
には

$_ = $res;
s/\d+//g;
$thname = $_;

があるので、大丈夫。
24投稿者:つーことで  投稿日:03月02日(金)19時32分03秒
$res = $form{'res'};

$form{'res'} =~ /(\d+)/ || &error('エラー');
$res = $res = $form{'res'};

$form{'res'} =~ /(\d+)/ || &error('エラー');
$res = $1;

にして、動くかテストしてみて、大丈夫なら、これで問題解決!! ;

にして、動くかテストしてみて、大丈夫なら、これで問題解決!!
25投稿者:靴屋のスミス  投稿日:03月02日(金)20時46分14秒
桁数は決まっているんだから、
$form{'res'} =~ /\d\d\d\d\d\d\d\d\d\d\d\d/ || &error('エラー');
って書き方の方が確実だと思います。
もっとスマートな書き方があると思いますが。
26投稿者:じゃ  投稿日:03月02日(金)21時12分35秒
こうだ
$form{'res'} =~ /(\d{12})/ || &error('エラー');
$res = こうだ
$form{'res'} =~ /(\d{12})/ || &error('エラー');
$res = $1;

()がないと、2行目が使えない。
でも1行にできると思うけど、わからないヽ(´ー`)ノ ;

()がないと、2行目が使えない。
でも1行にできると思うけど、わからないヽ(´ー`)ノ
27投稿者:別に  投稿日:03月02日(金)21時16分36秒
1行にこだわんなくてもいいのかもしれないけど、
サポートさんのスクリプトは、とにかく短いのが魅力だし

$res = $form{'res'} if $form{'res'} =~ /(\d{12})/ || &error('エラー');

かな?
28投稿者:コピペ用  投稿日:03月02日(金)21時25分02秒
$res = $form{'res'} if $form{'res'} =~ /\d{12}/ || &error('エラー');

この調子で他の入力にも
$subj = $form{'subj'} if $form{'subj'} =~ /tekitounano/ || &error('エラー');

ってやるといいのかな?
29投稿者:三河人  投稿日:03月03日(土)01時19分52秒
なんか色んな方が練っていただいたようで、ありがとうございました。
perlはイマイチ解らない…。
インタプリタ言語って部分だけが取りつきやすくて解りやすいっす。
30投稿者:(*゚ー゚)  投稿日:03月04日(日)11時25分49秒
こんにちは。イタズラの犯人です。
わひょみさんの所も対策の為、一行加えたようです。
でも、ソースにパスワードを平文で書き込んでいるのは感心しませんね。
$resに拘るよりも、全体を見直した方が良いと思います。
これ以上詳しくは書きませんけども。

パスワードを知られて、DUKEで撃たれたとしたらどうでしょう。
本家の時とは比べ物にならない速さで、スレッドが消えていくのは明らかです。
素早く削除出来るのは、管理人も荒らしも変わりはありませんから。
私が気付いたと言う事は、いずれ他の人も気付きます。

>一連のサポートスクリプトアタックの件ですが、ネスケによる攻撃だったようです。
ハズレです。ネスケでそんな事が出来るなんて知りませんでした。
31投稿者:だよね  投稿日:03月04日(日)13時04分30秒
>ハズレです。ネスケでそんな事が出来るなんて知りませんでした

あと平文ではないよ
32投稿者:(*゚ー゚)  投稿日:03月05日(月)06時09分30秒
>31
私の書き方が紛らわしかったですね。
平文と書いたのは、サポートさんのオリジナルではなく、
あめざーねっとIIのamezo4.cgi(広場)の事です。
ネタにされているようなので、もうレスしません。
33投稿者:>(*゚ー゚)  投稿日:03月05日(月)06時44分38秒
あめざーねっとIIでちょっと前、見たような気がするな。
同一かな?
34投稿者:三河人  投稿日:03月05日(月)10時22分59秒
>(*゚ー゚)さん
ネタにしていると言えばそうですが、別に「笑いネタ」としている訳では
ありませんので。
あめだすに掲載したのは、
・大方の予想とは違う方法で行われた(?)
・原因/対応策が解る方は教えて欲しい
といった事を関係する人達に知らせる意味で掲載したからです。
35投稿者:靴屋のスミス  投稿日:03月05日(月)18時47分45秒
(*゚ー゚)さんがレスしないと言ったのは、笑われたとか
いう理由ではなくて、多くの人が知ると真似をする人が
出るのを懸念しての事だと思います。

わひょみさんにメールした後、30,31,32 は加工したほうが
良いかもしれません。>三河人さん
36投稿者:三河人  投稿日:03月05日(月)19時06分59秒
ふむ〜。そういう意味でしたか。
これまた勘違いでした。

靴スミさんが言ってる意味は解りましたが、(*゚ー゚)さんが言わんとしている
事がもう一つ解らない感じです。
が、それは公にしてはいけない内容だと思いますから当然公開しない方が
いいですね。

さて、どうやってわひょみさんに伝えようかな…。
37投稿者:今回の  投稿日:03月05日(月)19時30分07秒
(*゚ー゚)には、まったく悪意が感じられなかった。
セキュリティーを見なおせってメッセージは伝わった。

ま、お遊びの要素は感じたげとな。
38投稿者:靴屋のスミス  投稿日:03月06日(火)21時20分27秒
わひょみさんのメアドって、どこにあるんでしょうか。
もし、あまり知られていないようなら、このメアドにお願いできませんか?
39投稿者:三河人  投稿日:03月07日(水)01時23分53秒
わひょみさんのメアドはここに↓ありますよ。
http://mikawa.cside3.com/dbase/
ちなみに、わひょみさんは別にメアドを隠してはないそうですんで公にしても
OKだと言ってました。

こういった簡単な情報も含めて「知りたい」って人がたまに居るので
HP上でまとめて公開してますです。
たまには役に立ちます(笑)
40投稿者:三河人  投稿日:2002/04/03(水)02:05:01
あめスクじゃないですけど、ざー2のバグについて。
http://www.amezor.to/support/020322123624.html [そーす]

この対応ってなかなかされないのですけど、どうなんでしょうか?
難しいのかな?
一応、私の予想原因を書いたのですが…。
41投稿者:三河人  投稿日:2002/04/15(月)19:19:34
こーゆースレッドタイトル長文も
http://www.amezor.to/kill/020415174104.html [そーす]
荒しとみなすかネタとしてOKの範ちゅうとみなすか意見が分かれそうです。
42投稿者:三河人  投稿日:2002/06/30(日)20:30:31
ふと思ったのですが、現在のサポスクは1秒以内に多重新規スレ作成を
しようとするとホストレベルでアクセス不可にする機能が備わってると
(スクリプトを見て)思ってのですが、現在でもなぜか多重スレ作成が
行われてたり。
なんでだろ?
1.1秒を超える間隔で多重スレ投稿している為
2.串経由で多重スレ投稿している為

どっちかの理由でしょうか?
43投稿者:三河人  投稿日:2002/08/23(金)21:14:00
今更気がついた事だったのですが、あめスクでスレッド作成時に
スレッドタイトルへ「半角空白のみ」又は「全角空白のみ」の投稿が
可能ですな。
たまに(仮)や、ざー2でへんてこりんなスレッドを見てたのですが
コレも原因していた訳でしたか。
で、対応策。
とりあえずココは「タイトル部への全角/半角空白を無効とする」仕様に
しました。
他に考えた(とゆーか、一度は組み込んだ)対応策としては
「全角/半角空白のみのタイトル内容だったらエラーとする」って所でしょうか。
44投稿者:名捨て人  投稿日:2003/09/12(金)22:46:56
あめスクが変わったみたいです
45投稿者:三河人  投稿日:2003/09/13(土)00:37:16
>44の名捨て人さん
>あめスクが変わったみたいです

ん?サポスクのことですよね?
見てみましたが、変わってるような変わってないような感じで。
大きくは機能変更やら追加は無いと思いますが、何かありましたか?
46投稿者:三河人  投稿日:2004/04/19(月)01:15:12
最近発覚したセキュリティホール情報&対策に関して。
http://www.mikawaban.com/r.cgi?weblog/040418005349/5
http://www.mikawaban.com/r.cgi?weblog/040418005349/7
47投稿者:三河人  投稿日:2004/05/21(金)23:34:51
■削除パスワードは本当にハクされたのか?

参考URL
http://www.amezor.to/support/040516102139.html

マジで解らない。本当なのかどうかが。
まず考えられる点を列記。
---------------------------------------------
1.靴屋のスミス氏は削除パスを実は知らない場合
 (1)本人がネタで言ってるだけ
 (2)偽物が騙って書いてるだけ

2.靴屋のスミス氏は削除パスを知っている場合
 (1)自らハクして知った
 (2)削除パスを教えてもらった
    1)水谷わひょみ氏から教えてもらった
    2)別の人から教えてもらった
---------------------------------------------
1.の可能性はあると思うのですが。
別の削除人が消したのに便乗して、さも消したように言ってるだけで。

2.の場合。
(2)の線は一応無しという事になってますね。
わひょみさんが「教えてない」と言ってますし。とりあえず除外。
#削除人経由で漏れた線はありますが…。

となると、最後に残るは2.(1)。
本当にハク可能なんでしょうか?方法は?
<可能性>
a)鯖に乗り込んで削除パスが書かれている情報(スクリプト)を見て調べた
b)削除パスの総アタックにより調べた
c)その他

んー…。私個人的な意見としてはb)かな…と思う訳で。
ゴミ箱@の中で、アタックスクリプトを使いパスワード連続投稿チェック…?
可能なような気がしますが。
48投稿者:三河人  投稿日:2004/05/21(金)23:42:33
続き。

仮にb)だったとした場合、地道ながら100%防ぐ方法は無いかと。
例えば、固定パスワードであった場合ですが。
ココがミソかな?
「ある法則」に基づき、パスワードが変更するようにするとか。

つーか、そもそも不正な連続投稿を100%防ぐような措置が取れないと
イタチごっこですね。
いや、既にイタチごっこになってますか。防げないから。

あんまり深く考えてないから「こうしたらどうか?」といった案は
出てきませんが、原因が解らない限りは対応策も講じれないわけで。

[中間報告]
ハク方法も対策もわからへん!!(笑)
49投稿者:三河人  投稿日:2004/05/24(月)12:35:02
ちょっと切実な問題でもあります。
-------------------------------------------------------------
56投稿者:水谷わひょみ  投稿日:2004年05月24日(月) 10時48分39秒

穴が開いたまま放置するわけにも行きませんが、原因が分からないため
今のところ対策を行う事が出来ません。
長い間大きな問題は無く運営できていたのですが、残念です。
http://www.amezor.to/cgi-bin/res.cgi?dir=support&res=040516102139&st=56
50投稿者:三河人  投稿日:2004/05/25(火)00:28:46
靴スミさんにメール出して質問したけど、返事が来ない。
51投稿者:三河人  投稿日:2004/05/25(火)20:56:06
返事があった。
怖いから折を見て触れていきます。
52投稿者:三河人  投稿日:2004/07/24(土)01:01:30
あめスクのセキュリティホール対策について。
http://www.mikawaban.com/r.cgi?weblog/040418005349/30
53投稿者:三河人  投稿日:2004/11/28(日)02:59:56
--------------------------------------------------
59投稿者:  投稿日:2004年11月28日(日)00時35分20秒

>39
スレッドが過去ログに行ってますね。
http://ame.dip.jp/log/main/041020090658.html

原因は↓
http://www.geocities.jp/mychan_im/hakai2.html

で、サポート氏は投稿内容に「文字コード"1A"の制御文字」が含まれていたら
その文字を削除することでスレ破壊書き込みを使えなくしたようです。
http://ame.dip.jp/ame/cgi/040805063056.html
--------------------------------------------------
との事でしたが、パッと見た限りではサポスクに変化が無いような…?
それ以前に、何も対策してないのにココやざーIIIがOKなのか疑問です。
54投稿者:三河人  投稿日:2004/12/11(土)23:17:33
あー、漏れはヴァカだった(笑)
飲尿53
の件、やっと対処方法が解った。
見ていたアメスクのソースが違いました。
サポスクは、さくら鯖用と自宅鯖用の2種類が存在していた訳ですね。

さくら鯖のサポートスクリプト
http://ame.x0.com/amezo.cgi

自宅鯖のサポートスクリプト
http://ame.dip.jp/ame/amezo.cgi

んで、自宅鯖のスクリプトを見ると、ちゃんと
$value =~ s/\x1a//g;
の記述があるじゃないすか。納得。
つー事は、転送URLが絡む事による、どちらかとゆーとハード面のバグですね。
それをソフト側(スクリプト側)で対処した、と。
投稿者 メール

新着レス 前の50個 次の50個 レス全部を見る 掲示板に戻る 上へ