  Integrating security testing into the workflow of software developers not
only can save resources for separate security testing but also reduce the cost
of fixing security vulnerabilities by detecting them early in the development
cycle. We present an automatic testing approach to detect a common type of
Cross Site Scripting (XSS) vulnerability caused by improper encoding of
untrusted data. We automatically extract encoding functions used in a web
application to sanitize untrusted inputs and then evaluate their effectiveness
by automatically generating XSS attack strings. Our evaluations show that this
technique can detect 0-day XSS vulnerabilities that cannot be found by static
analysis tools. We will also show that our approach can efficiently cover a
common type of XSS vulnerability. This approach can be generalized to test for
input validation against other types injections such as command line injection.
