Skip to content

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

License

Notifications You must be signed in to change notification settings

MathisHammel/stringcheese

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published