Skip to content

mounir19000/ShellmatesWriteUpBank

Repository files navigation

ShellmatesWriteUpBank πŸ†

A modern, interactive web platform for showcasing cybersecurity CTF (Capture The Flag) writeups and challenges. Built with Next.js, TypeScript, and Tailwind CSS.

Next.js TypeScript React Tailwind CSS

🌟 Features

  • Interactive Writeup Gallery: Browse through categorized cybersecurity writeups
  • Multi-Category Support: Web, Forensics, Cryptography, Binary Exploitation, PWN, OSINT, Hardware, Mobile, Steganography
  • Responsive Design: Optimized for desktop and mobile viewing
  • Markdown Support: Rich markdown rendering with syntax highlighting
  • Search & Filter: Find writeups by category, difficulty, or event
  • Modern UI: Clean, professional interface with smooth animations
  • Static Site Generation: Fast loading with Next.js SSG

🎯 Categories

  • 🌐 Web Exploitation: SQL injection, XSS, authentication bypasses
  • πŸ” Forensics: Memory dumps, file analysis, digital evidence
  • πŸ” Cryptography: RSA attacks, cipher breaking, hash analysis
  • ⚑ Binary Exploitation: Buffer overflows, ROP chains, exploitation
  • 🎭 PWN: Return-to-libc, stack smashing, privilege escalation
  • πŸ•΅οΈ OSINT: Open source intelligence gathering
  • πŸ”§ Hardware: Hardware hacking and embedded systems
  • πŸ“± Mobile: Android/iOS application security
  • πŸ–ΌοΈ Steganography: Hidden data in images and files

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn package manager

Installation

  1. Clone the repository

    git clone https://github.com/mounir19000/ShellmatesWriteUpBank.git
    cd ShellmatesWriteUpBank
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Start the development server

    npm run dev
    # or
    yarn dev
  4. Open your browser Navigate to http://localhost:3000

πŸ“ Project Structure

ShellmatesWriteUpBank/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ writeups/           # Writeup markdown files and metadata
β”‚   β”‚   β”œβ”€β”€ index.json      # Writeups index
β”‚   β”‚   └── [writeupId]/    # Individual writeup folders
β”‚   β”œβ”€β”€ pics/               # Static images and icons
β”‚   └── jsons/              # JSON data files
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                # Next.js app directory
β”‚   β”‚   β”œβ”€β”€ page.tsx        # Home page
β”‚   β”‚   β”œβ”€β”€ about/          # About page
β”‚   β”‚   β”œβ”€β”€ writeups/       # Writeup pages
β”‚   β”‚   └── HowToSubmit/    # Submission guidelines
β”‚   β”œβ”€β”€ components/         # React components
β”‚   β”‚   β”œβ”€β”€ header.tsx      # Navigation header
β”‚   β”‚   β”œβ”€β”€ footer.tsx      # Site footer
β”‚   β”‚   β”œβ”€β”€ slider.tsx      # Image slider
β”‚   β”‚   └── ui/             # UI components
β”‚   └── lib/                # Utility functions
β”œβ”€β”€ scripts/
β”‚   └── build-writeups.js   # Writeup management script
└── package.json

πŸ“ Adding New Writeups

Method 1: Using the Build Script

  1. Run the interactive script

    node scripts/build-writeups.js
  2. Follow the prompts to enter writeup details:

    • Title
    • Category
    • Event name
    • Difficulty level
    • Author name
    • Description
  3. Edit the generated markdown file in public/writeups/[writeupId]/writeup.md

Method 2: Manual Creation

  1. Create a new folder in public/writeups/ with a unique ID
  2. Add a writeup.md file with the following structure:
# Your Writeup Title

**Category:** Web  
**Event:** Event Name  
**Difficulty:** Medium  
**Date:** 2024-08-22  
**Author:** Your Name

## Description

Brief description of the challenge...

## Solution

Your detailed solution...
  1. Update the index by running:
    node scripts/build-writeups.js --rebuild

πŸ› οΈ Available Scripts

  • npm run dev - Start development server with Turbopack
  • npm run build - Build production application
  • npm run start - Start production server
  • npm run lint - Run ESLint for code quality
  • node scripts/build-writeups.js - Manage writeups

🎨 Tech Stack

Frontend

  • Next.js 15.3.0 - React framework with App Router
  • React 19.0.0 - UI library
  • TypeScript 5.0 - Type safety
  • Tailwind CSS 4.0 - Utility-first CSS framework

UI Components

  • Radix UI - Accessible component primitives
  • Lucide React - Beautiful icons
  • Swiper - Touch slider component

Content Processing

  • React Markdown - Markdown rendering
  • Gray Matter - Frontmatter parsing
  • Highlight.js - Code syntax highlighting
  • Remark/Rehype - Markdown processing pipeline

🌐 Deployment

Vercel (Recommended)

  1. Connect your repository to Vercel
  2. Configure build settings:
    • Build Command: npm run build
    • Output Directory: .next
  3. Deploy automatically on push to main branch

Manual Deployment

  1. Build the application

    npm run build
  2. Start the production server

    npm start

🀝 Contributing

We welcome contributions! Here's how you can help:

Adding Writeups

  • Follow the writeup template format
  • Include clear explanations and solution steps
  • Add relevant screenshots or diagrams
  • Test your writeup locally before submitting

Code Contributions

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Guidelines

  • Follow the existing code style
  • Write clear commit messages
  • Update documentation as needed
  • Test your changes thoroughly

πŸ“„ License

This project is open source and available under the MIT License.

πŸ‘₯ Authors

  • Mounir Mostefai currently the co-lead of Shellmates - @mounir19000

πŸ“ž Support

If you have any questions or need help:

  • Open an issue on GitHub
  • Contact the maintainers
  • Check the How to Submit page for guidelines

πŸŽ–οΈ Acknowledgments

  • Thanks to all CTF organizers and the cybersecurity community
  • Inspired by the need for quality educational content
  • Built with ❀️ by the Shellmates community

Happy Hacking! 🎯

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors