NP_cles()

12345678910111213141516171819202122232425262728293031

NP_Blacklist 0.98 jp9

 
投稿者:hsur 投稿日時:2006-11-26 - 15:49
カテゴリー:Plug-in - - トラックバック(2)- Views: 252

セキュリティに問題のあるコードの改善をおこないました。

jp8以前のバージョンにはCSRF攻撃に対する脆弱性が存在します。この問題についてはNP_0TicketForPluginで解決することもできますが、このバージョンでは独自に対策を行っています。

ダウンロードはこちら [NP_Blacklist v0.98 jp9][508clicks]
NP_Blacklist v1.0をリリースしています。

※利用方法についてはNucleusCMS Japanのplugins:np_blacklist [Nucleus CMS Japan Wiki]にまとめてあります。

動作確認はNucleus 3.24(UTF-8)、PHP 4.4.4環境で行っています。
動作確認報告、バグ報告はこのエントリへ、コメント・トラックバックをお願いします。

[Changed] 正規表現に/m修飾子を追加

ブラックリスト照合時の正規表現に/m修飾子を追加しました。
複数行の行頭にマッチするような正規表現の記述が可能になります。

[Added] Ticket処理を追加(CSRF対策)

CSRF攻撃に対する脆弱性について対策を行いました。
この問題についてはNP_0TicketForPluginで解決することもできます。

[Added] localhostからのアクセスをspam判定しないようにした

ループバックアドレス(127.0.0.x)からのアクセスをspam判定しないようにしました。

[Added] ユーザーがログインしている場合にspam判定しないようにした

ログイン済みのユーザーに対してspam判定をしないようにしました

[Changed] PreSkinParseイベントを廃止

