質問:
このphpコードをデコードするにはどうすればよいですか?
Ansh Gujral
2015-06-15 22:08:16 UTC
view on stackexchange narkive permalink

このバックドアはクライアントのウェブサイトで見つかりました。

http://pastebin.com/wVs8w44v(元の形式)

http://pastebin.com/acfx49QJ (半読み取り可能)

それを取り除き、難読化されたスクリプトであることに気付きましたが、この問題の根本に到達し、この攻撃の背後にある動機をよりよく理解するために、どうすれば難読化を解除できますか?

ありがとう!

どういたしまして(ITセキュリティサイトで削除された質問に関連して)。 SEサイトにコードの最も重要な部分(この場合はサンプル)を含めてみてください。
1 回答:
Jason Geffner
2015-06-15 23:08:23 UTC
view on stackexchange narkive permalink

文字列の難読化の大部分を解読するための小さなPythonスクリプトを作成しました:

  import urllibimport rephp = urllib.urlopen( "http://pastebin.com/raw.php?i = wVs8w44v ")。read()#$ z26 =" jmiO @ sxhFnD>J \ r / u + RcHz3} g \ nd {^ 8?eVwl_T \\\ t | N5q)LobU]をエスケープしないように以下を少し変更します。 40!p%、rC-97k<'y = W:P $ 1BI&S6 \ "E(K`Y〜.Q; f [v2a#X * ZAGtM"#範囲内のすべての$ z26 [...]文字列をデコードします( len(z26)):php = php.replace( "$ z26 [" + str(i)+ "]"、 "\" "+ z26 [i] +" \ "")#デコードされた文字列を連結するphp = php.replace ( "\"。\ ""、 "")#re.finditer( "\ $ GLOBALS \ ['(?P<key> \ w +?)' \]のすべての$ GLOBALS [...] globals = {} formを置き換えます= \ "(?P<value>。*?)\"; "、php):globals [m.group(" key ")] = m.group(" value ")php = re.sub(" \ $ GLOBALS \ [ '(?P<key> \ w +?)' \] = \ "(?P<value>。*?)\"; "、" "、php)for key in globals.keys():php = php.replace(" $ GLOBALS [ '"+ key +"'] "、globals [key])print php コード> 

次に、出力を http://phpbeautifier.com/でフォーマットし、結果を http://pastebin.com/p7Tmvq4e

あとは関数と引数の名前を変更するだけですが、簡単に自動化することはできません。 http://pastebin.com/p7Tmvq4eのコンテンツは、あなたのニーズを満たすはずです!

私のこの些細な問題へのあなたの努力に本当に感謝します。できれば賛成します。


このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...