Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


CNIT 127: Exploit Development

CNIT - City College of San Francisco via Independent

This course may be unavailable.


Learn how to find vulnerabilities and exploit them to gain control of target systems, including Linux, Windows, Mac, and Cisco. This class covers how to write tools, not just how to use them; essential skills for advanced penetration testers and software security professionals.
Advisory: CS 110A or equivalent familiarity with programming

Upon successful completion of this course, the student will be able to:

  • Read and write basic assembly code routines
  • Read and write basic C programs
  • Recognize C constructs in assembly
  • Find stack overflow vulnerabilities and exploit them
  • Create local privilege escalation exploits
  • Understand Linux shellcode and be able to write your own
  • Understand format string vulnerabilities and exploit them
  • Understand heap overflows and exploit them
  • Explain essential Windows features and their weaknesses, including DCOM and DCE-RPC
  • Understand Windows shells and how to write them
  • Explain various Windows overflows and exploit them
  • Evade filters and other Windows defenses
  • Find vulnerabilities in Mac OS X and exploit them
  • Find vulnerabilities in Cisco IOS and exploit them


Class 1: Ch 1: Before you Begin
Class 2: Ch 2: Stack overflows on Linux
Class 3: Ch 3: Shellcode
Class 4: Ch 4: Introduction to format string bugs
Class 5: Ch 5: Introduction to heap overflows
Class 6: Ch 6: The Wild World of Windows
Class 7: Lecture 7: Intro to 64-Bit Assembler (Not in book)
Class 8: Ch 8: Windows overflows (Part 1)
Class 9: Ch 8: Windows overflows (Part 2)
Class 10: Guest TBA
Class 11: Ch 14: Protection Mechanisms
Class 12: Ch 16: Fault Injection, Ch 17: The Art of Fuzzing
Class 13: Ch 18: Source Code Auditing
Class 14: Hopper Debugger
Class 15: Last Class: TBA

Taught by

Sam Bowne


Start your review of CNIT 127: Exploit Development

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.