O'Reilly logo

A Bug Hunter's Diary by Tobias Klein

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

4.4 Lessons Learned

As a programmer:

  • Don’t mix different data types.

  • Learn about the hidden transformations done automatically by the compiler. These implicit conversions are subtle and cause a lot of security bugs[43] (also see Section A.3).

  • Get a solid grasp of C’s type conversions.

  • Not all NULL pointer dereferences in user space are simple denial-of-service conditions. Some of them are really bad vulnerabilities that can lead to arbitrary code execution.

  • Full RELRO helps to mitigate the GOT overwrite exploitation technique.

As a user of media players:

  • Never trust media file extensions (see Section 2.5).

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required