Replies: 1 comment 1 reply
-
A few points on this that might affect direction, possibly not, but worth considering. These aren't really related to one another, so they're in no particular order.
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
A New Direction for Dojo Basic
Dojo Basic has been an invaluable resource for years, serving as an effective demonstration of how not to write a web application. Its age, however, is beginning to show. Built on PHP, Dojo Basic lacks examples of modern application features and vulnerabilities that are increasingly important in today's security landscape.
Despite this, we believe there's still a place for Dojo Basic as a resource for illustrating fundamental security concepts. While there's a growing emphasis on Single Page Applications (SPAs), we already have other robust applications serving this space within our portfolio. Therefore, Dojo Basic should continue to represent a classic application design, keeping its role as an entry-level tool for pentesting education.
Modernizing Dojo Basic with Flask and Jinja2
We're proposing a significant revamp of Dojo Basic, transitioning from PHP to a Python-based application using Flask and Jinja2. This modern stack will allow us to include more contemporary features and vulnerabilities, while maintaining the traditional server-side structure that Dojo Basic is known for.
The Flask Framework
Flask is a lightweight and flexible web framework for Python. It's easy to learn, making it a great choice for beginners, but it's also powerful and flexible enough to handle more complex applications. Flask's simplicity and flexibility will help us ensure that Dojo Basic remains accessible to newcomers, while still providing opportunities to demonstrate more complex vulnerabilities and security concepts.
Jinja2 Templating
We'll be using Jinja2 for our templating engine. This powerful and popular tool allows for dynamic generation of HTML content, and offers opportunities to demonstrate a variety of injection vulnerabilities, including server-side template injection (SSTI).
Demonstrating Modern Vulnerabilities
With this new setup, we'll be able to incorporate demonstrations of modern vulnerabilities, such as SSTI and insecure deserialization. We'll also continue to cover classic vulnerabilities like SQL injection, cross-site scripting, and cross-site request forgery.
Incorporating LDAP
Furthermore, we're planning to incorporate LDAP for user management. This will allow us to explore another common area of security vulnerability – improperly configured LDAP authentication. This feature will also lend a more realistic touch to the application, reflecting the kind of infrastructure that many real-world applications operate within.
Looking Forward
Our aim is to make Dojo Basic a more relevant, up-to-date learning tool for application security. By modernizing the platform and expanding the range of vulnerabilities it demonstrates, we can ensure it continues to serve as an essential part of pentesting education. We're excited to embark on this journey and welcome your thoughts and suggestions as we move forward.
Beta Was this translation helpful? Give feedback.
All reactions