Skip to main content

Gzip Bomb responses for Flask

Project description

Gzip Bomb responses for Flask.

This package provides an extension to flask.Response class, GzipBombResponse, which can be used as a defensive measure for various vuln scans, dictionary attacks etc. It creates a response containing a gzipped data block filled with null characters with varying number of rounds (to achieve minimal size of response’s content).

Example:

>>> from flask import Flask
>>> from flask_gzipbomb import GzipBombResponse
>>>
>>> app = Flask(__name__)
>>>
>>> @app.route('/tiny-bomb')
... def gzipped():
...     return GzipBombResponse(size='1M')
>>>
>>> app.run()
>>> import gzip
>>> import requests
>>>
>>> r = requests.get('http://localhost:5000/tiny-bomb')
>>> r.headers['content-encoding']
'gzip,gzip'
>>> len(r.content) # gzipped content length in bytes
64
>>> data = gzip.decompress(r.content)
>>> data = gzip.decompress(data)
>>> len(data) # decompressed content length in bytes
1048576

GzipBombResponse accepts all arguments accepted by Response class with additional size parameter, describing response content length in bytes after decompression. Possible values:

‘1k’, ‘10k’, ‘100k’, ‘1M’, ‘10M’, ‘100M’, ‘1G’, ‘10G’

with k, M and G denoting kilobyte, megabyte and gigabyte. Any other value will result raise a KeyError. By default size is set to ‘10M’, however it is recommended to use ‘10G’ for achieving desired effect.

This package is for protection and educational purposes only. Using it for any malicious purpose is strictly prohibited.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-GzipBomb-0.1.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

Flask_GzipBomb-0.1.0-py2.py3-none-any.whl (9.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file Flask-GzipBomb-0.1.0.tar.gz.

File metadata

File hashes

Hashes for Flask-GzipBomb-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6da1d0895bab4dd4e1e1cc404bc9ede17d98a2ed51655a5ad3d87394b422af50
MD5 0d7333ad7778f8020b49acddffea71fe
BLAKE2b-256 045c675bf06149f8d47a625431c8b2947580936c45de0021452e636882c70fe3

See more details on using hashes here.

File details

Details for the file Flask_GzipBomb-0.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for Flask_GzipBomb-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5d5e06a1929b49dc821369d8bf99760d2390adfe2ebcf8719c8a0b5d685ed05d
MD5 f29e8ce7f3d5a86f87cdb42935fd501f
BLAKE2b-256 8ba603634098faeef465b867d453a00152cfa7b67f09bb2489c0ad55214326aa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page