Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gaganpreet/stripe-ctf3-level4
My solution to Stripe CTF Level 4
https://github.com/gaganpreet/stripe-ctf3-level4
Last synced: 1 day ago
JSON representation
My solution to Stripe CTF Level 4
- Host: GitHub
- URL: https://github.com/gaganpreet/stripe-ctf3-level4
- Owner: gaganpreet
- Created: 2014-01-30T21:34:49.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2014-01-30T21:44:35.000Z (almost 11 years ago)
- Last Synced: 2024-10-12T13:09:12.793Z (about 1 month ago)
- Language: Go
- Size: 355 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
My solution to the Level 4 of Stripe CTF 3.
This is a completely distributed solution implemented using goraft (although by the end I had hardcoded some stuff like [column count](https://github.com/gaganpreet/stripe-ctf3-level4/blob/master/minesql/sql.go#L60-65) and [strings for compression](https://github.com/gaganpreet/stripe-ctf3-level4/blob/master/util/util.go#L56-85))
Best score: 2723
Rank: 25
# SQLCluster
SQLCluster makes your SQLite highly-available.
## Getting started
To run this level, you'll need a working Go installation. If you don't
have one yet, it's quite easy to obtain. Just grab the appropriate
installer from:https://code.google.com/p/go/downloads/list
Then set your GOPATH environment variable:
http://golang.org/doc/code.html#GOPATH
It'll probably be convenient to check this code out into
$GOPATH/src/stripe-ctf.com/sqlcluster (that way, `go build` will know
how to compile it without help). However, you can use the provided
`build.sh` regardless of where you happened to check this level out.## Building and running
Run `./build.sh` to build the SQLCluster binary.
As always, you can run test cases via `test/harness`. This will
automatically fetch and compile Octopus, download your test cases, and
score your level for you.Octopus will print out your score, together with how it arrived at
said score.## Protocol
SQCluster communicates with the outside world over HTTP. The public
interface is simple:POST /sql:
input: A raw SQL body
output: A message with the form "SequenceNumber: $n", followed
by the output of that SQL command.Run `./build.sh` to build SQLCluster and have it print out some
example usage (including `curl`s you can run locally).## Supported platforms
SQLCluster has been tested on Mac OSX and Linux. It may work on other
platforms, but we make no promises. If it's not working for you, see
https://stripe-ctf.com/about#development for advice on getting a
development environment similar to our own.