ホームページ > バックエンド開発 > PHPチュートリアル > 転送: php ウェブサイトの馬のチェック

転送: php ウェブサイトの馬のチェック

WBOY
リリース: 2016-06-20 12:32:59
オリジナル
1292 人が閲覧しました

PHP バックドア型トロイの木馬が一般的に使用する機能は、次の 4 つのタイプに大別できます。

1. システム コマンドを実行します: system、passthru、shell_exec、exec、popen、 proc_open
2. コードの実行と暗号化: eval、assert、call_user_func、base64_decode、gzinflate、gzuncompress、gzdecode、str_rot13
3. ファイルのインクルードと生成: require、require_once、include、include_once、file_get_contents、file_put_contents、fputs、 fwrite
4. .htaccess: SetHandler、auto_prepend_file、auto_append_file


したいキーワードfind はどのファイルに「hello word」が存在しますか? grep コマンド
grep –color -i -r -n “hello word” /data/www/

を使用します。

この方法で、キーワードを含むファイルを検索できます

–color は赤でマークされたキーワードです

-i は case- insensitive
-r はサブディレクトリを含む検索です
-d Skipサブディレクトリを無視します

上記のコマンドを使用して、フックのあるファイルを検索できますWeb サイト プロジェクト Ma のファイル

Three

バックドアをチェックするための 2 つの実用的な Linux コマンド:
。 find /data/web/website/ -iname *.php -mtime -35 /data/web/website/ ディレクトリで 35 分前に作成された php を見つけます
find /data/web/website/ -name “*. php" | >たとえば、