PreSkinParseイベントへの対応を廃止しました。
これによりIPブロックを有効にしていて、spam判定された場合にでも、ページが表示されるようになります。
※これまでどおり、コメント、トラックバックについては遮断されます。

    このエントリは役に立ちましたか?

      

    トラックバックについて [policy]

    Trackback URL:
    Trackbacks
    スパム関係の調査をしてるときにふと気になったのが、NoRobotCommentでスパムとみなしたものがBlacklistでもひっかかってること。 なんでだろうとコアのほうを追ってみたら、どうもValidateFormイベントで一度フ...
    Nucleusだとか (2006/12/18 18:06)
    http://blog.cles.jp/item/1730 CSRF攻撃に対する脆弱性に対応された他にも細かい部分でいろいろ修正されていますので、アップグレードしておいた方がいいでしょう。 あと自分の環境だけなのかもしれませんが、ブラ...
    →C↓C←C↑C (2006/11/30 22:10)

    Comments [policy]

    まみお wrote:

    気付いた点が1つ。
    『Test Blacklist』で、イコールを入れるとそれ以降の文字列を判定してくれません。
    a=(禁止ワード)
    みたいな入力で確認できると思います。

    もちろん、$_GET["expression"]の時点でイコール以下が切り取られているためだと思われますが、urlでは入力したイコールは%3Dなんで、この切り取られちゃう現象がv3.24のごにょごにょのせいなのかどうか頭が混乱してしまいました。
    パッチは何も入れていない状態です。(パッチ入れたらまた変化するかな)

    投げてしまってごめんなさい。

    2006-12-22 10:44 <%HatenaAuth()%> 

    hsur wrote:

    『Test Blacklist』で、イコールを入れるとそれ以降の文字列を判定してくれません。

    あれ、これって入力するときの話ですか?
    それともspam判定するときの話?

    入力するときの話であればコアのバグ($ _GET["expression"]の=以下切り取られ問題)の関係だと思います。入力は%3Dでも、$_GET[]に入ると=にデコードされる話なので。CVS版コア(もしくはdevに投げたパッチ)で直るんではないかと。

    コアにパッチを入れてしまっているせいだと思うんですが、うまく再現できないんですよね、、、、

    2006-12-23 19:14 <%HatenaAuth()%> 

    いっつ wrote:

    ローカルネットワーク(192.168.0.0/24)からだと、niku.2ch.netがスパムと判断してしまいます。
    IPアドレスのみのホワイトリストの設定があればよいと思います。

    2007-01-19 02:27 <%HatenaAuth()%> 

    hsur wrote:

    ありがとうございます。検討します。

    2007-01-20 22:44 <%HatenaAuth()%> 

    GAKU wrote:

    お手数ですが、教えてください。

    「href=...」が3回以上含まれるコメント、
    「http...」が3回以上含まれるコメントをはじく
    という設定は、どこに記述するのですか?

    2007-01-27 08:14 <%HatenaAuth()%> 

    hsur wrote:

    順を追って説明しますが、インストールをすると管理画面の左側のメニューに「Blacklist」という項目が出てくるので、それを開くと「Blacklist menu」という画面が出てくると思います。

    「Blacklist menu」の画面で、「Blacklist Editor」を選ぶと、
    ・expression
    ・comment
    ・enable regular expressions ?
    という3つの入力項目があるページになると思います。そこが、Blacklistの編集画面になります。

    さらに登録の仕方ですが、expressionに3回以上含まれるコメントをはじく文字列、commentには何か適当なコメントを入れ、さらにenable regular expressions ?にチェックを入れた状態で「add」ボタンを押すと、ルールが登録されます。

    という感じでいかがでしょうか?

    2007-01-27 15:51 <%HatenaAuth()%> 

    GAKU wrote:

    お返事ありがとうございます。

    expressionに3回以上含まれるコメントをはじく文字列を入れると、1回でもその文字列があると、はじかれてしまします。

    「href=...」「http...」が3回以上含まれるコメントをはじくようにしたいのです。
    あくまでも3回以上で、はじきたいのです。

    教えてください。

    2007-01-29 17:46 <%HatenaAuth()%> 

    hsur wrote:

    これだけでは僕のほうでも良くわからないので、もうちょっと詳しく教えてください。
    ・使っているNP_Blacklistのバージョン
    ・設定しているexpression
    ・はじかれた場合に残るログの内容(Blacklist Logから見ることができます)

    2007-01-30 20:09 <%HatenaAuth()%> 

    GAKU wrote:

    バージョンは、0.98 jp9です。
    設定しているexpressionは、httpです。
    はじかれた場合に残るログの内容は、comment: http です。

    コメントと言っても、コメント欄ではなく、メールまたはWebサイトの入力欄にhttpを入れると、スパムページに飛ばされてしまいます。
    原因は何でしょうか?
    教えて下さい。

    2007-02-03 11:42 <%HatenaAuth()%> 

    hsur wrote:

    状況が理解できました。

    今のBlacklistではコメント、名前、メールまたはWebサイトなど全ての入力欄をつなげて、その中からexpressionで検索するようになっているので、expressionにhttpを設定するとスパム判定されてしまうのは仕方がないことです。

    たとえばですが、正規表現を有効にして

    (http(.|\n|\r)*?){2,}

    とすればhttpが2つ以上の場合にspam判定となるので、メールまたはWebサイト欄は入力できると思うのですが、いかがでしょうか?

    2007-02-03 12:50 <%HatenaAuth()%> 

    GAKU wrote:

    この正規表現 (http(.|\n|\r)*?){2,} というのはどこかに追加記入するのですか?
    すみません初心者で・・・。
    お手数ですが教えてください。

    2007-02-04 14:44 <%HatenaAuth()%> 

    hsur wrote:

    この正規表現 (http(.|\n|\r)*?){2,} というのはどこかに追加記入するのですか?

    これもBlacklist Editorから設定します。以前のhttpが設定されているままだったら、それをまず削除してください。

    その後で、(http(.|\n|\r)*?){2,}をexpressionに入力し、enable regular expressions ?のチェックボックスをオンにした状態で登録してください。

    v1.0をリリースしたので、そちらのほうが画面が日本語になっているので操作しやすいかもしれません。
    http://blog.cles.jp/item/1836

    2007-02-04 14:51 <%HatenaAuth()%> 

    GAKU wrote:

    v1.0にアップし、出来ました!
    ありがとうございました。

    2007-02-07 11:57 <%HatenaAuth()%> 

    Add Comments

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン