• 解決済 tatamize_keika

    (@tatamize_keika)


    こんにちは。

    他のトピックを読んでいて、
    フリーのテンプレートを使おうとした方の質問の回答の中に
    「暗号化コードが入っているためやめたほうがよい」
    という内容を何度か見かけました。

    フリーのテンプレートを元にカスタマイズして
    サイトを制作することがしばしばあるのですが
    危険なテンプレートの見分け方はあるのでしょうか?
    暗号化コードというのはすぐに見てわかるものなのでしょうか?

    基本的に本家ワードプレスのサイト以外からテンプレートを利用することはありませんが
    よい方法があれば今後の参考までに教えていただけますと幸いです。

    よろしくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック投稿者 tatamize_keika

    (@tatamize_keika)

    すみません、追記です。

    ここに見分け方等を書く事が、よりそういった悪質サイトの複雑化につながり、増長させてしまうことになりそうでしたら回答は結構です・・・。

    そんなことはないですよ。
    単純にfooterなどにevalbase64などのコードが入っており、通常では読めない文字の羅列が見受けられます。
    見てすぐになんかおかしいと気づける程度のコードです。そういった難読化したコードを含むテーマは使うべきではないと思います。

    トピック投稿者 tatamize_keika

    (@tatamize_keika)

    >shokun0803様

    早速のご回答ありがとうございました!
    参考にさせていただきます!

    ところでさらにお聞きしてすみません・・・
    その問題のコードはfooter.php内などwordpressのPHPファイル内に埋め込まれていて
    Wordpressの生成物としてブラウザに出力されたファイルでは見えないものなのでしょうか?
    もしくはブラウザに出力されたファイルのソースをみれば確認できるものなのでしょうか?

    前者でfooter以外に仕込まれている可能性もあるのであれば、テンプレートのPHPファイルを全部目視で確認しないといけないものなのでしょうか・・・
    後者の場合であれば比較的探しやすそうなのですが・・・
    フォルダ内をなんらかのキーワードで一斉検索するなどの方法で自動的に検知する方法があればありがたいのですが・・・

    暗号化されたファイルがどのタイミングでどういう悪さをするのかのイメージが沸かないため不安になってしまっております。
    神経質になりすぎかもしれませんが・・・
    (全部自作すれば一番安全、なのは承知なのですが横着な質問ですみません。)

    その問題のコードはfooter.php内などwordpressのPHPファイル内に埋め込まれていて
    Wordpressの生成物としてブラウザに出力されたファイルでは見えないものなのでしょうか?
    もしくはブラウザに出力されたファイルのソースをみれば確認できるものなのでしょうか?

    「ブラウザーからは見えない」が正解です。PHP ファイルはウェブサーバーによって解釈され、ブラウザーに対してその実行結果を返すものだからです。
    footer.php 以外には、header.php, functions.php, sidebar.php, index.php などに混入している可能性があります。それ以外のテンプレートは、状況に応じて使われるものなので、難読化コードが入ってない可能性が高いです。ただし、footer.php から他のファイルを include または require して、そこに難読化コードを入れるという技法はあり得ます。けっきょく、「テーマ内のすべての PHP ファイルを検査する」ことが必要です。

    ただし、検査の方法は単純で、eval() 関数や base64_decode() 関数が存在するかどうかで確認すればよいです。これらの関数があれば直ちに危険とは限りませんが、eval(base64_decode('何やら複雑な文字列')) のようなコードであれば「危険」判定をしていいと思います。

    一般に、eval() を使っているコードは脆弱だと考えて構いません。まっとうな処理をするために eval() を使うこともありますが、WordPress のテーマやプラグインで eval() でないと実現できないような処理は、通常は考えられません。

    Block Bad Queries (BBQ)は確か本家でも薦められていたと思います。

    コードは下のリンク先ページを見ての通りいたってシンプルなのですが、条件で指定されているような悪意のある(っぽい)URLリクエストに対して414エラーを返すようになってます(BBQをオプションで選択できるセキュリティ系プラグインもあります)。

    参照:Protect WordPress Against Malicious URL Requests

    スキャン系のプラグインなんかも色々出てますよね。ただご使用は自己責任で(偽のセキュリティ対策ソフト問題とか現実にありますので)。

    トピック投稿者 tatamize_keika

    (@tatamize_keika)

    返事が遅れましてすみません!!!
    丁寧なご説明、大変参考になります。ありがとうございます。

    >lilyfan様

    ご説明ありがとうございます。とてもわかりやすかったです。
    「テーマ内のすべての PHP ファイルを検査する」必要があるのですね・・・
    「eval」や「base64」 のキーワードでフォルダ内を検索するという方法でも探せそうですね。
    (すみません、最初shokun0803様にご回答をいただいた時はそういう名前の言語かなにかでスクリプトと思っていませんでした・・・PHP辞典にちゃんと載っているのに不勉強でした。。。)

    >akihiro様

    プラグインが出ているのですね。情報ありがとうございます。
    Block Bad Queries (BBQ)、便利そうですね!

    フリーで使えるソースは便利ですが
    気をつけなければ本当に怖いですね・・・

    大変参考になりました。ご回答ありがとうございました。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「暗号化されたコードの入ったテンプレートの見分け方を教えてください」には新たに返信することはできません。