インジェクション脆弱性 eval(base64_decode

grep –color -i -r -n “eval” /data/www/ を見つけて、以前の通常のコードと比較して、そうであるかどうかを確認します。普通。次に、stat を使用してトロイの木馬ファイルの変更時刻を確認し、最後に WEB ログを探してトロイの木馬がどこから侵入したかを見つけます。

5:

PHP トロイの木馬を検索するコマンド:

Find PHP Trojans

# find ./ -name "*.php" |xargs egrep "phpspy| c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc"> /tmp/php.txt # grep -r --include=*.php '[^a-z]eval($_POST' . > /tmp/eval .txt # grep -r --include=*.php 'file_put_contents(.*$_POST[.*]);' /tmp/file_put_contents.txt # find ./ -name .php" -type f -print0 | >

table>

過去 1 日に変更された PHP ファイルを検索します

1

2

3

4

1

2

3

4

# find ./ -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc"> /tmp/php.txt

# grep -r --include=*.php  '[^a-z]eval($_POST' . > /tmp/eval.txt

# grep -r --include=*.php  'file_put_contents(.*$_POST[.*]);' . > /tmp/file_put_contents.txt

# find ./ -name "*.php" -type f -print0 | xargs -0 egrep "(phpspy|c99sh|milw0rm|eval(gzuncompress(base64_decoolcode|eval(base64_decoolcode|spider_bc|gzinflate)" | awk -F: '{print }' | sort | uniq

# find ./ -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc"> / tmp/php.txt

# grep -r --include=*.php '[^a-z]eval($_POST' . > /tmp/eval.txt

# grep - r --include=*.php ' file_put_contents(.*$_POST[.*]); > /tmp/file_put_contents.txt

# find ./ -name "*.php" -type f -print0 | xargs -0 egrep " (phpspy|c99sh|milw0rm|eval(gzuncompress(base64_decoolcode|eval(base64_decoolcode|spider_bc|gzinflate))" | awk -F: '{print $1}' | sort | uniq

1

#   find -mtime -1 -type f -name *.php

# find -mtime -1 -type f -name *.php

1

# find -mtime -1 -type f -name *.php

Web サイトの権限を変更する

1

2

# find -type f -name *.php -exec chmod 444 {} ;

# find ./ -type d -exec chmod 555{} ;

# find - type f -name *.php -exec chmod 444 {} ; # find ./ -type d -exec chmod 555{} ;

1

2

# find -type f -name *.php -exec chmod 444 {} ;

# find ./ -type d -exec chmod 555{} ;

1

2

3

#find /var/www/ -name “*.php” |xargs grep “eval” |more

#find /var/www/ -name “*.php” |xargs grep “shell_exec” |more

#find /var/www/ -name “*.php” |xargs grep “passthru” |more

最後の更新が 10 日であると仮定します以前は、10 日以内に生成された php ファイルを見つけることができました: find /var/www/ -name “*.php” -mtime -10 一般的なトロイの木馬コード関数も見つけることができますeval、shell_exec、passthru、popen、キーワード形式のシステム #find /var/www/ -name “*.php” |xargs grep “ eval” |more #find /var/www/ -name “*.php” |xargs grep “shell_exec” |more #find /var/www/ -name “*.php” |xargs grep “passthru” |more 123 #find /var/www/ -name "*.php" |xargs grep "eval" |more#find /var/www/ -name "*.php" |xargs grep "shell_exec ” |more#find /var/www/ -name "*.php" |xargs grep "passthru" |more

もちろん、Web サイト上に多数の php ファイルがないことが前提です。

PHP トロイの木馬を見つけてください。文

# find ./ -name “*.php” |xargs egrep “phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decode|spider_bc”) > /tmp/ php.txt # grep -r –include=*.php '[^a-z]eval($_POST' . > /tmp/eval.txt # grep -r –include=*.php 'file_put_contents( .*$_POST[ .*]);' > /tmp/file_put_contents.txt # find ./ -name "*.php" -type f -print0 egrep "(phpspy|c99sh|milw0rm|eval) (gzuncompress(base64_decode| eval(base64_decode|spider_bc|gzinflate)" | awk -F: '{print $1}' | sort | uniq

1

2

3

4

# find ./ -name “*.php” |xargs egrep “phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decode|spider_bc”> /tmp/php.txt

# grep -r –include=*.php ’[^a-z]eval($_POST’ . > /tmp/eval.txt

# grep -r –include=*.php ’file_put_contents(.*$_POST[.*]);’ . > /tmp/file_put_contents.txt

# find ./ -name “*.php” -type f -print0 | xargs -0 egrep “(phpspy|c99sh|milw0rm|eval(gzuncompress(base64_decode|eval(base64_decode|spider_bc|gzinflate)” | awk -F: ‘{print }’ | sort | uniq

1

2

3


4

# find ./ -name “*. php” |xargs egrep "phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decode|spider_bc"> /tmp/php.txt

# grep -r –include=*.php '[^a-z ]eval($_POST ' . > /tmp/eval.txt

# grep -r –include=*.php 'file_put_contents(.*$_POST[.*]);' . > /tmp /file_put_contents.txt

# find ./ -name "*.php" -type f -print0 | '{print $1}' ソート | tr>

前日に変更された項目を検索します PHP ファイル

# find -mtime -1 -type f -name *.php

Six

以下の操作は実際には冗長ですが、まだ見るべき点がいくつかあります。

コードを確認してください。

これは決してファイルごとのチェックではありません。Linxu には、現在のディレクトリ内のすべてのファイルで eval を持つファイルを完全に検索するための強力なコマンド

grep 'eval' * -R があります。 (サブディレクトリを含む) 、これにより、マウントされているファイルをすばやく見つけることができます。

eval については、php コードの文章をググってください。

2. ログを確認します。

今まで、丸太がどれほど価値があるのか​​分かりません。

grep コマンドは依然として主要なコマンドです。

アイデア: 担当サイトは Linux で、ポート 22 と 80 の 2 つだけが開かれています。外部実行コマンドはポート 80 から来ます。Selinux は httpd が /boot ファイルにアクセスすることを報告し、それが /boot ファイルにアクセスしていることを確認します。吊るされた。また、すべてのコマンド実行では、実行に送信されたファイルを POST する必要があります。したがって、ログ内のすべての POST レコードを探します。

cat access_log_20120823.log | grep 'POST' | grep -v 'reverse search' | grep -v を使用して通常の投稿を除外します。ただし、複雑すぎるのでサポートしません。それを理解する方法を知ってください。 (ここでは cat は推奨されません。tail を使用してファイルを追加して表示できます) これにより、問題が発生する前に回避し、いつか誰かが再びハッキングするのを防ぐことができます。毎日ログを見てください。 3. Web ページのディレクトリについては、Apache ユーザーに rx 権限のみを与え、w 権限を与えず、rx をディレクトリ設定に追加し、個々のファイルを除いて w を与えないでください。したがって、2 と組み合わせて使用​​すると、Linux で不規則な POST リクエストを迅速に除外できます。 1 と 2 を組み合わせることで、実際にハッキングされたページをすばやく見つけて、変更されたファイルをクリーンなコードに置き換えることができます。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート