Files
hipctf/changelog.txt
m0rph3us1987 27566a7813 - Added "HW" (Hardware) category to the platform with a dedicated icon and color
- Updated challenge grid to 6 columns on desktop to accommodate the new category
- Alphabetized challenge categories in the main view and Admin panel selection
- Alphabetized operators list in the Admin panel with case-insensitive sorting
- Restricted visibility of Challenges, Scoreboard, and Score Matrix to authenticated users only
- Secured the /state API endpoint to prevent leaking challenges, solves, teams, or internal IP (dockerIp) to guests
- Implemented server-side verification of user profile in the state response to prevent client-side admin spoofing
- Refactored the /state backend endpoint using async/await for better reliability and error handling
- Rebranded the project from "cypherstrike-ctf" to "hipctf" across package.json, index.html, and server defaults
- Synchronized browser page title with the competition name configured in the Admin panel
- Fixed a "black page" issue by resolving a missing React import and adding frontend sanity checks
2026-03-10 13:29:50 +01:00

54 lines
3.4 KiB
Plaintext

2026-03-10
- Added "HW" (Hardware) category to the platform with a dedicated icon and color
- Updated challenge grid to 6 columns on desktop to accommodate the new category
- Alphabetized challenge categories in the main view and Admin panel selection
- Alphabetized operators list in the Admin panel with case-insensitive sorting
- Restricted visibility of Challenges, Scoreboard, and Score Matrix to authenticated users only
- Secured the /state API endpoint to prevent leaking challenges, solves, teams, or internal IP (dockerIp) to guests
- Implemented server-side verification of user profile in the state response to prevent client-side admin spoofing
- Refactored the /state backend endpoint using async/await for better reliability and error handling
- Rebranded the project from "cypherstrike-ctf" to "hipctf" across package.json, index.html, and server defaults
- Synchronized browser page title with the competition name configured in the Admin panel
- Fixed a "black page" issue by resolving a missing React import and adding frontend sanity checks
2026-03-08
- Added an interactive graph view to the event log to track the score progression of the top 10 teams
2026-03-07
- Prevented admin challenge solves from creating score records
- Added operator solves list to the Admin panel profile
- Allowed deletion of specific operator solves from the Admin panel
- Enhanced operator solves list with alphabetical sorting, difficulty colors, and point values
- Added rank medal icons to operator solves in the Admin panel
2026-02-28
- Removed the UTC time display from the countdown, leaving only the CET time
- Added logic to display the event start time in Central European Time (CET) on the Challenges list page
- Replaced mock authentication tokens with secure JWT-like signed tokens
- Added robust error handling and type checking for password hashing and validation functions
- Implemented logic to disable the default admin account (admin-0) once another admin is created
- Applied a database schema whitelist to prevent SQL injection during database restores
- Filtered out admin and disabled teams from the public scoreboard state for non-admin users
- Added strict /admin middleware to protect administrative API endpoints by verifying user permissions
- Updated page title to HIP7CTF in index.html
- Enhanced the state endpoint to completely hide challenges if the current time is before the configured event start time
2026-02-22
- Modified the /state endpoint to return an empty challenges list if the event has not started and the user is not an admin
2026-02-05
- Included authorization headers in the frontend getState API requests
- Added security check in the /state endpoint to filter out the flag from challenge data for non-admin users
- Added a dbGet utility function to the server
2026-01-21
- Removed the README.md file
- Added a fix-permissions service to docker-compose.yml to automatically set correct ownership for data and uploads directories
- Modularized the frontend by splitting the monolithic App.tsx into dedicated components (Admin.tsx, Auth.tsx, Blog.tsx, CTFContext.tsx, Challenges.tsx, Home.tsx, Scoreboard.tsx, UIComponents.tsx)
- Restructured API, server, and scoring logic to fit the new modular frontend architecture
- Re-added README.md file temporarily
2026-01-07
- Removed the README.md file
- Initial project setup including React frontend, Express backend, Docker configuration, and baseline scoring services