MathisHammel / stringcheese

StringCheese is a CTF tool to solve easy challenges automatically in many cases where a strings | grep is just not enough

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

StringCheese

StringCheese logo

StringCheese is a script written in Python to extract CTF flags (or any other pattern with a prefix) automatically.

It works like a simple strings | grep command, but can detect many encodings (like base64, XOR, rot13) and works on file formats other than plaintext.

Installation

Use the package manager pip to install StringCheese.

sudo pip install stringcheese

Usage

StringCheese only needs to know the flag prefix to work. You can pass it the input file using the --file option or through stdin.

stringcheese FLAG{ --file input.txt
cat  input.txt | stringcheese FLAG{

How it works

StringCheese generates strings which encode the flag prefix in various ways.

Those strings are then searched in several transformed version of the input file : one in two bytes, reversed, etc.

When the encoded flag prefix is found somewhere, the corresponding decoder is called to regenerate the flag.

how it works

Authors and contributors

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

GNU GPL 2.0

About

StringCheese is a CTF tool to solve easy challenges automatically in many cases where a strings | grep is just not enough

License:GNU General Public License v3.0


Languages

Language:C 54.1%Language:Python 42.7%Language:Makefile 2.9%Language:Batchfile 0.3%