Skip to content

Commit 5cfaf5f

Browse files
committed
Fixed readme
1 parent 721d981 commit 5cfaf5f

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,78 +11,78 @@ The easiest way to start a web application is to use the **Maven-Tomcat7-Plug-in
1111

1212
See the following subsections for a short description and the requirements to execute the sample code and launch the web application.
1313

14-
###Ch04_OutputEscaping
14+
## Ch04_OutputEscaping
1515
Web application using JavaServer Pages (JSP) to show the difference between output escaping via Enterprise Security API (ESAPI) and no output escaping at all. Use an input like *<script>alert('XSS')</script>* to examine the difference.
1616

1717
**Requirements:** Apache Tomcat, Webbrowser
1818

19-
###Ch04_OutputEscapingJSF
19+
## Ch04_OutputEscapingJSF
2020
Web application using JavaServer Faces (JSF) to demonstrate the two different possibilities to show user input in a web page with *#{contact.firstname}* and *<h:outputText value="#{contact.firstname}" />*. Use an input like *<script>alert('XSS')</script>* to examine the difference.
2121

2222
**Requirements:** Apache Tomcat, Webbrowser
2323

24-
###Ch04_OutputEscapingJSP
24+
## Ch04_OutputEscapingJSP
2525
Spring based web application using JavaServer Pages (JSP) to demonstrate the two different possibilities to show user input in a web page with *${contact.firstname}* and *<c:out value="${contact.firstname}" />*. Use an input like *<script>alert('XSS')</script>* to examine the difference.
2626

2727
**Requirements:** Apache Tomcat, Webbrowser
2828

29-
###Ch05_AccessReferenceMaps
29+
## Ch05_AccessReferenceMaps
3030
Web application using JavaServer Faces (JSF) to show the difference between using unprotected and protected Maps (with *IntegerAccessReferenceMaps* and *RandomAccessReferenceMaps*) with user data.
3131

3232
**Requirements:** Apache Tomcat, Webbrowser
3333

34-
###Ch05_HSTS
34+
## Ch05_HSTS
3535
Web application using a Servlet filter to add the *Strict-Transport-Security* header to each response.
3636

3737
**Requirements:** Apache Tomcat, Webbrowser
3838

39-
###Ch05_SessionFixation
39+
## Ch05_SessionFixation
4040
Web application invalidating an existing session and its session id before continuing the login process. This web application requires the included special *context.xml* configuration for Tomcat in order to display the current session id via JavaScript.
4141

4242
**Requirements:** Apache Tomcat, Webbrowser
4343

44-
###Ch05_SessionHandling
44+
## Ch05_SessionHandling
4545
Web application containing a complete *web.xml* configuration showing how to protect cookies and other session data. Contains only a start page which fails trying to show the session cookie in a JavaScript popup.
4646

4747
**Requirements:** Apache Tomcat, Webbrowser
4848

49-
###Ch06_SQLInjection
49+
## Ch06_SQLInjection
5050
Web application using user input to query a in-memory-database. The entered data is used as part of a normal *Statement*, an *escaped Statement*, a *Prepared Statement* and as input for a *Hibernate Query Language*.
5151

5252
**Requirements:** Apache Tomcat, Webbrowser
5353

54-
###Ch06_XPathInjection
54+
## Ch06_XPathInjection
5555
Web application using user input to query a simple XML document. The entered data (name and password) is used as part of a normal *XPath expression* without any escaping and escaped as part of another *XPath expression*. The unescaped version is prune to XPath Injection, which makes it possible to retrieve more data of the XML document as the intended order limit.
5656

5757
**Requirements:** Apache Tomcat, Webbrowser
5858

59-
###Ch07_CSP
59+
## Ch07_CSP
6060
Web application with three input processing servlets. One is unprotected and processes any input without input validation or output escaping and is prone to Cross-Site Scripting. The second servlet adds a minimal *Content-Security-Policy* header to the response and allows to use any source from the same page (URL). This already protects the response page from Cross-Site Scripting in supported browsers. The third form adds a *Content-Security-Policy-Report-Only* header and shows how easy the reported data can be processed.
6161

6262
**Requirements:** Apache Tomcat, Webbrowser
6363

64-
###Ch07_XSS
64+
## Ch07_XSS
6565
Web application to test the three XSS types *stored*, *reflected* and *DOM based*. The input textfield is vulnerable to XSS and can be easily protected by enabling output escaping. Cookie could be protected by removing the special *context.xml* and by setting the corresponding *web.xml* parameter.
6666

6767
This web application requires the included special *context.xml* configuration for Tomcat in order to display the current session id via JavaScript.
6868

6969
**Requirements:** Apache Tomcat, Webbrowser
7070

71-
###Ch07_XSSFilter
71+
## Ch07_XSSFilter
7272
Web application showing the differences between a blacklist and an ESAPI based request filtering. Use an input like *<script>alert('XSS')</script>* to see the different output on the output pages.
7373

7474
**Requirements:** Apache Tomcat, Webbrowser
7575

76-
###Ch07_XSSJSF
76+
## Ch07_XSSJSF
7777
JavaServer Faces (JSF) based web application accepting user input in two forms. The first form results into an output page showing the user input in drop down boxes and output text fields with all default attributes active. The second form results into an output page using the same output fields with any additional security related attribute set to the maximum. Use an input like *<script>alert('XSS')</script>* to challenge the JSF XSS protection.
7878

7979
**Requirements:** Apache Tomcat, Webbrowser
8080

81-
###Ch08_CSRF
81+
## Ch08_CSRF
8282
Web application showing Cross-Site Request Forgery (CSRF) with GET and POST requests and how to protect forms with an anti CSRF token. All requests on the **Unprotected Requests** page are successful and reach the backend as a normal request. The **Protected Requests** page contains successful (with token) and unsuccessful (without token) requests; only the valid requests are processed in the backend.
8383

8484
**Requirements:** Apache Tomcat, Webbrowser
8585

86-
##Meta
86+
## Meta
8787
[![Build Status](https://travis-ci.org/dschadow/Java-Web-Security.svg)](https://travis-ci.org/dschadow/Java-Web-Security)
8888
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

0 commit comments

Comments
 (0)