• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Cisco Umbrella

Enterprise network security

  • Contact Sales
  • Login
    • Umbrella Login
    • Cloudlock Login
  • Why Us
    • Why Cisco Umbrella
      • Why Try Umbrella
      • Why DNS Security
      • Why Umbrella SASE
      • Our Customers
      • Customer Stories
      • Why Cisco Secure
    • Fast Reliable Cloud
      • Global Cloud Architecture
      • Cloud Network Status
      • Global Cloud Network Activity
    • Unmatched Intelligence
      • A New Approach to Cybersecurity
      • Interactive Intelligence
      • Cyber Attack Prevention
      • Umbrella and Cisco Talos Threat Intelligence
    • Extensive Integrations
      • IT Security Integrations
      • Hardware Integrations
      • Meraki Integration
      • Cisco Umbrella and SecureX
  • Products
    • Cisco Umbrella Products
      • Cisco Umbrella Cloud Security Service
      • Recursive DNS Services
      • Cisco Umbrella SIG
      • Umbrella Investigate
      • What’s New
    • Product Packages
      • Cisco Umbrella Package Comparison
      • – DNS Security Essentials Package
      • – DNS Security Advantage Package
      • – SIG Essentials Package
      • – SIG Advantage Package
      • Umbrella Support Packages
    • Functionality
      • DNS-Layer Security
      • Secure Web Gateway
      • Cloud Access Security Broker (CASB)
      • Cloud Data Loss Prevention (DLP)
      • Cloud-Delivered Firewall
      • Cloud Malware Protection
      • Remote Browser Isolation (RBI)
    • Man on a laptop with headphones on. He is attending a Cisco Umbrella Live Demo
  • Solutions
    • SASE & SSE Solutions
      • Cisco Umbrella SASE
      • Secure Access Service Edge (SASE)
      • What is SASE
      • What is Security Service Edge (SSE)
    • Functionality Solutions
      • Web Content Filtering
      • Secure Direct Internet Access
      • Shadow IT Discovery & App Blocking
      • Fast Incident Response
      • Unified Threat Management
      • Protect Mobile Users
      • Securing Remote and Roaming Users
    • Network Solutions
      • Guest Wi-Fi Security
      • SD-WAN Security
      • Off-Network Endpoint Security
    • Industry Solutions
      • Government and Public Sector Cybersecurity
      • Financial Services Security
        • – FTC Safeguards Rule Compliance 2023
      • Cybersecurity for Manufacturing
      • Higher Education Security
      • K-12 Schools Security
      • Healthcare, Retail and Hospitality Security
      • Enterprise Cloud Security
      • Small Business Cybersecurity
  • Resources
    • Content Library
      • Top Resources
      • Cybersecurity Webinars
      • Events
      • Research Reports
      • Case Studies
      • Videos
      • Datasheets
      • eBooks
      • Solution Briefs
    • International Documents
      • Deutsch/German
      • Español/Spanish
      • Français/French
      • Italiano/Italian
      • 日本語/Japanese
    • Security Definitions
      • What is Secure Access Service Edge (SASE)
      • What is Security Service Edge (SSE)
      • What is a Cloud Access Security Broker (CASB)
      • Cyber Threat Categories and Definitions
    • For Customers
      • Support
      • Customer Success Webinars
      • Free Trial Help and Tips
  • Trends & Threats
    • Market Trends
      • Hybrid Workforce
      • Rise of Remote Workers
      • Secure Internet Gateway (SIG)
    • Security Threats
      • How to Stop Phishing Attacks
      • Malware Detection and Protection
      • Ransomware is on the Rise
      • Cryptomining Malware Protection
      • Cybersecurity Threat Landscape
      • Global Cyber Threat Intelligence
    •  
    • Woman connecting confidently to any device anywhere
  • Partners
    • Channel Partners
      • Partner Program
      • Become a Partner
    • Service Providers
      • Secure Connectivity
      • Managed Security for MSSPs
      • Managed IT for MSPs
    •  
    • Person looking down at laptop. They are connecting and working securely
  • Blog
    • News & Product Posts
      • Latest Posts
      • Products & Services
      • Customer Focus
      • Feature Spotlight
    • Cybersecurity Posts
      • Security
      • Threats
      • Cybersecurity Threat Spotlight
      • Research
    •  
    • Register for a webinar - with illustration of connecting securely to the cloud
  • Contact Us
  • Umbrella Login
  • Cloudlock Login
  • Free Trial
Security

Security Ninjas: An Open Source Application Security Training Program

Author avatar of UmbrellaEngineeringUmbrellaEngineering
Updated — July 24, 2020 • 3 minute read
View blog >

ninja

Security Ninjas

In order for OpenDNS to be able to make the internet secure, we need to make sure OpenDNS itself is secure. On the Application Security front, apart from performing security reviews, we also conduct internal security awareness and training exercises.

