8000 GitHub - frahmadani/wtfd at restyle · GitHub
[go: up one dir, main page]

Skip to content
frahmadaniPublic
forked from wtfd-tech/wtfd

About

A CTFd like Site, written in go

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

278 Commits

Folders and files

Repository files navigation

WTFd

Codecov

a CTFd-like Server in go

demo

Configuration

You need a config.json in the same path as your wtfd binary (or the path you're in if you do go run ./cmd/wtfd.go)

It shall look like that:

{
        "Port": <The Port WTFd should run (ports <1024 need root (don't run WTFd as root))>,
        "challinfodir": "<The (relative or absolute) directory with your challenge infos>",
       	"sshhost": "<The domain of your ssh challenges>"
}

WTFd will also generate the field Key in which the cookie session key will be stored

The Challenge info Dir shall look like that:

├── chall-1
│   ├── meta.json
│   ├── README.md
│   └── SOLUTION.md
├── chall-2
│   ├── meta.json
│   ├── README.md
│   └── SOLUTION.md

For each Challenge you need a meta.json, a README.md and a SOLUTION.md

The meta.json shall look like that:

{
	"points": <How many points the challenge should have>,
        "uri": "<Protocol and user of your ssh Challenges (e.g. `ssh://chall-1@%s`>",
	"deps": [<Dependencies the Challenge has>],
	"flag": "<The flag>",
	"author": "<The author of the challenge>"
}

The README.md and SOLUTION.md are markdown files (syntax). The SOLUTION.md contents can only be seen by users who already solved the challenge

Running WTFd

Now you can finally start wtfd by downloading it from the releases, giving it permissions chmod +x wtfd and running it ./wtfd

WTFd is HTTP only, if you need HTTPS use a reverse proxy like Traefik or nginx

About

A CTFd like Site, written in go

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0