Web Application Programming & Hacking
General Information:
Class Days/Time: TR 3:35-4:50 PM
Classroom: JHH 180. Detailed class schedule here
Prerequisites: CPS 341 and CPS 350/CPS 501
Instructor:
Dr. Phu Phung
Office: Hathcock Hall 105
Email: Phu@udayton.edu
Course Webpage:
All course materials, such as the syllabus, major assignments, and handouts, can
be found on the course page located on the Canvas server: Canvas Course
Page.
Course Description: In this course, students will study basic
web application development with front-end (HTML5, JavaScript, CSS) and back-end
(PHP/MySQL). Web application vulnerabilities and attacks will be introduced and explored with
hands-on exercises on the range. Secure programming principles and practices will be
introduced to avoid potential web application vulnerabilities and attacks.
Topics (Tentative):
- The Web and Web Applications
- Client-side Web Development with HTML5, CSS, and JavaScript
- Server-side Web Application Development with PHP and Database
(MySQL)
Exercises
- Version control (git) and DevOps
- Web Application Security: Vulnerabilities and Attacks with Hands-on
- Secure Web Programming Principles and Practices
Course Goals and Objectives:
- Obtain the ability and skills to effectively use state-of-the-art techniques in
web application development and security tools for the analysis, design, and implementation of
secure web systems.
- Enhance students' programming skills to develop secure, robust, sustainable
software products.
- Establish security analysis skills to identify and avoid potential web
vulnerabilities.
- Identify the types of security threats that perform attacks in web applications
and adopt corresponding countermeasures to prevent such attacks.
- Obtain the ability and skills to apply practical knowledge of security in
designing and implementing web applications with contemporary programming
technologies.
Course Outcomes:
- Design, implement, and evaluate a web-based solution to meet a given set of
computing requirements in the context of the program's discipline.
- Understand the principle aspects of concepts of web application security.
- Identify and discuss the types of security threats and attacks in web
applications and practical experience with hands-on exercises.
- Adopt corresponding countermeasures to identified threats in web
applications and argue their effectiveness.
- Apply practical knowledge of security in designing and implementing web
applications with contemporary technologies.
Projects/Assignments
- Lab 0 - Development Environment Setup
- Lab 1 - Foundations of the Web
- Lab 2 - Front-end Web Development
- Lab 3 - Secure Web Application Development in PHP/MySQL
- Hackathon 1 - Cross-site Scripting Attacks and Defenses
- Hackathon 2 - SQL Injection Attacks
- Individual Project 1 – Front-end Web Development with a Professional Profile
Website on Bitbucket.io Cloud service
Download
Course Material