Dr. Hale
University of Nebraska at Omaha
CYBR 8470 - Introduction Module
Part 1: Class Content Overview
Part 2: Web Apps and Threats
Part 3: HTTP Review and Intro to RESTful APIs
This class is all about making. It is practitioner oriented. There will be a fair amount of coding involved. It will make you stretch. It is "hard."
That said...
Img credit: https://www.developgoodhabits.com/comfort-zone/
Comfort Zone
Stretch Zone
Panic Zone
Learning
Risk
Challenge
Growth
"Hard"
"Easy"
Boring
Anxiety Free
"Impossible"
Fear
Stress
Overwhelming
Model originally described by psychologists Robert M. Yerkes and John Dillingham Dodson in 1908
This class
(nearly) All companies have a web app
You probably use them, daily.
Web Page ≠ Web Service ≠ Web App
web page: an HTML (HyperText Markup Language) document that contains certain content (images, videos, text, etc)
web app: a web application is a piece of software that presents its user interface in a web browser. A web app typically includes at least one web service and generates many web pages in response to different user actions. The key difference between an app and a service is that an app is user facing, while a service is system-facing.
web service: a piece of software that serves up data through a web interface. Typically web services are object-oriented, provide access to a database, and encode data in XML or JSON.
user
Web Application server
frontend
What the user sees
HTML, CSS, JS
perform action
see result
backend
API
data request
response
Web Services
File system
database
Processes requests, performs application logic, and provides data to the frontend
As a user, you expect web apps to be:
fast, responsive, always available, and secure
Despite your expectations:
96% of web apps have vulnerabilities*
* Cenzic Application Vulnerability Trends report, 2014
Percentage of tested apps with vulnerabilities
Median number of vulnerabilities per app
13
14
2012
2013
2012
2013
Edgescan, vulnerability statistics report, 2019 pg. 8.
% of websites falling within the vulnerability category
average number of vulnerabilities per application
vulnerabilities by severity
...make the web application do something it was never intended to do.
aka...user input is evil.
Allows attackers to inject malicious scripts into web pages and have it executed in another user’s browser. Usually to capture some user information.
Filter and validate all user input before accepting it.
Encode and escape special characters as HTML.
Never trust user input or display raw submissions.
Problematic Characters
Take screenshots of successful GET and POST requests captured in POSTMAN
Submit screenshots to Canvas as Lab 1.
© 2014-2023 Matthew L. Hale or as listed
University of Nebraska at Omaha
Associate Professor, Cybersecurity
mlhale@unomaha.edu
twitter: @mlhale_
slack me: @MLHale