Giter Site home page Giter Site logo

sheepdog's Introduction

Sheepdog

Image of SheepDogCat

Sheepdog is a simple tool to generate normal and attack traffic for OWASP WebGoat. It can be used with security technologies like WAF and RASP in demonstrations and to verify that they are doing a tiny piece of what they are supposed to do. Sheepdog is not intended to be an exhaustive set of security tests. It has some basic SQL injection, XSS, path traversal, and that kind of thing.

Simply start WebGoat with:

java -jar webgoat-container-7.0.1-war-exec.jar

Then in another window start sheepdog with:

java -jar sheepdog-1.0.jar

There are several configurable properties that you can use to simulate a variety of crawls/attacks. Note that SheepDog sends an X-Forwarded-For header with random IP address for each attack thread.

Usage: java -jar sheepdog.jar

-t threads (default 3)

-s seconds (default 60)

-d delay milliseconds between requests (default -1)

-a attack percentage (default 50)

-p port for WebGoat (default 8080)

-v verbose

Sample usage

$ java -jar target/sheepdog-1.0-SNAPSHOT.jar -t 3 -s 3600 -d 1000 -a 50
    Usage: java -jar sheepdog.jar [-t -s -d -a -p -v]
    Using default value for flag 'p', using 8080
    Starting 3 attack threads, each with:
      3600 seconds
      1000ms delay between requests
      50% attack parameters
      target: http://localhost:8080/WebGoat/

      Starting AttackThread (110.104.52.59) 
      Starting AttackThread (93.65.24.224)
      Starting AttackThread (161.144.64.146)

POST from 238.20.254.102 to http://localhost:8080/WebGoat/j_spring_security_check
   [username=guest, password=guest]
   HTTP/1.1 302 Found

POST from 93.65.24.224 to http://localhost:8080/WebGoat/j_spring_security_check
   [username=guest, password=guest]
   HTTP/1.1 302 Found

POST from 161.144.64.146 to http://localhost:8080/WebGoat/j_spring_security_check
   [username=guest, password=guest]
   HTTP/1.1 302 Found

POST from 161.144.64.146 to http://localhost:8080/WebGoat/attack?Screen=733&menu=1200
   [SUBMIT=zoees822]
   HTTP/1.1 200 OK

POST from 93.65.24.224 to http://localhost:8080/WebGoat/attack?Screen=534&menu=1900
   [id=sztol903, SUBMIT=rjeee272]
   HTTP/1.1 200 OK

POST from 161.144.64.146 to http://localhost:8080/WebGoat/attack?Screen=726&menu=200&stage=1
   [action=' or 112=112--]
   HTTP/1.1 200 OK

POST from 161.144.64.146 to http://localhost:8080/WebGoat/attack?Screen=737&menu=1100&stage=3
   [action=' or 1+2=3 --]
   HTTP/1.1 200 OK

POST from 93.65.24.224 to http://localhost:8080/WebGoat/attack?Screen=498&menu=1300
   [clear_user=><script>alert(1)</script>, clear_pass=><script>alert(1)</script>, Submit=ctyna446]
   HTTP/1.1 200 OK

Who made this?

This project is sponsored by Contrast Security and released under the MIT license.

Contrast Security Logo

sheepdog's People

Contributors

gmoore avatar meg23 avatar nahsra avatar secguy avatar vchokshi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sheepdog's Issues

Create a profiles section in contrast.cfg

David had a good idea to have multiple profiles in contrast.cfg since we'll all have numerous teamserver instances we'll want to use.

Plan is to implement this AWS or boto3 style.

Remove the hardcoded contrast.dir setting in webgoat.sh

Vihar added the contrast.dir Command Line argument per David's suggestion. Currently it is hardcoded into the sh script and will likely cause problems if the ansible default install dir of ~/webgoat7 is changed.

Suggested fix is to change webgoat.sh into webgoat.sh.j2 and template it. Look out for {{}}!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.