ZX Spectrum Basic Emulator - Online Retro Code Playground
Write and run simple Sinclair BASIC programs in a browser-based ZX Spectrum emulator. Load demo programs and experience 80s computing. Educational fun.
UD5 Toolkit
Educational Sandbox — Understand SQLi attacks & defenses in a safe environment
app_db
Simulated Data
| id | username | password | role | |
|---|---|---|---|---|
| 1 | admin | admin123! | admin@app.com | admin |
| 2 | john_dev | j0hnP@ss | john@app.com | user |
| 3 | alice_w | alice2024 | alice@app.com | user |
| 4 | guest | guest | guest@app.com | guest |
Click blurred passwords to reveal them
| id | name | price | category | stock |
|---|---|---|---|---|
| 1 | MacBook Pro | $1999 | Laptops | 45 |
| 2 | iPhone 15 | $999 | Phones | 120 |
| 3 | AirPods Pro | $249 | Audio | 200 |
| 4 | iPad Air | $599 | Tablets | 78 |
| 5 | Magic Keyboard | $349 | Accessories | 60 |
| id | key_name | secret_value |
|---|---|---|
| 1 | api_key | sk-4f8a2c9e1b... |
| 2 | flag | FLAG{sqli_master_2024} |
Vulnerable query: SELECT * FROM users WHERE username='$input' AND password='$input'
Try these payloads:
Use prepared statements with bound parameters. Never concatenate user input into SQL strings.
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
Whitelist allowed characters. Validate input type, length, and format before processing.
if (!preg_match('/^[a-zA-Z0-9]+$/', $input)) { reject(); }
Run database queries with minimal required privileges. Avoid using admin/root accounts in applications.
Deploy a Web Application Firewall and monitor query logs for suspicious injection patterns.
AND SUBSTRING(password,1,1)='a' — if the page behaves normally, the first character of the password is 'a'. By repeating this process character by character, attackers can reconstruct entire database contents without ever seeing direct output.
$ne, $gt, or $where when user input is not properly sanitized. The principles of injection attacks apply across different query languages — always validate and sanitize user input regardless of the database technology.
Write and run simple Sinclair BASIC programs in a browser-based ZX Spectrum emulator. Load demo programs and experience 80s computing. Educational fun.
Validate and compare semantic version strings. Check if a version satisfies a range (e.g., ^1.2.3). Visual breakdown of major.minor.patch. Local only.
Pick a package name and generate a custom version or download badge as a static image or Markdown link. For readme files.
Paste JSON-LD and validate basic syntax and required properties for Article, Product, etc. Local only. Instant feedback.
Validate if a version string follows SemVer 2.0.0. Also sort and compare versions. Developer tool.
Paste a GraphQL SDL schema and get auto‑generated Markdown documentation. Perfect for API docs. All local.
Paste Markdown and get warnings for common mistakes: inconsistent heading spacing, bare URLs, and broken links. All local.
Generate a series of semantic version tags with optional prefixes. Copy for your release script. Consistent tagging.
Parse XML strings into compact JSON representation. Handles attributes and text nodes intelligently. Quick and private, ideal for API response translation.
Paste two Markdown texts and see a side‑by‑side diff with rendered preview. Perfect for editing and collaboration.
Paste your Swagger/OpenAPI YAML and see a rendered API documentation preview with expandable endpoints. All local rendering.
Translate YAML configuration files into JSON format instantly. Validate syntax during conversion. Perfect for DevOps and configuration management. Secure client-side operation.
Play a metronome with adjustable BPM, time signature, and subdivisions (eighth, triplet, sixteenth). Tap tempo and visual flash. Works offline for practice.
Enter total rail length and baluster width to get exact spacing for code compliance. Visual layout.
Design a custom keyboard layout and save it as an image to help learn touch typing on a custom keymap. Supports ANSI, ISO, and ortho layouts.
Upload a 512x512 logo and get resized icons for every PWA requirement. Download a zip and the corresponding manifest.json snippet.
Type a UPC or EAN number and see how a laser scanner would identify it, plus check digit validation.
Simulate memory page reference strings with FIFO, LRU, and Optimal algorithms. See page fault count. OS concept demo.
Open many parallel WebSocket connections and send messages. Test your server's concurrency. All from your browser.
Check if a URL can be embedded in an iframe. Test your site’s defense against clickjacking. Browser‑based.
Scroll down to see images load lazily. Code snippet provided. Learn how native loading='lazy' works.
Upload any image and view it as a person with deuteranopia, protanopia, or tritanopia would. Promote inclusive design.
Roll any number of dice thousands of times and see a live bar chart of the sum distribution. Great for game designers.
Select functional groups to see an approximate IR absorption spectrum. Learn spectroscopy visually. All local.
Build an iframe with different sandbox flags and see live which features are blocked. For secure embedding.
Simulate random mouse moves, clicks, or keystrokes to test idle‑timeout logic. Stops when you move the mouse. Dev test.
Type any CSS selector with :hover/:active/:focus and see the styles applied live. Perfect for debugging interaction states.
Instantly convert plain text into HTML‑safe escaped characters for secure display in web pages. Prevent cross‑site scripting. All processing local.
Set a cron expression and see a calendar of the next 1,000 execution times. Never miss a schedule again.
Visualize how aperture, focal length, and subject distance affect background blur. Interactive DOF calculator.