How open-education-hub/web-security works
This repository is an educational collection of web-security lessons and runnable challenge applications, rather than a single end-user product. A learner interacts with individual drill endpoints or forms to observe security behaviors; the examples span web basics, sessions, injection, framework/API flaws, and exotic attacks. The graph highlights sampled challenge implementations and the central shared C utilities. Many listed drills were not sampled, so their internal flows are omitted; the README does not document a broader runtime workflow.
Main entry points: sock_util.c Socket Helpers · index.php High Score App · utils.h Error Macros · log.h Logging API
Components 24
Web Basics
- Web Basics Drills
chapters/web-application-security/web-basics/drills - Name Lookup
chapters/web-application-security/web-basics/drills/my-special-name/src/main.template.py - Surprise Endpoint
chapters/web-application-security/web-basics/drills/surprise/src/main.template.py
Security Drills
- Session Challenges
chapters/web-application-security/cookies-and-session-management/drills - Invoice Access
chapters/web-application-security/cookies-and-session-management/drills/mind-your-own-business/src/index.php - Session Management
chapters/web-application-security/cookies-and-session-management/drills/chef-hacky-mchack/src/index.php - Path Traversal
chapters/web-application-security/cookies-and-session-management/drills/traverse-universe/src/index.php - SQL Injection Drills
chapters/web-application-security/sql-injection/drills - Nightmare Store
chapters/web-application-security/sql-injection/drills/nightmare-store/src/main.template.py - Store Database
chapters/web-application-security/sql-injection/drills/nightmare-store/src/main.template.py - Search Challenge
chapters/web-application-security/sql-injection/drills/blacklist/src/index.php - Search DB Setup
chapters/web-application-security/sql-injection/drills/blacklist/src/db_conn.php - Secret Diary
chapters/web-application-security/sql-injection/drills/t0p_s3cr3t/src/index.php - Diary DB Setup
chapters/web-application-security/sql-injection/drills/t0p_s3cr3t/src/conf.php - Exotic Attacks
chapters/web-application-security/exotic-attacks/drills
Framework Challenges
- High Score App
chapters/web-application-security/framework-api-vulnerabilities/drills/high-score/src/index.php - Score DB Setup
chapters/web-application-security/framework-api-vulnerabilities/drills/high-score/src/db.php - XSS Challenges
chapters/web-application-security/cross-site-scripting/drills/05-XSS-challenges
C Utilities
- Socket Helpers
common/utils/sock/sock_util.c - Error Macros
common/utils/utils.h - Logging Library
common/utils/log/log.c - Logging API
common/utils/log/log.h - Socket API
common/utils/sock/sock_util.h
Other components
- Learner
Connections 11
- Learner → Name Lookup: requests name
chapters/web-application-security/web-basics/drills/my-special-name/src/main.template.py - Learner → Surprise Endpoint: sends JSON
chapters/web-application-security/web-basics/drills/surprise/src/main.template.py - Learner → High Score App: registers or logs in
chapters/web-application-security/framework-api-vulnerabilities/drills/high-score/src/index.php - Nightmare Store → Store Database: reads and writes
chapters/web-application-security/sql-injection/drills/nightmare-store/src/main.template.py - Search Challenge → Search DB Setup: requires setup
chapters/web-application-security/sql-injection/drills/blacklist/src/index.php - Secret Diary → Diary DB Setup: requires config
chapters/web-application-security/sql-injection/drills/t0p_s3cr3t/src/index.php - High Score App → Score DB Setup: requires database
chapters/web-application-security/framework-api-vulnerabilities/drills/high-score/src/index.php - Socket Helpers → Error Macros: uses macros
common/utils/sock/sock_util.c - Error Macros → Logging API: calls logging
common/utils/utils.h - Logging Library → Logging API: implements API
common/utils/log/log.c - Socket Helpers → Socket API: implements API
common/utils/sock/sock_util.c