What Is the Security Ninjas Program?

Security Ninjas is an Application Security Training Program that I created for our software developers here at OpenDNS. It has really helped our developers write more secure code and hence reduced the burden on our security team, so we thought open sourcing it for the benefit of the community.

The training program slide deck covers the OWASP Top 10 (2013) vulnerabilities and some general security best practices. The hands-on training lab consists of 10 fun real world like hacking exercises, corresponding to each of the OWASP Top 10 vulnerabilities. Hints and solutions are provided along the way. Although the backend for this is written in PHP, vulnerabilities would remain the same across all web based languages, so the training would still be relevant even if you don’t actively code in PHP.

Just a heads up on the timeline (in case you are presenting it): talking through the slides along with hacking the lab takes ~2 hrs.

Why Is Application Security Training Important? 

  1. It’s hard to scale the Security Engineering team with the Software Development teams. It’s practically impossible for the security team to review each line of code before it goes in production.
  2. It’s best to train developers so that they are not only able to catch security bugs during peer reviews, but also avoid writing vulnerable code in the first place. This approach scales well with fast dev cycles.
  3. This sort of proactive approach also reduces the amount of work that needs to be put in reactively—both by the security team during reviews and by the dev teams while fixing bugs. Meaning? Less friction and faster code deployment!
  4. This knowledge also helps developers understand security issues, risks and consequences faster especially when security bugs are reported.
  5. Last but not the least it makes developers unconsciously care/informed about security.


Making the Hands-on Lab Work:

Docker instructions

I would highly recommend that you run the training in a docker container because of the following:

  1. Setting up and destroying the environment would be super easy and quick.
  2. The docker container would be sandboxed which means that the vulnerable application wouldn’t be able to harm the host OS.

Setup:

  1. Setup docker https://docs.docker.com/get-docker/. There are many ways to do this depending on the OS you use.
  2. Make sure docker has been installed correctly by running ‘docker version’.
  3. Start the Application Security Training container by running the following command (I chose port 8899 to avoid port allocation conflicts): ‘docker run -d -p 8899:80 opendns/security-ninjas’.
  4. Get the IP address of your container. In my case the command was ‘boot2docker ip’ as I was running docker using boot2docker.
  5. Go to your web browser and enter <IP address from step 4>:8899.
  6. The training should be running now and you should see the home page in your browser window.
  7. Kill the container after you are done.
    1. Go back to the terminal and type ‘docker ps’. Get the container id of the training.
    2. Then run ‘docker kill {container id}’.

Running it using a web server

If for some reason you are not able to run the training in a docker container, you may also run it using a web server.

  1. Download a web server (like Apache) and PHP.
  2. Download the source code from here and put it in the directory where the web server looks for files to serve.
  3. In the Security Ninjas sub-directory, change text file permissions: ‘chmod 777 *.txt’
  4. Make sure WHOIS is installed on the web server.
  5. Start the web server and reach the application from your web browser.

The following steps are optional but recommended (for both Docker and web server):

  1. Install Firefox.
  2. Install the FoxyProxy plugin for Firefox
    1. In select mode: Use proxy “Default” for all URLs.
    2. Configure the Default proxy to use 127.0.0.1:8080.
    3. You can delete or disable this plugin after the exercise.
  3. Install Burp Suite free from https://portswigger.net/burp. You could use some other proxy tool as well.
  4. You can get some basic Burp Suite tutorials from https://portswigger.net/support.
  5. You can turn the proxy off for most of the exercises but for some, having the intercept on would make it much easier to inspect and alter the HTTP requests.
  6. Run the training in Firefox.

Suggested Blogs

  • Cisco Umbrella Delivered Better Cybersecurity and 231% ROI February 21, 2023 2 minute read
  • Cisco Listed as a Representative Vendor in Gartner® Market Guide for Single-Vendor SASE January 26, 2023 3 minute read
  • How to Evaluate SSE Vendors: Questions to Ask, Pitfalls to Avoid June 23, 2022 5 minute read

Share this blog

FacebookTweetLinkedIn
Subscribe to the Cisco Umbrella blog Subscribe

Follow Us

  • Twitter
  • Facebook
  • LinkedIn
  • YouTube

Footer Sections

What we make

  • Cloud Security Service
  • DNS-Layer Network Security
  • Secure Web Gateway
  • Security Packages

Who we are

  • Global Cloud Architecture
  • Cloud Network Status
  • Cloud Network Activity
  • OpenDNS is now Umbrella
  • Cisco Umbrella Blog

Learn more

  • Webinars
  • Careers
  • Support
  • Cisco Umbrella Live Demo
  • Contact Sales
Umbrella by Cisco
208.67.222.222+208.67.220.220
2620:119:35::35+2620:119:53::53
Sign up for a Free Trial
  • Cisco Online Privacy Statement
  • Terms of Service
  • Sitemap

© 2023 Cisco Umbrella