An Introduction to Jump-Oriented Programming - An Alternative Code-Reuse Attack
Explore an alternative code-reuse attack technique called Jump-Oriented Programming (JOP) in this comprehensive 53-minute lecture by Dr. Bramwell Brizendine. Begin with an introduction to code reuse attacks and a simplified low-level view before delving into a brief history of Return-Oriented Programming (ROP). Examine ROP chain output from Mona and trace the historical timeline of JOP. Review key elements of JOP, including the dispatch table and dispatcher gadget, while distinguishing what JOP is and is not. Discover the JOP ROCKET framework, focusing on its print sub-menu, flexibility, and automation of chain generation. Explore advanced topics such as multiple stack pivots, virtual protect JOP chains, and automatic JOP chain construction. Learn how to use JOP to avoid bad bytes and implement stack pivoting. Investigate real-world exploit scenarios and expand your understanding of dispatcher gadgets, including two-gadget dispatchers using jmp and call instructions.