Mindmap
Web security
Inhalt der Mindmap
Web security
Standaard web model
- User agent
- Surft vrolijk op het internet
- Internet
- Website
- Webserver
- Database
- Webserver
- Website
- User agent
Threat surface
- Firewall
- Voor we webserver staat een firewall. Welke poorten staan open, wat voor verkeer mag hierdoor. Je kan een slecht geconfigureerde firewall exploiten.
- Web server
- Het ding dat we willen beschermen
- Web service
- Op een web server draait 1 of meerdere webservices
- Auth service
- Wie mag er mijn er inloggen op mijn server en klopt die login?
- Access control
- Wat mag deze gebruiker bekijken van mij en welke acties mag er hierop gebeuren?
- Database
- Firewall
Why important?
- Cybercriminals
- Die houden hiervan. Je kan vanuit je eigen omgeving web apps aanvallen en zo binnendringen in een bedrijf
- 24/7
- Web apps zijn 24/7 beschikbaar
- Sensitive data
- Vaak staat er leuke, gevoelige data op een webapp
- Direct access
- Eens toegang, heb je vaak direct controle over de backend
- Custom == vulnerable
- Vaak zijn applicaties custom made. Niet veel developers staan stil bij de veiligheid dus er zullen een hele hoop vulnerabilities zijn.
- Bug bounty
- Als je een zwakte vind kan je er geld voor krijgen.
- Broken arrow
- Infrastructure
- De veiligheid van de applicatie is maar zo veilig als op de infrastructuur waarop het draait
- Coding
- Developers houden zelden rekening met veiligheid
- OWASP
- Volg hun guidelines
- Infrastructure
- Attack flow
- 1. Discover
- a. Enviromnent
- Bekijk aandacht je omgeving, open ports, type, versies van apps, OS,...
- b. Examine errors
- Probeer errors te genereren die je meer inzicht kunnen geven van het systeem. Stack traces, database errors
- c. Find info
- Staat er nuttige informatie in de comments van source code? comments, hidden fields?
- a. Enviromnent
- 1. Target
- a. login mechanisme
- Kan ik login omzeilen
- b. input fields
- Is input wel goed afgeschermt of kan ik evil input invoeren? sql injections
- c. session management
- Kan ik iemand zijn sessie overnemen en zo binnengeraken
- d. infrastructure
- a. login mechanisme
- 1. Discover
- Cybercriminals
OWASP
- Non-profit
- Security awareness
- OWASP 10
- Methodology
- Threat agents
- Welke specefieke applicatie vatbaar is
- Exploitability
- Hoe gemakkelijk is het om de zwakheid te misbruiken
- Weakness prevelance
- Hoe bekend is de vulnerability
- Weakness detectability
- Hoe gemakelijk is het om de vulnerability te detecteren
- Technical impact
- Vereiste technische kennis om de vulnerability te exploiten
- Business impact
- Threat agents
- A1 Injection
- Rating: Threat against - attack vector Exploitability - 3(easy) Prevelance - 2(common) Detectability -3(easy) Technical -3(severe)
- Unverified inputs
- Een programme voert soms commands uit op een database. Als inputs niet worden nagekeken dan kan een aanvaller queries afvuren op database en zo informatie tonen.
- Interpreter = risk
- Prevent
- Check inputs
- single quotes double quotes SQL commands SQL verbs Headers
- Safe API/DRM/frameworks
- Escape characters
- Check inputs
- A2 Broken authentication
- Het toegang verlenen tot accounts en data waartoe je toegang hebt.
- Guess passwords
- Hijack sessions
- Bruteforce attacks
- Weak passwords
- Weak password recovery process
- Prevent
- Captchta
- Multi factor
- Password policy
- A3 sensitive data exposure
- Belangrijke data zoals krediet kaart nummers, social security nummers, addressen moeten beter beschermt worden!
- Plain text
- Weak crypto
- Encryption not enforced
- Prevent
- Classify/archive data
- Wat is sensitive? wat is minder belangrijk?
- Encrypt data in transit
- Disable cashing
- Encrypt data
- Classify/archive data
- A4 XML external entities
- Unwanted data
- XML kan je data opvragen. Iets onschuldig als een prijs maar een hacker kan het zo manipuleren dat het andere lokale data, dat niet bedoeld is voor de buitenwereld benaderen
- Malicious lookup
- Prevent
- Use json
- Patch XML processors
- Disable external entity
- Input validation
- Unwanted data
- A5 Broken access control
- Access control gaat regelen welke gebruikers wat mogen aanspreken en welke rechten ze hierop hebben
- Direct object reference
- Linken naar /admin , controlpanel,...
- URL's
- Sommige urls zijn niet bedoeld voor bepaalde gebruikers maar als je geen access control hebt kunnen deze gewoon kijken wat er allemaal staat
- Prevent
- Proper access control
- Disable webdirectory
- Log access control
- Invalidate tokens
- A6 Security misconfiguration
- Overlooked vulnerabilities
- Check CMS
- Kijk na welke CMS je gebruikt, welke versie en of er vulnerabilies op zijn. Hetzelfde voor frameworks, plugins, libraries,...
- Default logins
- Prevent
- Hardening
- Hier ga je vulnerabilies verminderen. Default logins aanpssen, features uitschakelen die niet nodig zijn, verwijder overbodige sesrvices...
- Up-to-date
- Hou je gebruikte frameworks, libraries, plugins,.... up-to-date
- Automate
- Hardening
- A7 cross site scripting
- Reflected XSS
- Unvalidated of unescaped user input
- Stored XSS
- unsanitized user input wordt bijgehouden
- DOM XSS
- Prevent
- Validate input
- Encode output
- Enable correct http headers
- Reflected XSS
- A8 insecure deseralisation
- Prevent
- Trusted sources
- Use primitive types
- Prevent
- A9 using components with vulnerabilities
- Not updating
- Attack window
- A10 Unsufficient loggin/monitoring
- Alerts
- Logs
- Events
- Methodology
CSFR
- Cross site forgery request
- Steal session
- Attackers authenticates
Informationen
- Beschreibung
- Security (Web application security) Mindmap am Web security, erstellt von Thomas Shelby am 07/01/2019.
- Erstellt von
- Thomas Shelby
- Aufrufe
- 0
- Bewertung