OWASP Damn Vulnerable Web Sockets (DVWS)

=Main=



{| style="padding: 0;margin:0;margin-top:10px;text-align:left;" |-
 * valign="top" style="border-right: 1px dotted gray;padding-right:25px;" |

OWASP Damn Vulnerable Web Sockets (DVWS) Project
Damn Vulnerable Web Sockets (DVWS) is a deliberately vulnerable and insecure web application which works on web sockets for client-server communication. It is built on PHP with Ratchet and utilizes MySQL as backend database. It allows users to test their web sockets testing skills, tools and scripts for web socket vulnerabilities. Web socket testing can be performed using OWASP ZAP and Burp Suite.

Description
Damn Vulnerable Web Sockets (DVWS) is a deliberately vulnerable and insecure web application which works on web sockets for client-server communication. It is built on PHP with Ratchet and utilizes MySQL as backend database. DVWS has a number of functionalities which you commonly see in every other web application, they have been implemented in web sockets which is different from a typical web application communication.

The following vulnerabilities can be found:
 * Brute Force
 * Command Execution
 * Cross-Site Request Forgery
 * File Inclusion
 * Error based SQL Injection
 * Blind SQL Injection
 * Reflected Cross-Site Scripting
 * Stored Cross-Site Scripting
 * Session Management Issues
 * Cross Origin Issue

It requires the following to work properly:
 * Apache + PHP + MySQL
 * PHP with MySQLi support
 * Ratchet
 * ReactPHP-MySQL

Note: Ratchet and ReactPHP-MySQL are packaged inside DVWS. Separate installation is not required.

Licensing
This program is free software: you can redistribute it and/or modify it under the terms of the link GNU Affero General Public License 3.0 as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.


 * valign="top" style="padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;" |

Project Resources
DVWS Source Code

Issue Tracker

Project Leader
Abhineet Jayaraj

Related Projects

 * OWASP Bricks

Classifications

 * valign="top" style="padding-left:25px;width:200px;" |

News and Events

 * [08 Feb 2017] DVWS part of OWASP project.
 * [07 Jan 2017] Released DVWS on GitHub.


 * }

=FAQs=

How can I participate in your project?
All you have to do is make the Project Leader's aware of your available time to contribute to the project. It is also important to let the Leader's know how you would like to contribute and pitch in to help the project meet it's goals and milestones. There are many different ways you can contribute to an OWASP Project, but communication with the leads is key. You can also file pull requests on Github here: https://github.com/interference-security/DVWS/pulls.

If I am not a programmer can I participate in your project?
Yes, you can certainly participate in the project if you are not a programmer or technical. The project needs different skills and expertise and different times during its development. Currently, we are looking for researchers and graphic designers.

I found a bug or want a feature, where do I file it?
We are tracking issues and feature requests on GitHub. We recommend you to file an issue or feature request here: https://github.com/interference-security/DVWS/issues.

Do you have a Docker image for DVWS?
Officially we do not have a Docker image right now. However, a user has created an unofficial version which can be found here: https://hub.docker.com/r/tssoffsec/dvws/

I have another question, where do I ask?
We recommend using GitHub project or use the contact details here.

= Acknowledgements =

Contributors
The first contributors to the project were:


 * Abhineet Jayaraj : Project Leader
 * Your name can be here. Contribute

= Road Map and Getting Involved =

A project roadmap is the envisioned plan for the project. The purpose of the roadmap is to help others understand where the project is going as well as areas that volunteers may contribute. It gives the community a chance to understand the context and the vision for the goal of the project. Additionally, if a project becomes inactive, or if the project is abandoned, a roadmap can help ensure a project can be adopted and continued under new leadership. Roadmaps vary in detail from a broad outline to a fully detailed project charter. Generally speaking, projects with detailed roadmaps have tended to develop into successful projects. Some details that leaders may consider placing in the roadmap include: envisioned milestones, planned feature enhancements, essential conditions, project assumptions, development timelines, etc. You are required to have at least 4 milestones for every year the project is active.

We plan to roll out videos, documentations and methodologies in addition to the core project to help people test their web sockets applications.

Roadmap
As of November, 2013, the highest priorities for the next 6 months are:
 * Complete the first draft of the Tool Project Template
 * Get other people to review the Tool Project Template and provide feedback
 * Incorporate feedback into changes in the Tool Project Template
 * Finalize the Tool Project template and have it reviewed to be promoted from an Incubator Project to a Lab Project

Subsequent Releases will add
 * Internationalization Support
 * Additional Unit Tests
 * Automated Regression tests

Getting Involved
Involvement in the development and promotion of Tool Project Template is actively encouraged! You do not have to be a security expert or a programmer to contribute. Some of the ways you can help are as follows:

Coding
We could implement some of the later items on the roadmap sooner if someone wanted to help out with unit or automated regression tests

Localization
Are you fluent in another language? Can you help translate the text strings in the Tool Project Template into that language?

Testing
Do you have a flair for finding bugs in software? We want to product a high quality product, so any help with Quality Assurance would be greatly appreciated. Let us know if you can offer your help.

Feedback
Please use the Tool Project Template project mailing list for feedback about:  What do like? What don't you like? What features would you like to see prioritized on the roadmap? 