This class, web app basics, and Github

Secure Web Application Development

Dr. Hale

University of Nebraska at Omaha

CYBR 8470 - Lecture 1

Welcome to CYBR8470

What is this class?

We will be making stuff. Its not for the faint of heart, but trust me it will be awesome and you will feel great when you create something new.

Why should you trust me?

I've made a lot of web apps - its kind of my thing. Also the previous three years student cohorts enjoyed the class.

Ok great, what will we cover?

Ok, So what will we cover?

  1. Web Services, RESTful APIs, and SOA
  2. Software Engineering: Architecting and design
  3. Software project management and Team dynamics
  4. Client-side application development
  5. Server-side API Creation
  6. Application Pen Testing
  7. Hardening and secure coding in the SDLC

 

Syllabus Time

Today: Not Just the Syllabus

Icebreaker

Part 1: Class Overview

Part 2: Web Apps 101

Part 3: HTTP Review and RESTful APIs

 

Icebreaker

The Cup-stack Challenge

Ok, so what did we learn here?

  1. Stacking cups is hard
  2. Teamwork is a give and take
  3. Collective vision is essential for success
  4. Building software in a team isn't all that different - each of you have different visions and try to make those visions a reality. It only works when everyone learns what their pull is.
  5. Pull requests puns are a real thing. 
  6. Dr. Hale loves puns and will continue to use them unashamedly 

Part1: Class Overview

GITHUB - Learn it and Love it

Slick version: mlhale.github.io/CYBR8470

We Will be using it a lot

Canvas - For Grades

Slack

Part2: Web Apps 101

(nearly) All companies have a web app

You probably use them, daily.

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

*...at the application Level!

* Cenzic Application Vulnerability Trends report, 2014

Basic Web App attack Principle

...make the web application do something it was never intended to do.

aka...user input is evil.

EX: XSS

Allows attackers to inject malicious scripts into web pages and have it executed in another user’s browser. Usually to capture some user information.

EX: XSS Defense

  • 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

We will REturn to XSS

Part3: HTTP and REST Overview

Questions?

© 2014-2017 Matthew L. Hale or as listed

Matt Hale, PHD

University of Nebraska at Omaha

Assistant Professor, Cybersecurity

mlhale@unomaha.edu

twitter: @mlhale_

8470-Lecture-1

By Matt Hale

8470-Lecture-1

Secure Web Application Development - Class 1

  • 127