3v4l.org

run code in 300+ PHP versions simultaneously
<?php //error_reporting(0); $_POST["kfc"] = true ; $_GET["man"] = urldecode("exit(aaa);"); $b = array("K","F","C"); $B = $_POST["kfc"]; if($B == $b && $B !== $b){ var_dump(preg_replace('/;+/','vivo50',preg_replace('/[A-Za-z_\(\)]+/','',$_GET["man"]))); if('vivo50' === preg_replace('/;+/','vivo50',preg_replace('/[A-Za-z_\(\)]+/','',$_GET["man"]))){ echo $_GET["man"]; eval($_GET["man"].'giveme50!'); } else{ echo "joker"; } } else{ echo "nonono!"; }
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 15, Position 2 = 17
Branch analysis from position: 15
2 jumps found. (Code = 43) Position 1 = 18, Position 2 = 57
Branch analysis from position: 18
2 jumps found. (Code = 43) Position 1 = 47, Position 2 = 55
Branch analysis from position: 47
1 jumps found. (Code = 42) Position 1 = 56
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 58
Branch analysis from position: 58
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 55
1 jumps found. (Code = 42) Position 1 = 58
Branch analysis from position: 58
Branch analysis from position: 57
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
filename:       /in/R51ZZ
function name:  (null)
number of ops:  59
compiled vars:  !0 = $b, !1 = $B
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   FETCH_W                      global              $2      '_POST'
          1        ASSIGN_DIM                                               $2, 'kfc'
          2        OP_DATA                                                  <true>
    4     3        INIT_FCALL                                               'urldecode'
          4        SEND_VAL                                                 'exit%28aaa%29%3B'
          5        DO_ICALL                                         $6      
          6        FETCH_W                      global              $4      '_GET'
          7        ASSIGN_DIM                                               $4, 'man'
          8        OP_DATA                                                  $6
    5     9        ASSIGN                                                   !0, <array>
    6    10        FETCH_R                      global              ~8      '_POST'
         11        FETCH_DIM_R                                      ~9      ~8, 'kfc'
         12        ASSIGN                                                   !1, ~9
    7    13        IS_EQUAL                                         ~11     !1, !0
         14      > JMPZ_EX                                          ~11     ~11, ->17
         15    >   IS_NOT_IDENTICAL                                 ~12     !1, !0
         16        BOOL                                             ~11     ~12
         17    > > JMPZ                                                     ~11, ->57
    9    18    >   INIT_FCALL                                               'var_dump'
         19        INIT_FCALL                                               'preg_replace'
         20        SEND_VAL                                                 '%2F%3B%2B%2F'
         21        SEND_VAL                                                 'vivo50'
         22        INIT_FCALL                                               'preg_replace'
         23        SEND_VAL                                                 '%2F%5BA-Za-z_%5C%28%5C%29%5D%2B%2F'
         24        SEND_VAL                                                 ''
         25        FETCH_R                      global              ~13     '_GET'
         26        FETCH_DIM_R                                      ~14     ~13, 'man'
         27        SEND_VAL                                                 ~14
         28        DO_ICALL                                         $15     
         29        SEND_VAR                                                 $15
         30        DO_ICALL                                         $16     
         31        SEND_VAR                                                 $16
         32        DO_ICALL                                                 
   10    33        INIT_FCALL                                               'preg_replace'
         34        SEND_VAL                                                 '%2F%3B%2B%2F'
         35        SEND_VAL                                                 'vivo50'
         36        INIT_FCALL                                               'preg_replace'
         37        SEND_VAL                                                 '%2F%5BA-Za-z_%5C%28%5C%29%5D%2B%2F'
         38        SEND_VAL                                                 ''
         39        FETCH_R                      global              ~18     '_GET'
         40        FETCH_DIM_R                                      ~19     ~18, 'man'
         41        SEND_VAL                                                 ~19
         42        DO_ICALL                                         $20     
         43        SEND_VAR                                                 $20
         44        DO_ICALL                                         $21     
         45        IS_IDENTICAL                                             $21, 'vivo50'
         46      > JMPZ                                                     ~22, ->55
   12    47    >   FETCH_R                      global              ~23     '_GET'
         48        FETCH_DIM_R                                      ~24     ~23, 'man'
         49        ECHO                                                     ~24
   13    50        FETCH_R                      global              ~25     '_GET'
         51        FETCH_DIM_R                                      ~26     ~25, 'man'
         52        CONCAT                                           ~27     ~26, 'giveme50%21'
         53        INCLUDE_OR_EVAL                                          ~27, EVAL
   10    54      > JMP                                                      ->56
   16    55    >   ECHO                                                     'joker'
    7    56    > > JMP                                                      ->58
   20    57    >   ECHO                                                     'nonono%21'
   21    58    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
158.35 ms | 1017 KiB | 16 Q