1. Every text passage/label that appears in lessons must independent of the current language set for WebGoat. 2. Every lesson plan and solutions must be translated for each supported language. Number 1 is achieved by using webgoat/util/WebgoatI18N.java and by having every output routed through this piece of code. You no longer say hints.add("Lesson Hint 1"); or ....addElement("Shopping Cart")) but you in the lesson you say hints.add(WebGoatI18N.get("Lesson Hint1")) or ....addElement(WebGoatI18N.get("Shopping Cart"). Then WebGoatI18N looks up the corresponding string for the language set as the current lanuage and returns it. Number 2 is achieved by having subdirectories in lesson_plans corresponding to every language. That means, a lesson that has been translated to Spanish and German will be found in lesson_plans/English and lesson_plans/Spanish and lesson_plans/German. This is how WebGoat finds out about available languages: in Course.java in loadResources() it looks for lesson plans. Unlike before, now a lesson plan can be found multiple times in different "language" directories. So for every directory the lesson plan is found in, WebGoat associates this language with the lesson and also lets WebGoatI18N load the appropriate WebGoatLabels_$LANGAUGE$.properties file which contains the translations of labels. So this is what you have to do for a new language: First of all, you have to copy and translate every lesson plan that you need in the new language, and then you also have to create a WebGoatLabels_$LANGUAGE$.properties file with that labels that will be used in these lessons. Atm WebGoat crashes throws an exception when a label is missing but this can be sorted out quickly. git-svn-id: http://webgoat.googlecode.com/svn/trunk@389 4033779f-a91e-0410-96ef-6bf7bf53c507
45 lines
1.9 KiB
HTML
45 lines
1.9 KiB
HTML
|
|
<!-- Start Instructions -->
|
|
<h1>Useful Tools</h1>
|
|
<p>
|
|
Below is a list of tools we've found useful in solving the WebGoat lessons. You will need WebScarab or Paros to solve most of the lessons. </p>
|
|
<h2>WebScarab:</h2>
|
|
<p>
|
|
Like WebGoat, WebScarab is a part of OWASP.
|
|
WebScarab is a proxy for analyzing applications that
|
|
communicate using the HTTP and HTTPS protocols. Because WebScarab
|
|
operates as an intercepting proxy, we can review and modify requests
|
|
and responses.<br><br>
|
|
<img src="images/introduction/webscarab.jpg"><br><br>
|
|
Webpage:<a href="http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project">http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project</a>
|
|
</p>
|
|
<h2>Firebug:</h2>
|
|
<p>
|
|
Firebug is an add-on for the Firefox browser. We can use it to inspect, edit and monitor CSS, HTML and JavaScript.<br><br>
|
|
<img src="images/introduction/firebug.jpg"><br><br>
|
|
Webpage:<a href="http://www.getfirebug.com" target="_blank">http://www.getfirebug.com</a>
|
|
<br><br>
|
|
<h2>IEWatch:</h2>
|
|
<p>
|
|
IEWatch is a tool to analyze HTTP and HTML for users of the Internet Explorer.<br><br>
|
|
<img src="images/introduction/iewatch.jpg"><br><br>
|
|
Webpage:<a href="http://www.iewatch.com" target="_blank">http://www.iewatch.com</a>
|
|
</p>
|
|
<h2>Wireshark</h2>
|
|
<p>
|
|
Wireshark is a network protocol analyzer. You can sniff network traffic and gather useful
|
|
informations this way.<br><br>
|
|
<img src="images/introduction/wireshark.png"><br><br>
|
|
Webpage:<a href="http://www.wireshark.org" target="_blank">http://www.wireshark.org</a>
|
|
|
|
</p>
|
|
|
|
<h2>Scanner:</h2>
|
|
<p>
|
|
There are many vulnerability scanners for your own web applications. They can find XSS, Injection Flaws and other vulnerabilities. Below are links to two open source scanner. <br><br>
|
|
Nessus:<a href="http://www.nessus.org" target="_blank">http://www.nessus.org</a><br>
|
|
Paros:<a href="http://www.parosproxy.org" target="_blank">http://www.parosproxy.org</a><br>
|
|
</p>
|
|
<!-- Stop Instructions -->
|
|
<br>
|