gitextract_58dy3jvz/ ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ └── maven.yml ├── .gitignore ├── Ch04_OutputEscaping/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── resources/ │ │ └── ESAPI.properties │ └── webapp/ │ ├── index.jsp │ ├── resources/ │ │ └── css/ │ │ └── styles.css │ ├── withOutputEscaping.jsp │ └── withoutOutputEscaping.jsp ├── Ch04_OutputEscapingJSF/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ └── ContactController.java │ └── webapp/ │ ├── WEB-INF/ │ │ ├── faces-config.xml │ │ └── web.xml │ ├── contact.xhtml │ ├── index.xhtml │ └── resources/ │ └── css/ │ └── styles.css ├── Ch04_OutputEscapingJSP/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── de/ │ │ │ └── dominikschadow/ │ │ │ └── webappsecurity/ │ │ │ ├── OutputEscapingWebAppInitializer.java │ │ │ ├── WebConfig.java │ │ │ ├── controller/ │ │ │ │ ├── ContactController.java │ │ │ │ └── IndexController.java │ │ │ └── domain/ │ │ │ └── Contact.java │ │ ├── resources/ │ │ │ └── logback.xml │ │ └── webapp/ │ │ ├── WEB-INF/ │ │ │ └── views/ │ │ │ ├── contact.jsp │ │ │ └── index.jsp │ │ └── resources/ │ │ └── styles.css │ └── test/ │ └── java/ │ └── de/ │ └── dominikschadow/ │ └── webappsecurity/ │ └── controller/ │ ├── ContactControllerTest.java │ └── IndexControllerTest.java ├── Ch05_AccessReferenceMaps/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ ├── AccountController.java │ │ ├── AccountIntegerController.java │ │ ├── AccountRandomController.java │ │ ├── AccountsDAO.java │ │ ├── AccountsIntegerDAO.java │ │ ├── AccountsRandomDAO.java │ │ ├── HibernateUtil.java │ │ └── domain/ │ │ ├── Account.java │ │ └── User.java │ ├── resources/ │ │ ├── ESAPI.properties │ │ ├── context.xml │ │ ├── hibernate.cfg.xml │ │ ├── import.sql │ │ └── logback.xml │ └── webapp/ │ ├── WEB-INF/ │ │ ├── faces-config.xml │ │ └── web.xml │ ├── account.xhtml │ ├── accountInteger.xhtml │ ├── accountRandom.xhtml │ ├── index.xhtml │ └── resources/ │ └── css/ │ └── styles.css ├── Ch05_HSTS/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ ├── filter/ │ │ │ └── HSTSFilter.java │ │ └── servlets/ │ │ └── LoginServlet.java │ ├── resources/ │ │ └── logback.xml │ └── webapp/ │ ├── WEB-INF/ │ │ └── web.xml │ ├── index.jsp │ └── styles.css ├── Ch05_SessionFixation/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ └── servlets/ │ │ └── LoginServlet.java │ ├── resources/ │ │ ├── context.xml │ │ └── logback.xml │ └── webapp/ │ ├── index.jsp │ └── styles.css ├── Ch05_SessionHandling/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── webapp/ │ ├── WEB-INF/ │ │ ├── faces-config.xml │ │ └── web.xml │ ├── index.xhtml │ └── resources/ │ └── css/ │ └── styles.css ├── Ch06_SQLInjection/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ ├── domain/ │ │ │ └── Customer.java │ │ └── servlets/ │ │ ├── CustomerTable.java │ │ ├── HQLServlet.java │ │ ├── HibernateUtil.java │ │ ├── InitDbServlet.java │ │ ├── PreparedStatementServlet.java │ │ ├── StatementEscapingServlet.java │ │ └── StatementServlet.java │ ├── resources/ │ │ ├── ESAPI.properties │ │ ├── context.xml │ │ ├── hibernate.cfg.xml │ │ ├── import.sql │ │ └── logback.xml │ └── webapp/ │ ├── index.jsp │ └── styles.css ├── Ch06_XPathInjection/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ └── servlets/ │ │ ├── XPathEscapingServlet.java │ │ └── XPathServlet.java │ ├── resources/ │ │ ├── ESAPI.properties │ │ ├── customer.xml │ │ └── logback.xml │ └── webapp/ │ ├── index.jsp │ └── styles.css ├── Ch07_CSP/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ ├── CSPReporting.java │ │ ├── WithCSPReportingServlet.java │ │ ├── WithCSPServlet.java │ │ └── WithoutCSPServlet.java │ ├── resources/ │ │ └── logback.xml │ └── webapp/ │ ├── index.jsp │ └── styles.css ├── Ch07_XSS/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ ├── beans/ │ │ │ ├── CustomerController.java │ │ │ └── SearchController.java │ │ ├── daos/ │ │ │ ├── CustomerDAO.java │ │ │ └── HibernateUtil.java │ │ └── domain/ │ │ └── Customer.java │ ├── resources/ │ │ ├── context.xml │ │ ├── hibernate.cfg.xml │ │ ├── import.sql │ │ └── logback.xml │ └── webapp/ │ ├── WEB-INF/ │ │ ├── faces-config.xml │ │ └── web.xml │ ├── createCustomer.xhtml │ ├── index.xhtml │ ├── resources/ │ │ └── css/ │ │ └── styles.css │ ├── search.xhtml │ ├── searchCustomer.xhtml │ └── showCustomers.xhtml ├── Ch07_XSSFilter/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ └── filter/ │ │ ├── BlacklistFilter.java │ │ ├── BlacklistRequestWrapper.java │ │ ├── ESAPIFilter.java │ │ └── ESAPIRequestWrapper.java │ ├── resources/ │ │ └── ESAPI.properties │ └── webapp/ │ ├── WEB-INF/ │ │ └── web.xml │ ├── index.jsp │ ├── outputBlacklist.jsp │ ├── outputEsapi.jsp │ └── resources/ │ └── css/ │ └── styles.css ├── Ch07_XSSJSF/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ ├── MaximumController.java │ │ ├── StandardController.java │ │ └── Status.java │ └── webapp/ │ ├── WEB-INF/ │ │ ├── faces-config.xml │ │ └── web.xml │ ├── index.xhtml │ ├── maximum.xhtml │ ├── resources/ │ │ └── css/ │ │ └── styles.css │ └── standard.xhtml ├── Ch08_CSRF/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── de/ │ │ └── dominikschadow/ │ │ └── webappsecurity/ │ │ ├── servlets/ │ │ │ ├── ProtectedServlet.java │ │ │ └── UnprotectedServlet.java │ │ └── token/ │ │ └── CSRFTokenHandler.java │ ├── resources/ │ │ └── logback.xml │ └── webapp/ │ ├── form-protected.html │ ├── form-unprotected.html │ ├── form-working.jsp │ ├── image-protected.html │ ├── image-unprotected.html │ ├── index.jsp │ ├── requests-protected.html │ ├── requests-unprotected.html │ ├── resources/ │ │ └── css/ │ │ └── styles.css │ ├── xmlhttprequest-protected.html │ └── xmlhttprequest-unprotected.html ├── LICENSE ├── README.md └── pom.xml