3v4l.org

run code in 300+ PHP versions simultaneously
<html> <body> <form enctype="multipart/form-data" action="__URL__" method="POST"> <!-- MAX_FILE_SIZE muss vor dem Dateiupload Input Feld stehen --> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> <!-- Der Name des Input Felds bestimmt den Namen im $_FILES Array --> Diese Datei hochladen: <input name="userfile" type="file" accept=".txt" /> <input type="submit" value="Aktualisieren" /> </form> </body> </html> <?php error_reporting(0); header("Content-type: text/html; charset=utf-8"); $DataBaseName = "FILENAME.csv"; $uploaddir = '/var/www/uploads/vertretungsplan/'; $uploadfile = $uploaddir . $DataBaseName; if ($_FILES != null) { echo '<pre>'; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "Datei ist valide und wurde erfolgreich hochgeladen.\n"; } else { echo "Möglicherweise eine Dateiupload-Attacke!\n"; } echo 'Weitere Debugging Informationen:'; print_r($_FILES); echo 'MAX-MILAN IST DUMM'; print "</pre>"; } // Connect to Database $db = new mysqli('localhost', 'USERNAME', 'PASSWORD', ''); if ($db->connect_errno) { echo 'Could not connect to Database!<br />'; echo 'Error: (' . $db->connect_errno . ') ' . $db->connect_error; exit; } // Name of Table $table = 'MAXMILANHATEINENNANOPENIS'; // Query $sql = "LOAD DATA LOCAL INFILE '{$uploadfile}' INTO TABLE `{$table}` FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' (`number`, `class`, `teacher`, `rmnum`, `day`, `lsnum`)"; // Send Query $db->query($sql); $db->query("DROP TABLE `{$table}`; --;"); // Response of Query echo '<pre>' . print_r($db, TRUE) . '</pre>'; ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 33
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 23, Position 2 = 25
Branch analysis from position: 23
1 jumps found. (Code = 42) Position 1 = 26
Branch analysis from position: 26
2 jumps found. (Code = 43) Position 1 = 42, Position 2 = 50
Branch analysis from position: 42
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 50
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 42, Position 2 = 50
Branch analysis from position: 42
Branch analysis from position: 50
Branch analysis from position: 33
filename:       /in/mjCQE
function name:  (null)
number of ops:  74
compiled vars:  !0 = $DataBaseName, !1 = $uploaddir, !2 = $uploadfile, !3 = $db, !4 = $table, !5 = $sql
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    1     0  E >   ECHO                                                     '%3Chtml%3E%0A%3Cbody%3E%0A%3Cform+enctype%3D%22multipart%2Fform-data%22+action%3D%22__URL__%22+method%3D%22POST%22%3E%0A++++%3C%21--+MAX_FILE_SIZE+muss+vor+dem+Dateiupload+Input+Feld+stehen+--%3E%0A++++%3Cinput+type%3D%22hidden%22+name%3D%22MAX_FILE_SIZE%22+value%3D%2230000%22+%2F%3E%0A++++%3C%21--+Der+Name+des+Input+Felds+bestimmt+den+Namen+im+%24_FILES+Array+--%3E%0A++++Diese+Datei+hochladen%3A+%3Cinput+name%3D%22userfile%22+type%3D%22file%22+accept%3D%22.txt%22+%2F%3E%0A++++%3Cinput+type%3D%22submit%22+value%3D%22Aktualisieren%22+%2F%3E%0A%3C%2Fform%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E%0A'
   13     1        INIT_FCALL                                               'error_reporting'
          2        SEND_VAL                                                 0
          3        DO_ICALL                                                 
   14     4        INIT_FCALL                                               'header'
          5        SEND_VAL                                                 'Content-type%3A+text%2Fhtml%3B+charset%3Dutf-8'
          6        DO_ICALL                                                 
   16     7        ASSIGN                                                   !0, 'FILENAME.csv'
   18     8        ASSIGN                                                   !1, '%2Fvar%2Fwww%2Fuploads%2Fvertretungsplan%2F'
   19     9        CONCAT                                           ~10     !1, !0
         10        ASSIGN                                                   !2, ~10
   21    11        FETCH_R                      global              ~12     '_FILES'
         12        IS_NOT_EQUAL                                             ~12, null
         13      > JMPZ                                                     ~13, ->33
   22    14    >   ECHO                                                     '%3Cpre%3E'
   23    15        INIT_FCALL                                               'move_uploaded_file'
         16        FETCH_R                      global              ~14     '_FILES'
         17        FETCH_DIM_R                                      ~15     ~14, 'userfile'
         18        FETCH_DIM_R                                      ~16     ~15, 'tmp_name'
         19        SEND_VAL                                                 ~16
         20        SEND_VAR                                                 !2
         21        DO_ICALL                                         $17     
         22      > JMPZ                                                     $17, ->25
   24    23    >   ECHO                                                     'Datei+ist+valide+und+wurde+erfolgreich+hochgeladen.%0A'
         24      > JMP                                                      ->26
   26    25    >   ECHO                                                     'M%C3%B6glicherweise+eine+Dateiupload-Attacke%21%0A'
   29    26    >   ECHO                                                     'Weitere+Debugging+Informationen%3A'
   30    27        INIT_FCALL                                               'print_r'
         28        FETCH_R                      global              ~18     '_FILES'
         29        SEND_VAL                                                 ~18
         30        DO_ICALL                                                 
   31    31        ECHO                                                     'MAX-MILAN+IST+DUMM'
   33    32        ECHO                                                     '%3C%2Fpre%3E'
   37    33    >   NEW                                              $20     'mysqli'
         34        SEND_VAL_EX                                              'localhost'
         35        SEND_VAL_EX                                              'USERNAME'
         36        SEND_VAL_EX                                              'PASSWORD'
         37        SEND_VAL_EX                                              ''
         38        DO_FCALL                                      0          
         39        ASSIGN                                                   !3, $20
   39    40        FETCH_OBJ_R                                      ~23     !3, 'connect_errno'
         41      > JMPZ                                                     ~23, ->50
   41    42    >   ECHO                                                     'Could+not+connect+to+Database%21%3Cbr+%2F%3E'
   42    43        FETCH_OBJ_R                                      ~24     !3, 'connect_errno'
         44        CONCAT                                           ~25     'Error%3A+%28', ~24
         45        CONCAT                                           ~26     ~25, '%29+'
         46        FETCH_OBJ_R                                      ~27     !3, 'connect_error'
         47        CONCAT                                           ~28     ~26, ~27
         48        ECHO                                                     ~28
   43    49      > EXIT                                                     
   47    50    >   ASSIGN                                                   !4, 'MAXMILANHATEINENNANOPENIS'
   50    51        ROPE_INIT                                     5  ~31     'LOAD+DATA+LOCAL+INFILE+%27'
         52        ROPE_ADD                                      1  ~31     ~31, !2
         53        ROPE_ADD                                      2  ~31     ~31, '%27%0A%09%09INTO+TABLE+%60'
   51    54        ROPE_ADD                                      3  ~31     ~31, !4
         55        ROPE_END                                      4  ~30     ~31, '%60%0A%09%09FIELDS+TERMINATED+BY+%27%3B%27%0A%09%09OPTIONALLY+ENCLOSED+BY+%27%22%27%0A%09%09LINES+TERMINATED+BY+%27%0A%27%0A%09%09%28%60number%60%2C+%60class%60%2C+%60teacher%60%2C+%60rmnum%60%2C+%60day%60%2C+%60lsnum%60%29'
   50    56        ASSIGN                                                   !5, ~30
   58    57        INIT_METHOD_CALL                                         !3, 'query'
         58        SEND_VAR_EX                                              !5
         59        DO_FCALL                                      0          
   59    60        INIT_METHOD_CALL                                         !3, 'query'
         61        ROPE_INIT                                     3  ~37     'DROP+TABLE+%60'
         62        ROPE_ADD                                      1  ~37     ~37, !4
         63        ROPE_END                                      2  ~36     ~37, '%60%3B+--%3B'
         64        SEND_VAL_EX                                              ~36
         65        DO_FCALL                                      0          
   62    66        INIT_FCALL                                               'print_r'
         67        SEND_VAR                                                 !3
         68        SEND_VAL                                                 <true>
         69        DO_ICALL                                         $40     
         70        CONCAT                                           ~41     '%3Cpre%3E', $40
         71        CONCAT                                           ~42     ~41, '%3C%2Fpre%3E'
         72        ECHO                                                     ~42
   63    73      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
167.51 ms | 1404 KiB | 21 Q