Getting Started with Web Application Security

Getting Started with Web Application Security

For you to become good with web application security testing this is the baseline required.

Knowledge Tasks
Working You can write code, execute commands etc. Basically do hands-on
Basic You are aware of, you can read code and build on it while on the job

Core skills

  1. Working knowledge of HTML
  2. Working knowledge of JavaScript
  3. Basic knowledge of CSS
  4. Working knowledge HTTP
  5. Working knowledge of at least 1 server side programming language. In order of preference (nodejs, Python, PHP, Java)
  6. Working knowledge of setting up a website in a linux server (locally in a virtual machine and some where online such as Digital Ocean etc.)
  7. Working knowledge of setting up and managing at least 1 relational database server such as Mysql/Postgres
  8. Working knowledge of DNS records
  9. Working knowledge of command line tools and BASH scripting and Python Scripting to work on Linux/Windows computers
  10. Working knowledge of Burp Suite and OWASP ZAP
  11. Ability to document your learning using Markdown, gitbooks, mkdocs/raneto and stored using version control. (Bitbucket is an online git repo hosting solution that will give you unlimited private repos for free)

Personal Website Project (Capstone project)

Imagine an initiative you take up. (This should be done in 3-4 days of 8 hours of work once you are done with the above)

  1. Create your own website with dynamic content so it involves hand-coding HTML, some basic JS for client side validation, CSS to make things pretty, Server side backend to process HTML form post, saving data to database
  2. Configuring your own server to setup web server, database server and using this to host your website in VM and later on a public internet server
  3. If you host it on a public internet server you will need to buy a domain name, configure A records etc.

Once you have all of this (This will take 3-6 months)

  1. Working and attacking knowledge of all the vulnerabilities mentioned in OWASP Top 10 but gained by reading the OWASP Testing Guide 4.0
  2. Working and defending knowledge of all the above vulnerabilities gained by reading the OWASP ASVS 3.0

Now you can learn (For life)

  1. How to use the user driven approach to do a complete vulnerability assessment of a web application (Chapter 21 from WAHH)
  2. How to do a complete vulnerability assessment of a mobile application

To do these 2 there are enough number of vulnerable applications to play with.

If you do the core skills and build the personal website completely in terms of tech required you are ready to pursue security testing in any order you like. But following and building a deeper understanding of the OWASP Testing Guide and the OWASP ASVS will give an edge whether it is do bug bounty or find a job as an application security tester/researcher.

I did a talk at null Bangalore last year on how you can accelerate your learning. May be of use as well.

Accelerating your security learning

Akash Mahajan avatar
About Akash Mahajan
That Web Application Security Guy long time ago. Co-Founder @AppseccoUK | Community Manager @null0x00 | Author - Burp Suite Essentials, Security Automation with Ansible2. Writing about application security, being part of communities like null, OWASP and other technically inclined topics. Sometimes about my company and books