Repository metrics
- Stars
- (106 stars)
- PR merge metrics
- (PR metrics pending)
Description
Discussed in https://github.com/Soham7-dev/AspGoat/discussions/78
Originally posted by Soham7-dev September 25, 2025
🚨 Help Wanted: Implement a Hard Reset Feature for AspGoat
Context:
AspGoat’s Unrestricted File Upload / File Overwrite lab lets learners deface the actual homepage as part of the challenge.
While that’s intentional, it means the application can be left in a broken state.
Currently, we simply display a warning and ask users to manually redeploy the container or clone the repo to restore the app.
Goal:
Create a one-click “Hard Reset” capability that restores the application to its original state.
Requirements & Ideas
-
Reset Scope
- Restore the entire
wwwroot(or equivalent) directory to a clean snapshot. - Re-seed the SQLite database (users, comments, seeded labs, etc.).
- Ensure uploaded/overwritten files are removed or replaced with pristine copies.
- Restore the entire
-
Implementation Thoughts
- Container-level approach (e.g., Docker volume snapshot, ephemeral overlay).
- Application-level endpoint (
/admin/reset) that:- Drops and recreates the DB schema.
- Copies a baseline of static assets from a protected location.
- Cross-platform: should work both in local dev and containerized environments.
-
Security Considerations
- Restricted to authorized roles (e.g., Admin or in dev mode only).
- Prevent abuse—avoid becoming an unintended DoS vector.
Tech Stack
- Backend: ASP.NET Core 8 (MVC + Razor)
- Database: SQLite (seeded via EF Core)
- Deployment: Docker (multi-stage build)
What We’re Looking For
- .NET / DevOps / Security engineers who can:
- Propose a clean architecture for snapshot/restore.
- Implement and document the solution.
- Provide automated tests to verify reset integrity.
💡 How to Contribute
- Start a conversation in GitHub Discussions → Ideas
- Or open a draft PR with an implementation proposal.
This feature will make AspGoat more learner-friendly while showcasing a real-world secure recovery pattern.