SSTIninja
A Server-Side Template Injection (SSTI) detection and exploitation tool. Given a URL and a parameter, it fingerprints the template engine, probes WAF / sandbox restrictions, searches for a working payload, and verifies RCE end-to-end.
Supports Jinja2, Tornado, Mako, Twig, and Smarty.
Install
# one-shot, no install
uvx --from git+https://github.com/WangYihang/sstininja sstininja --help
# or install
pip install git+https://github.com/WangYihang/sstininja
# or from a local clone
pip install -e .
Requires Python 3.11+.
Use
Exploit a remote URL:
sstininja probe --url 'http://target/page' --param name
Exploit a local Jinja2 sandbox (research / CTF):
sstininja probe --context empty_string --sandbox none --target os.popen
Run the benchmark suite:
sstininja bench run
Run the HTTP eval corpus:
sstininja eval run --corpus eval/corpus/local_flask.toml
Run sstininja --help to see all commands.
Release files for sstininja 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sstininja-0.1.1.tar.gz | 46.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sstininja-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 110.7 kB
Release files / sstininja-0.1.1.tar.gz
| Download URL | sstininja-0.1.1.tar.gz |
|---|---|
| Size | 46.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a0b6b96bddcf0f82f3c246037b069d1831d00eb96a50b2e9302ff93d4d85bf10
|
|
BLAKE2b-256 checksum How to use checksums |
762906abfdc17468a398bd99d1b643652b8cb352f2b1f73364368550ab2fe965
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / sstininja-0.1.1-py3-none-any.whl
| Download URL | sstininja-0.1.1-py3-none-any.whl |
|---|---|
| Size | 63.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
87a2bb4ae1e9914b4094370db2c2fe3fdc28258d224e42deca172b293e584a68
|
|
BLAKE2b-256 checksum How to use checksums |
856605a7c9a36773d2de98d6d93f71b7d1bfa43e59ceb49599fca79b5bc8fc01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.10 {"installer":{"name":"uv","version":"0.11.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|