slowhttptest | Application Layer DoS attack simulator | HTTP library

 by   shekyan C++ Version: v1.9.0 License: Apache-2.0

kandi X-RAY | slowhttptest Summary

kandi X-RAY | slowhttptest Summary

slowhttptest is a C++ library typically used in Networking, HTTP, Nodejs applications. slowhttptest has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

SlowHTTPTest is a highly configurable tool that simulates some Application Layer Denial of Service attacks by prolonging HTTP connections in different ways. Use it to test your web server for DoS vulnerabilites, or just to figure out how many concurrent connections it can handle. SlowHTTPTest works on majority of Linux platforms, OS X and Cygwin - a Unix-like environment and command-line interface for Microsoft Windows, and comes with a Dockerfile to make things even easier. Check out Wiki for installation and usage details. Latest official image is available at Docker Hub: docker pull shekyan/slowhttptest:latest.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              slowhttptest has a medium active ecosystem.
              It has 1351 star(s) with 288 fork(s). There are 56 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 20 open issues and 38 have been closed. On average issues are closed in 177 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of slowhttptest is v1.9.0

            kandi-Quality Quality

              slowhttptest has no bugs reported.

            kandi-Security Security

              slowhttptest has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              slowhttptest is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              slowhttptest releases are available to install and integrate.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of slowhttptest
            Get all kandi verified functions for this library.

            slowhttptest Key Features

            No Key Features are available at this moment for slowhttptest.

            slowhttptest Examples and Code Snippets

            No Code Snippets are available at this moment for slowhttptest.

            Community Discussions

            QUESTION

            Why there set macro definition and namespace in C++ .h file?
            Asked 2020-Oct-04 at 03:48

            I am reading this open source project:

            I have two questions:

            1. I found the
            ...

            ANSWER

            Answered 2020-Oct-04 at 03:48
            Question #1

            See Purpose of Header guards

            Question #2

            Consider the case where you are using libraries. And two libraries would both like to have a function named Push(). We could name them: LibraryFoo_Push(), and LibraryBar_Push(), or we could use namespaces. Namespaces have some additional benefits with lookups as well.

            And see C++ When is it OK to extend the `std` namespace? for when you are allowed to add stuff to the std namespace.

            Source https://stackoverflow.com/questions/64190976

            QUESTION

            Apache mod_wsgi slowloris DoS protection
            Asked 2017-Dec-10 at 01:45

            Assuming the following setup:

            • Apache server 2.4
            • mpm_prefork with default settings (256 workers?)
            • Default Timeout (300s)
            • High KeepAliveTimeout (100s)
            • reqtimeout_mod enabled with the following config: RequestReadTimeout header=62,MinRate=500 body=62,MinRate=500
            • Outdated mod_wsgi 3.5 using Daemon mode with 15 threads and 1 process
            • AWS ElasticBeanstalk's load balancer acting as a reverse proxy to apache with 60s idle connection timeout
            • Python/Django being the wsgi application

            A simple slowloris attack like the one described here, using a "slow" request body: https://www.blackmoreops.com/2015/06/07/attack-website-using-slowhttptest-in-kali-linux/

            The above attack, with just 15 requests (same as mod_wsgi threads) can easily lock the server until a timeout happens, either due to:

            • Load balancer timeout (60s) happens due to no data sent, this kills the apache connection and mod_wsgi can once again serve requests
            • Apache RequestReadTimeout happens due to data being sent, but not enough, again mod_wsgi is able to serve requests after this

            However, with just 15 concurrent "slow" requests, I was able to lock the server up to 60 seconds.

            Repeating the same but with a more bizarre number, like 4096 requests, pretty much locks the server permanently since there will be always a new request that needs to be served by mod_wsgi once the previous times out.

            I would expect that the load balancer should handle/detect this before even sending requests to apache, which it already does for similar attacks (partial headers, or tcp syn flood attacks never hit apache which is nice)

            What options are available to help against this? I know there's no failproof option since these kind of attacks are difficult to detect and protect, but it's quite silly that the server can be locked that easily.

            Also, if the wsgi application never reads request body, I would expect for the issue to not happen as well since the request should return immediately, but I'm not sure about this or the internals of mod_wsgi, for example, this is true when using a local dev wsgi server (the attack files since the request body is never read) but the attack succeeds when using mod_wsgi, which leads me to think it tries to read the body even before sending it to the wsgi code.

            ...

            ANSWER

            Answered 2017-Dec-09 at 23:43

            Soloution:
            If you are getting hit, I recommend you go to a provider that protects against DDoS attacks. However your best bet would be to programatically block the IP once it has been decided that it is being malicious. If you receive two large Content-Length POST requests than you should block the IP for a few minutes for suspicious activities. Many large companies are very cheap, and some of them are free for the basic package such as Cloud Flare. I use them for my company and I am beyond happy to have them!

            Edit: Their job is literally just to protect you. That is it.

            Source https://stackoverflow.com/questions/47734383

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install slowhttptest

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries