This dissertation presents techniques for the dynamic detection of web application vulnerabilities. It describes Sania, a tool that detects SQL injection vulnerabilities by dynamically generating effective attacks based on analyzing the syntax of where attacks are injected. It also describes Detoxss, a tool that detects cross-site scripting (XSS) vulnerabilities using a similar dynamic analysis approach. An evaluation found that these techniques discovered more vulnerabilities than popular vulnerability scanners. Additionally, the dissertation presents Amberate, an extensible framework for developing web application vulnerability scanners that supports plugin architectures and common functions to facilitate implementing new detection techniques.