Wordpressサイトがどのようにハッキングされているかを追跡しようとしていますが、私が追跡しようとしていることの1つは、 "touch"コマンドでヒットしているファイルですこれは多くのハッキングが自分自身を隠すために行い、この場合に起こっている)。 newtouchという名前のスクリプトを作成しました。このスクリプトはタイムスタンプで送信されるすべてのパラメータをログに記録し、エイリアス化されたタッチをnewtouchにするだけです。これはうまく動作しますが、私はsshで動作しますが、PHPから呼び出そうとするとエイリアスを認識しません。私はいくつかの調査を行いました。これは、phpが別のシェルの下で実行されているためです。シェルがエイリアスコマンドを認識しない
$ php -r 'echo shell_exec( "echo $ 0");' sh
ホームディレクトリに.profileはありませんでした。作成したので、何を入れても何らかの理由でシェルに認識させることができません。私は単に単語テストをエコー、および.profileファイルの内部で、次のすべてを試してみましたという単純なエイリアスという名前のtouch2をしようとしたテストするには、のどれも働いた:
alias touch2='echo test'
alias touch2 'echo test'
touch2() {
echo test
}
を関係なく、私がしようとしたの、私は同じことを得ます結果:
$ sh
$ alias
$ touch2
sh: touch2: command not found
$ php -r 'echo shell_exec("alias");'
$ php -r 'echo shell_exec("touch2");'
sh: touch2: command not found
ご協力いただきありがとうございます。
あなたの個人的な別名が(彼らはルートに得ている場合は特に)新しいユーザーのシステムに何の意味か、あなたが設定した場合のように/パス/に/タッチ/ execの – zellio
タッチを実行するために発生しません。 '/ usr/bin/touch'(エイリアスをバイパス)やphp内部' touch() '関数(これはおそらくどちらかというと使用される可能性が高い)の直接呼び出しを防ぎません。 – mario
皆さんは早く回答しましたが、投稿は半分しか書かれていませんでしたが、タグを追加している間に誤って投稿しました。また、これは間違いなく、別のシェルを経由するのではなく、PHPを介して行われている。 –