Skip to content

d1r7b46/webapp90days

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 

Repository files navigation

Web App Attack Basics - 90 Days of Education

This plan is designed for self-education in web application security and includes the following topics:
Week 1-2: SQL Injection
Week 3-4: XSS Attacks (Cross-Site Scripting)
Week 5-6: Access Control Vulnerabilities
Week 7-8: Business Logic & Information Disclosure
Week 9-10: File Upload Vulnerabilities & Server-Side Request Forgery (SSRF)
Week 11-12: Server-Side Template Injection (SSTI) & XML External Entity (XXE) Injection
Week 13: Review, Practice, Seek Mentorship, & Take Next Steps

I will try to find free resources for each major section based on the 4 predominant learning styles. Many people need to utilize a mixture of learning styles to grasp concepts. Feel free to work your way through everything provided or to go through it until you feel comfortable discussing the topic in an interview or with peers.
The 4 types are:
Visual - learning via diagrams, pictures, charts, notes with different spatial arrangements or colors
Auditory - learning via active listening
Read/Write - learning via reading and writing
Kinesthetic - interactive learning, learning by doing



Before you Begin

Informational

I have curated a group of diverse YouTube channels and personalities to optimize the learning experience. I suggest you identify your preferred learning style, especially as it comes to auditory and visual, and seek out the type of learning that you get the most from. This plan will heavily benefit those who are mulitmodal learners, or those that learn best by a multitude of styles.

Okay onto the good stuff!



Plan & Schedule

Week 1: Web Basics and Vocabulary

Day 1-2: Introduction to Web & Web App Basics

Day 3-4: Understand Web Application Architecture and Components

Day 5-6: Learn About HTTP Methods, Status codes, and Headers.

Day 7: Familiarize yourself with common web-related terms and concepts.

  • Go through your flashcards from the week, seek out other similar flash card decks so you can add missing terms to your own.
  • Finish up any notes from the week.
  • Work on any optional rooms/boxes as seen below.

Optional - Subscription Needed:

  • TryHackMe Pre Security Path, Finish "How The Web Works": https://tryhackme.com/paths
  • "How websites work" and "HTTP in detail" on TryHackMe.

Final Mentions:
This three part series is great - if you want to solidify your knowledge, make your way through these and take notes along the way. Don't forget to use talk to speech if you prefer auditory.



Week 2: SQL Injections

Day 8-9: Introduction to SQL injection

Day 10-11: Types of SQL injection attacks

Day 12-13: Preventive measures and best practices

Day 14: Hands-on SQL Injection exercises


Optional - Subscription Needed: - HacktheBox's Spybug: https://app.hackthebox.com/challenges/Spybug



Week 3: XSS Attacks

Day 11-12: Understanding Cross-Site Scripting (XSS) vulnerabilities

Day 13-14: Reflected, Stored, and DOM-based XSS attacks

Day 15-16: Mitigation techniques and secure coding practices

Day 17-20: Hands-on XSS exploitation exercises


Optional - Subscription Needed: - TryHackMe paid $ room Cross-site Scripting might also be a good choice if you pay for the service: https://tryhackme.com/room/xss - Hack the Box paid $ box Cross-site Scripting might also be a good choice if you pay for the service: https://academy.hackthebox.com/course/preview/cross-site-scripting-xss



Week 4: Authentication Attacks

Week 5: Access Control Vulnerabilities

Day 24-27: Introduction to Access Control flaws, Insecure Direct Object References, IDOR

  • Visual Day 27-30: Role-based access control and privilege escalation
    Day 30-33: Implementing proper access controls
    Day 33-36: Test and practice identifying access control issues


Week 6: Business Logic

Day 36-39: Understanding Business Logic vulnerabilities
Day 39-42: Identifying and exploiting logic flaws
Day 42-45: Safeguarding business logic and handling sensitive information
Day 45-48: Analyzing and avoiding information disclosure risks


Week 7: Information Disclosure

Week 8: File Upload Vulnerabilities

Day 48-51: Exploring File Upload vulnerabilities and potential exploits
Day 51-54: Best practices for secure file uploads
Day 54-57: Introduction to Server-Side Request Forgery
Day 57-60: Detecting and preventing SSRF attacks


Week 9: SSRF

Week 10: SSTI

Day 60-63: Understanding Server-Side Template Injection (SSTI) vulnerabilities
Day 63-66: Mitigation strategies and secure coding techniques
Day 66-69: Introduction to XML External Entity (XXE) Injection
Day 69-72: Preventing XXE attacks and staying secure


Week 11: XML External Entity (XXE) Injection

Week 12: OWASP Top Ten & a CTF

Week 13: Review & Practice

Day 72-77: Review all topics covered in the past weeks

  • Review all flash cards created, find more resources for any topic you do not understand

Day 77-80: Practice on realistic web app pentesting scenarios

  • Finish any of the labs from the weeks prior that you have not completed (PortSwigger, Juice Shop, THM, HTB)

Day 80-83: Seek guidance or mentorship from experienced pentesters if possible

Day 83-90: Continue hands-on practice, explore real-world applications, and attend webinars or workshops to deepen understanding

  • Take a go at Damn Vulnerable Web Application (DVWA) or OWASP WebGoat
  • Attend several web application webcasts, prepare some possible questions for the presenter
  • Explore some real bug bounty programs to see what you can find, write reports on any finding discovered





Extra Resources

If you got here after 90 days - CONGRATS!!!! What did you learn about your learning style? What was the best resource you found on your own? Take some time to reflect and celebrate a win - you deserve it.

Here's some more stuff :D

Free Web App Security Courses



Certifications for Web Application Pentesting




Tips for Success for those that have ADHD

Dearest fellow ADHDers. This might look like a lot! Take a few hours, plan this out, but keep in mind the below:

  1. Break the study sessions into short, focused blocks with regular breaks to maintain attention.
  2. Use interactive learning methods, such as online labs, capture-the-flag (CTF) challenges, and videos.
  3. Create a quiet and organized study environment to minimize distractions.
  4. Utilize task lists, timers, and study apps to help with time management and focus.
  5. Consider joining a study group or finding an accountability partner to stay motivated and engaged.
  6. Celebrate achievements and progress throughout the 90 days to boost morale.



If this helped you get going on your webapp pentesting journey, I want to know! Please feel free to add or tag me - My LinkedIn
If you got a ton out of this and want to buy me a coffee, I won't say no :D Kofi

About

A plan for self education

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published