2012-04-21 4 views
0

私は、ユーザーがファイルをアップロードして他のユーザーと共有できるウェブサイトを持っています。しかし、まずそれらを検証する必要があります。 最近誰かが次のコマンドでの.phpファイルをアップロード:このスクリプトは何をしますか?

‰PNG 

<?php 
eval(gzinflate(base64_decode("very large strings of characters"))); 

?> 

を私はそれが有害であるかもしれない考え出したので、私はそれを開いていませんでし。

誰でも何ができますか?まあ今は、私はそれをデコードされた文字列全体を計上したことや:

+5

悪意のあるものを実行します。 'eval'を' echo'に置き換えて見てください。または、実際の文字列を少なくともデコードできるように投稿してください。 – DCoder

+1

の可能な複製[eval(gzinflate(base64_decode()(http://stackoverflow.com/questions/3701291/how-to-decode-eval-gzinflate-base64-decode)をデコードする方法 –

+3

私は急いでいるどのくらい多くの人々がGoogleと呼ばれるサイトの考えを持っていないかを確認する –

答えて

2

攻撃者のコードのように見えるのは、base64でエンコードされ、gzipされています。

まず、コードはbase64エンコーディングからデコードされ、その後コードの文字列まで基本的に解凍されます。

そして、結果の文字列に対してevalが呼び出され、解読され解凍されたコードが実行されます。

しかし、どのコードが生成されるのか見ることなく、コードの実行時にどのようなコードが実行されるのかは分かりません。


私はコード化されたテキストをデコードしました。次のアプローチを使用して

(私はそれを考えると悪い考えであったと思いますが、主にWindowsを使用している場合は、実行ビットをオフにしてLinuxで少し安全です。だから私は、この場合には種のラッキーでした!)

<?php 
$test = gzinflate(base64_decode("encoded_text")); 
$myFile = "testFile.txt"; 
$fh = fopen($myFile, 'w'); 
fwrite($fh, $test); 
fclose($fh); 

私はちょうど私のブラウザにそれをエコー場合は私のコンピュータに感染する可能性がいくつかのランダムなHTMLやJavaScriptがあった場合だけでファイルに出力を書きました。そのため、ウイルス対策の警告が出された可能性があります。

まだ何が行われているのかわかりません。


4,750行のコードのようにコードをスキップするだけで、基本認証が設定されているようです。そして、データベース機能と基本的なhtmlインタフェースがたくさんあります。 PHPでこれ。またperlもあります。終わり近く。

基本的には次のようになります:画像が表示されているすべてのページは、コードの一部を出力してコードと共に実行し、入力データを取得しようとしますか、セッションデータを検索しようとしますおよび/またはデータベース値。

次に、コードの他の部分は、urlが次のように訪問されたときに基本的に管理インタフェースを作成します。url?admin = 1。これはBasic Auth認証を起動します。そして、ユーザが異なるクエリを試して、あなたのdbに関するメタデータを集めることができるインタフェースのような、単純なインタフェースphpmyadminがあります。おそらく他のものがexecなどに走っているでしょう。

私は間違っている可能性がありますが、それはコードを通過することから得られる要点です。

+0

私の質問に投稿したウェブサイトの連絡先ページにコードを投稿してください。 – Haz

+0

もちろん、送信しようとします。うまくいけばあなたのフォームには文字制限がありません。長いスクリプト。 – Gohn67

+0

とにかく私はそれを送った。うまくいけばそれは終わった。 – Gohn67

3

誰もそれ ....

編集を行うだろうか見て

<?php echo gzinflate(base64_decode("very large strings of characters")) ?> 

を行い、あなたを伝えることはできません貼り付けたhere

+0

私のアンチウイルスは私にこの警告を与えました: 次の脅威が発生しました: 要求されたオブジェクトは、以下のウイルスで感染しています:Backdoor.PHP.Rst.bl – Haz

+2

XSSコードがあればどうなりますか?たぶんphpがテキストとして出てくるでしょう。しかし、jsやhtmlや画像のリンクがあれば、出力されます。おそらくなぜ彼はウイルス対策の警告を受けたのだろう。私はファイルへの書き込みを提案し、それを見るのはおそらく馬鹿げていると認めますが。私は幸運だった。 – Gohn67

+0

あまり良いことではない – Haz

0

コードは、あなたが世話をする必要がある唯一のことは、あなたが

http://php.net/manual/en/function.gzinflate.php

を参照することができ文のこの種の参照のために

< ?php eval(gzinflate(base64_decode("very large strings of characters"))); 

を暗号化されている長い文字列で結構です

+0

彼はそれがうまくいかないか、あるいはそれがどういうふうに... –

関連する問題