Simple HTTP File server with upload support for pen-testing CTFs
- Simple
- Easy file uploads
- Custom uploads directory
- HTTP & HTTPS
- Auto generation of SSL certs
This assumes you already have a working Go environment, if not please see this page first.
Build the project.
go build
(Optional, but recommended)
Copy the binary to a directory in your PATH
sudo cp http /usr/bin/http
if you wish to use ports lower than 1000 you can add the bind capability
sudo setcap 'cap_net_bind_service=+ep' /usr/bin/http
Navigate to the directory you wish you server via HTTP and execute the binary
if you wish to set a custom port you can do so with -p
http -p 80
if you wish to use https you can use -tls
http -tls
You can upload a file with curl
curl -F file=@test.txt http://10.10.10.10:8080/upload
curl -F file=@test.txt https://10.10.10.10:8080/upload
This will upload test.txt
to the directory that is being served.
- Custom index