D2T2 - Exposing Hidden Exploitable Behaviors Using EDF
summary
A Python-based differential-fuzzing framework compares outputs across interpreters, OSes and versions and finds more than 20 distinct issue classes. It auto-generates permutations, records stdout/stderr/return codes/timeouts, and flags crashes, hangs and surprising divergences (NaN comparisons, JS max-number oddities). Practical discoveries include PHP undefined constant→string leading to shell execution, load_reg_file remote RCE in a Ruby branch, path and username disclosures, unintended code evaluation detected via canary token files, and a working HTML report/export and fuzzer release.
AI-written summary · about
chapters (16)
- 0:00Introduction to EDF
- 1:19What is differential fuzzing
- 3:45From manual to automated testing
- 8:41Basic test case demonstrations
- 12:16Detecting crashes and hangs
- 16:17Differential fuzzing explained
- 21:40Comparing implementations
- 23:47Same software different inputs
- 24:52Testing different versions
- 26:44Cross-OS behavior differences
- 29:00Extending differential fuzzing
- 35:07Using canaries in fuzzing
- 40:56Detecting network connections
- 44:09Reading files with canaries
- 46:46Future of multi-software bugs
- 47:29Q&A session
related talks
26mExposing Hidden Exploitable Behaviors In Programming Languages Using Differential Fuzzing
53mThree Colours of Fuzzing: Reflections and Open Challenges
16mLost in Translation: Enabling Confused Deputy Attacks on EDA Software...
28mFuzzing Malware for Fun & Profit
45mFinding Vulnerabilities through Static Analysis and Scripting
39mFuzzing: Finding Your Own Bugs and 0days!
24mDefeating the Transparency Feature of DBI
42mCPU Fuzzing: Automatic Discovery of...
