Advertisement
mvujas

PHP vurnabilities reserve.php

Dec 1st, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.85 KB | None | 0 0
  1. <?php
  2.     require_once ("database_utils.php");
  3.     initDB();
  4.  
  5.     $errors = array();
  6. ?>
  7. <html>
  8.     <head>
  9.         <title>Bioskop | Rezervacija</title>
  10.         <link rel="stylesheet" type="text/css" href="css/style.css">
  11.         <link href="https://fonts.googleapis.com/css?family=Spectral+SC" rel="stylesheet">
  12.     </head>
  13.     <body>
  14.         <h1>Pravljenje rezervacije</h1>
  15.         <a href="./"><button>Povratak na početnu stranu</button></a>
  16.         <?php
  17.             $reservation_movie_id = "";
  18.             $reservation_movie_name = "";
  19.             $reservation_seat = "";
  20.  
  21.             // vurnable
  22.             if (isset($_GET["movie"])) {
  23.                 $reservation_movie_id = htmlspecialchars($_GET["movie"]);
  24.             }
  25.             if (isset($_GET["movie_name"])) {
  26.                 $reservation_movie_name = htmlspecialchars($_GET["movie_name"]);
  27.             }
  28.             if (isset($_GET["seat"])) {
  29.                 $reservation_seat = htmlspecialchars($_GET["seat"]);
  30.             }
  31.  
  32.             $seat_exploded = explode("-", $reservation_seat);
  33.             $row = "-";
  34.             $col = "-";
  35.             if (count($seat_exploded) == 2) {
  36.                 $row = $seat_exploded[0];
  37.                 $col = $seat_exploded[1];
  38.             } else {
  39.                 $errors[] = "Format sedišta nije odgovarajući.";
  40.             }
  41.  
  42.             if (isset($_POST["rezervisi"]) && count($errors) == 0) {
  43.                 $reservation_name = htmlspecialchars($_POST['name']);
  44.                 $reservation_phone = htmlspecialchars($_POST['phone']);
  45.                 $reservation_email = htmlspecialchars($_POST['email']);
  46.                 $success = makeReservation($reservation_movie_id, $reservation_seat, $reservation_name, $reservation_phone, $reservation_email);
  47.                 if (!$success) {
  48.                     $errors[] = "Rezervacija nije uspešno napravljena.";
  49.                 }
  50.             } else {
  51.         ?>
  52.             <!-- ?movie="><script>alert("Hacked!");</script><a href=" -->
  53.             <!-- ?movie_name="><script>alert("Hacked!");</script><a href=" -->
  54.             <!-- ?seat="><script>alert("Hacked!");</script><a href=" -->
  55.             <!-- reserve.php/"><script>alert('Hacked');</script><a href=" -->
  56.             <form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"])."?movie=$reservation_movie_id&movie_name=$reservation_movie_name&seat=$reservation_seat";?>">
  57.                 <h2>
  58.                     <?php
  59.                         echo "Rezervacija za film $reservation_movie_name, red $row, kolona $col";
  60.                     ?>
  61.                 </h2>
  62.                 <div>
  63.                     <label for="name">Ime i prezime</label><br>
  64.                     <input type="text" name="name"/> <!-- </b></p><script>alert("Hacked!");</script><p><b> -->
  65.                 </div>
  66.                 <div>
  67.                     <label for="phone">Broj telefona</label><br>
  68.                     <input type="text" name="phone"/> <!-- </b></p><script>alert("Hacked!");</script><p><b> -->
  69.                 </div>
  70.                 <div>
  71.                     <label for="email">Email</label><br>
  72.                     <input type="text" name="email"/> <!-- </b></p><script>alert("Hacked!");</script><p><b> -->
  73.                 </div>
  74.                 <input type="submit" name="rezervisi" value="Rezerviši"/>
  75.             </form>
  76.         <?php
  77.             }
  78.         ?>
  79.             <div class="errors">
  80.                 <?php
  81.                     foreach ($errors as $error) {
  82.                         echo "<div>$error</div>";
  83.                     }
  84.                 ?>
  85.             </div>
  86.     </body>
  87. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement