What does HackerNews think of MBE?
Course materials for Modern Binary Exploitation by RPISEC
You can't hope to exploit an ASLR'd executable without first understanding how to exploit a non-ASLR'd executable. If you want to exploit modern systems, you need to peel back those mitigations one by one (if you're lucky you can jump over multiple layers at once, but not always).
Further, just because mitigations exist, it doesn't mean they're widely deployed. As a recent and prominent example, the Nintendo Switch bootrom was pwned through a classic stack-smash with shellcode-on-stack in ~2018 (or 2017, for those in-the-know).
That said, there are more modern resources available these days, I'm also a fan of https://github.com/RPISEC/MBE, which kinda speedruns you up to the state-of-the-art (although it too is getting kinda old at this point - but things haven't changed that radically since 2015)
You can also do the challenges using IDA/Ghidra instead of looking at the source for a proper challenge and I recommend doing this initially for each challenge.
Secure Software Principles - CSCI 4971, Spring 2010:
http://www.cs.rpi.edu/academics/courses/spring10/csci4971/
Malware Analysis - CSCI 4972/6963, Spring 2013:
http://security.cs.rpi.edu/courses/malware-spring2013/
Advanced Exploitation and Rootkit Development, Spring 2013:
http://security.cs.rpi.edu/~candej2/
Program Obfuscation, Fall 2013:
http://security.cs.rpi.edu/courses/obfuscation-fall2013/syll...
Windows Exploitation, Spring 2014:
http://security.cs.rpi.edu/~gaasem/winexp/IndependentStudy.p...
http://gaasedelen.blogspot.com/2014/02/windows-exploitation-...
Modern Binary Exploitation - CSCI 4968, Spring 2015:
Malware Analysis - CSCI 4976, Fall 2015: