<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Abraham+Aranguren</id>
		<title>OWASP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Abraham+Aranguren"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Abraham_Aranguren"/>
		<updated>2026-04-20T18:15:44Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=210281</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=210281"/>
				<updated>2016-03-02T15:18:05Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: flagship_big.jpg|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWTF aims to make pen testing:&lt;br /&gt;
&lt;br /&gt;
* Aligned with OWASP Testing Guide + PTES + NIST&lt;br /&gt;
* More efficient&lt;br /&gt;
* More comprehensive&lt;br /&gt;
* More creative and fun (minimise un-creative work)&lt;br /&gt;
&lt;br /&gt;
so that pentesters will have more time to&lt;br /&gt;
&lt;br /&gt;
* See the big picture and think out of the box&lt;br /&gt;
* More efficiently find, verify and combine vulnerabilities&lt;br /&gt;
* Have time to investigate complex vulnerabilities like business logic/architectural flaws or virtual hosting sessions&lt;br /&gt;
* Perform more tactical/targeted fuzzing on seemingly risky areas&lt;br /&gt;
* Demonstrate true impact despite the short timeframes we are typically given to test.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[https://owtf.github.io#download OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0.1 OWTF 1.0.1 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
* [mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
* [mailto:bharadwaj.machiraju@gmail.com Bharadwaj Machiraju]&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [https://owtf.github.io/#download Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Flagship projects.jpg|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
OWTF documentation is hosted in the following resources:&lt;br /&gt;
* [https://owtf.github.io/ Getting started]&lt;br /&gt;
* [https://owtf.github.io/#download Downloading &amp;amp; Installation]&lt;br /&gt;
* [http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
* [https://www.youtube.com/user/owtfproject/playlists OWTF Playlists with Demos/Talks on Youtube]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Join us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [http://www.slideshare.net/abrahamaranguren/presentations Some OWTF presentation slides]&lt;br /&gt;
* [http://blog.7-a.org/search/label/OWTF%20Talks More OWTF Talk links]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
OWTF attempts to solve the &amp;quot;penetration testers are never given enough time to test properly&amp;quot; problem, or in other words, OWTF = Test/Exploit ASAP, with this in mind, as of right now, the priorities are:&lt;br /&gt;
* To improve security testing efficiency (i.e. test more in less time)&lt;br /&gt;
* To improve security testing coverage (i.e. test more)&lt;br /&gt;
* Gradually integrate the best tools&lt;br /&gt;
* Unite the best tools and make them work together with the security tester&lt;br /&gt;
* Remove or Reduce the need to babysit security tools during security assessments&lt;br /&gt;
* Be a respository of PoC resource links to assist exploitation of vulnerabilities in order to illustrate risk to businesses.&lt;br /&gt;
* Help penetration testers save time on report writing&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* [https://github.com/owtf/owtf/pulls Send us a pull request]&lt;br /&gt;
* [https://github.com/owtf/owtf/issues Give us feedback / suggestions / report bugs]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Talk to us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf_developers Join our OWTF developers mailing list]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf Join the general OWTF mailing list]&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=210280</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=210280"/>
				<updated>2016-03-02T15:17:39Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: flagship_big.jpg|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&amp;lt;/div&amp;gt;&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWTF aims to make pen testing:&lt;br /&gt;
&lt;br /&gt;
* Aligned with OWASP Testing Guide + PTES + NIST&lt;br /&gt;
* More efficient&lt;br /&gt;
* More comprehensive&lt;br /&gt;
* More creative and fun (minimise un-creative work)&lt;br /&gt;
&lt;br /&gt;
so that pentesters will have more time to&lt;br /&gt;
&lt;br /&gt;
* See the big picture and think out of the box&lt;br /&gt;
* More efficiently find, verify and combine vulnerabilities&lt;br /&gt;
* Have time to investigate complex vulnerabilities like business logic/architectural flaws or virtual hosting sessions&lt;br /&gt;
* Perform more tactical/targeted fuzzing on seemingly risky areas&lt;br /&gt;
* Demonstrate true impact despite the short timeframes we are typically given to test.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[https://owtf.github.io#download/ OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0.1 OWTF 1.0.1 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
* [mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
* [mailto:bharadwaj.machiraju@gmail.com Bharadwaj Machiraju]&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [https://owtf.github.io/#download Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Flagship projects.jpg|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Flagship_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
OWTF documentation is hosted in the following resources:&lt;br /&gt;
* [https://owtf.github.io/ Getting started]&lt;br /&gt;
* [https://owtf.github.io/#download Downloading &amp;amp; Installation]&lt;br /&gt;
* [http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
* [https://www.youtube.com/user/owtfproject/playlists OWTF Playlists with Demos/Talks on Youtube]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Join us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [http://www.slideshare.net/abrahamaranguren/presentations Some OWTF presentation slides]&lt;br /&gt;
* [http://blog.7-a.org/search/label/OWTF%20Talks More OWTF Talk links]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
OWTF attempts to solve the &amp;quot;penetration testers are never given enough time to test properly&amp;quot; problem, or in other words, OWTF = Test/Exploit ASAP, with this in mind, as of right now, the priorities are:&lt;br /&gt;
* To improve security testing efficiency (i.e. test more in less time)&lt;br /&gt;
* To improve security testing coverage (i.e. test more)&lt;br /&gt;
* Gradually integrate the best tools&lt;br /&gt;
* Unite the best tools and make them work together with the security tester&lt;br /&gt;
* Remove or Reduce the need to babysit security tools during security assessments&lt;br /&gt;
* Be a respository of PoC resource links to assist exploitation of vulnerabilities in order to illustrate risk to businesses.&lt;br /&gt;
* Help penetration testers save time on report writing&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* [https://github.com/owtf/owtf/pulls Send us a pull request]&lt;br /&gt;
* [https://github.com/owtf/owtf/issues Give us feedback / suggestions / report bugs]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Talk to us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf_developers Join our OWTF developers mailing list]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf Join the general OWTF mailing list]&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSOC2016_Ideas&amp;diff=210173</id>
		<title>GSOC2016 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSOC2016_Ideas&amp;diff=210173"/>
				<updated>2016-03-01T16:03:15Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&lt;br /&gt;
&lt;br /&gt;
'''Tips to get you started in no particular order:''' &lt;br /&gt;
 * Read the [[GSoC SAT]]&lt;br /&gt;
 * Check the Hackademic wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list or irc channel.&lt;br /&gt;
 * Check our [https://github.com/Hackademic/hackademic github repository] and especially the [https://github.com/Hackademic/hackademic/issues open tickets]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Hackademic Challenges ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP Hackademic Challenges Project]]  helps you test your knowledge on web application security. You can use it to actually attack web applications in a realistic but also controllable and safe environment. After a wonderfull 2014 GSoC with 100 new challenges and a couple of new plugins we're mainly looking to get new features in and maybe a couple of challenges. Bellow is a list of proposed features.&lt;br /&gt;
&lt;br /&gt;
=== REST API for the sandbox ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
During the last summer code sprint Hackademic got challenge sandboxing in the form of vagrant and docker wrappers as well as an engine to start and stop the container or vm instances.&lt;br /&gt;
What is needed now is a rest api which supports endpoint authentication and authorization which enables the sandbox engine to be completely independed from the rest of the project.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
Since the sandbox is written in python, you can use microframeworks such as flask to implement the api.&lt;br /&gt;
The endpoint authorization can be done via certificates or plain signature or username/password type authentication.&lt;br /&gt;
However the communication between the two has to be over a secure channel.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* A REST style api which allows an authenticated remote entity control the sandbox engine.&lt;br /&gt;
* PEP8 compliant code&lt;br /&gt;
* Acceptable unit test coverage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Python, test driven developmen, some idea what REST is, some security knowledge would be preferable.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New CMS ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The CMS part of the project is really old and has accumulated a significant amount of technical debt.&lt;br /&gt;
In addition many design decisions are either outdated or could be improved. &lt;br /&gt;
Therefore it may be a good idea to leverage the power of modern web frameworks to create a new CMS.&lt;br /&gt;
The new cms can be written in php or python using any compoennts we agree are necesary and based on the framework we agree on.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* New cms with same functionality as the old one (3 types of users -- student, teacher, admin--, 3 types of resources -- article challenge, class--, ACL type permissions, CRUD operations on every resource/user, all functionality can be extended by Plugins.&lt;br /&gt;
* REST endpoints in addition to classic ones&lt;br /&gt;
* tests covering all routes implemented&lt;br /&gt;
* PSR/PEP 8 code&lt;br /&gt;
&lt;br /&gt;
''' Note: '''&lt;br /&gt;
This is a huge project, it is ok if the student implements a part of it. However whatever implemented must be up to spec.&lt;br /&gt;
If you decide to take on this project contact us and we can agree on a list of routes.&lt;br /&gt;
If you don't decide to take on this project contact us.&lt;br /&gt;
Generally contact us, we like it when students have insightful questions and the community is active&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
Python or PHP, the framework suggested, what REST is, the technologies used, some security knowledge would be nice.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== First Course Type Challenge ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
We have a wonderful sandbox engine which allows for complex guided challenges to be implemented.&lt;br /&gt;
We'd like to build a challenge that guides the user through a series of steps to an end goal and teaches more information on the subject matter on the way.&lt;br /&gt;
This is a very open-ended project on purpose to allow creative student to come up with nice ideas.&lt;br /&gt;
Bellow you will find some examples that we thought might be interesting.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
* Purposefully vulnerable web page that guides the user via javascript tooltips and hints to exploiting it using ZAP. ( Bonus: using ZAP via the ZAP api). The challenge is solved when the the student submits the contents of a text file located on the disk (obtained by exploited an RCE)&lt;br /&gt;
&lt;br /&gt;
* Reversing a provided binary to extract information by providing step by step instructions to reversing using any popular reversing tool (well, you can't use IDA so gdb should have to do). Challenge is solved when the keys are extracted from the binary and submitted. Bonus points if each binary donwloaded has different keys.&lt;br /&gt;
&lt;br /&gt;
* Guide to exploiting the TOP10. (Using ZAP?)&lt;br /&gt;
&lt;br /&gt;
* Defensive Type challenges -- Here's how to create a patch for this kind of vulnerability -- Challenge is solved when the unit tests are run and the vulnerability isn't there.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* One or more Course - style challenges provided either as a docker container or as a vagrant box.&lt;br /&gt;
* Concrete documentation on how to build a challenge like this.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
The technologies used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Advanced Sandboxed Challenges ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
In the spirit of the challenges above, we're looking for true ctf type challenges.&lt;br /&gt;
This is an open ended task. We're expecting awesome fresh ideas.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
* An application vulnerable to one or more TOP 10 elements.&lt;br /&gt;
* A logic flaws based ctf&lt;br /&gt;
* Your idea here&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
Docker containers or Vagrant boxes that contain complete new challenges.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
Knowledge of the technologies used&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Your idea ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Amazing students, in our experience the best, most creative and unique ideas show up when we let students suggest their own feature in relation to the project.&lt;br /&gt;
The above should give you a general idea where we're going but don't let them constrain you.&lt;br /&gt;
Do you wanna do something that would fit into Hackademic? Send us an email!&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
No idea, that's your turn to shine!&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
If it's code, code according to our coding standards.&lt;br /&gt;
If it's challenges, something new and interesting.&lt;br /&gt;
If it's something else, then written like the person who's going to maintain your code is a raging psychopath with an axe who knows where you live.&lt;br /&gt;
&lt;br /&gt;
In short we'd like some quality. ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
== OWASP OWTF  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
ZAP is one of the top OWASP projects and the most active open source web security tools. &lt;br /&gt;
&lt;br /&gt;
You can follow (and join in) the GSoC discussions on the ZAP Developer Group: https://groups.google.com/d/msg/zaproxy-develop/Uy0JPkzsI_s/Bj7OTSkISCIJ&lt;br /&gt;
&lt;br /&gt;
=== Bug tracker support ===&lt;br /&gt;
&lt;br /&gt;
This would allow ZAP users to raise issues in bug trackers directly within ZAP. Ideally it would be implemented as an extension with a generic framework and then adaptors for specific trackers, like github and bugzilla.&lt;br /&gt;
&lt;br /&gt;
The info included in the issues raised should be as configurable as possible so that users can include whatever they want, and set things like custom fields.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* Raise issues in github and bugzilla from alerts within the ZAP UI&lt;br /&gt;
* Support for raising alerts using the ZAP API&lt;br /&gt;
* High level of customization so that users can tune to their requirements&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Field enumeration ===&lt;br /&gt;
&lt;br /&gt;
This would allow a user to iterate though a set of (user defined) characters in order to identify the ones that are filtered out and/or escaped.&lt;br /&gt;
&lt;br /&gt;
The user should be able to define the character sets to test and will probably need to configure the success and failure conditions, as well as valid values for other fields in the form.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* User able to specify a specific field to enumerate via the ZAP UI&lt;br /&gt;
* A list of all valid characters to be returned from the sets of characters the user specifies&lt;br /&gt;
* Ability to configure a wide range of success and failure conditions to cope with as many possible situations as possible&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Form Handling ===&lt;br /&gt;
&lt;br /&gt;
The ZAP traditional and Ajax spiders explore an application by putting basic default values in all forms. These may often not be valid values, for example using &amp;quot;ZAP&amp;quot; when an email address is required.&lt;br /&gt;
&lt;br /&gt;
The enhancement would allow the user to define default values based on pattern matching against the field names and/or ids.&lt;br /&gt;
&lt;br /&gt;
It would also be very useful if it could show the user all forms and their associated fields for an application, and then allow the user to update the default values.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* User able to specify default values for all forms used by the ZAP spiders&lt;br /&gt;
* Display all of the forms and fields for an application and allow the user to update the default values to be used&lt;br /&gt;
* Full support for defining default values via the API&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Automated authentication detection and configuration ===&lt;br /&gt;
&lt;br /&gt;
ZAP has extensive support for supporting application authentication, but configuring this is a manual process which can be tricky to get right.&lt;br /&gt;
&lt;br /&gt;
The enhancement would allow ZAP to detect as many forms of authentication as possible and automatically configure them using the existing ZAP functionality.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* Automatically detect a wide range of authentication mechanisms&lt;br /&gt;
* Automatically configure ZAP to handle them&lt;br /&gt;
* Full support via the API&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Advanced padding oracle testing and exploitation ===&lt;br /&gt;
&lt;br /&gt;
ZAP has currently has very minimal support in it's the (beta) [https://github.com/zaproxy/zap-extensions/blob/beta/src/org/zaproxy/zap/extension/ascanrulesBeta/PaddingOraclePlugin.java PaddingOraclePlugin] for identifying potential [https://en.wikipedia.org/wiki/Padding_oracle_attack padding oracle] vulnerabilities. Specifically, it only examines two indicators for possible oracles (changing the last byte of padding by XORing it with 0x1 and resubmitting the HTTP request with the new altered parameter to see if the HTTP response contains some error patter or to check if the returned HTTP status is a 500 error. Furthermore, it is limited to checking parameters, but encrypted values that may be susceptible to padding oracle attacks may also be in HTTP cookies or even HTTP request / response values. (In the latter case, these custom headers are usually manipulated via AJAX.) Lastly SOAP messages using [https://www.w3.org/TR/2002/REC-xmlenc-core-20021210/Overview.html W3C XML Encryption] and JSON are other potential sources of padding oracle vulnerabilities that might be examined.&lt;br /&gt;
&lt;br /&gt;
The enhancement would extend the support to more a broader attack surface such as new attack vectors like cookies, HTTP headers, and possibly XML or JSON and also expand the identification of potential new oracles to not just keywords, but to any minute difference in responses (at least for idempotent GETs) or significant variations in time. Lastly, we would like to add the ability to exploit padding oracle vulnerabilities discovered which could lead to whole lot of other interesting discoveries.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* Detect oracle padding vulnerabilities in more situations&lt;br /&gt;
** Expanded attack vectors: cookies, HTTP headers, XML, JSON&lt;br /&gt;
** Expanded variation of recognized potential oracles: ''any'' output differences when padding correct vs. incorrect (takes much more than flipping a single padding bit), significant differences in timing, etc.&lt;br /&gt;
* Add the option to actually attempt to exploit discovered potential padding oracle vulnerabilities and report additional subsequent findings once the ciphertext is actually decrypted.&lt;br /&gt;
* Build test code to illustrate a working proof of concept&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. Reading up on basic details of how padding oracle attacks operate would also be extremely helpful.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Kevin Wall (cryptography subject matter expert) and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Zest text representation and parser ===&lt;br /&gt;
&lt;br /&gt;
Zest is a graphical scripting language from the Mozilla Security team, and is used as the ZAP macro language.&lt;br /&gt;
&lt;br /&gt;
A standardized text representation and parser would be very useful and help its adoption.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* A documented definition of a text representation for Zest&lt;br /&gt;
* A parser that converts the text representation into a working Zest script&lt;br /&gt;
* An option in the Zest java implementation to output Zest scripts text format&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
The Zest reference implementation is written in Java, so a good knowledge of this language is recommended. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
=== Your idea ===&lt;br /&gt;
&lt;br /&gt;
We're always open to students coming up with their own suggestions for ZAP projects, so if you have something you think would make ZAP better then please get in touch!&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
&lt;br /&gt;
* That depends on your project, but clearly defined goals will be necessary&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisite: '''&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
''' Mentors '''&lt;br /&gt;
Simon Bennetts and other members of the ZAP core team&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP AppSensor Project]] provides real-time application layer intrusion detection. &lt;br /&gt;
&lt;br /&gt;
 * Check the AppSensor wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list.&lt;br /&gt;
 * Check our [https://github.com/jtmelton/appsensor github repository] and the [https://github.com/jtmelton/appsensor/issues open tickets]&lt;br /&gt;
 * Also see our [http://www.appsensor.org appsensor website]&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI Expansion ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, and we currently have a minimal application for data display. This project will involve expanding the default/standard UI for the AppSensor project. As part of the project, you will learn about the domain model, iterating your mockup designs and share those with the project leader(s) and the community for feedback. The existing stack is based on spring boot and reactjs. There are lots of features to be added, and you'll work with the project leader(s) and the community to build the most-needed and requested capabilities.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The existing dashboard application will be expanded and will involve features like: &lt;br /&gt;
* Search (could involve significant back-end work to configure indexing, etc.)&lt;br /&gt;
* Policy Management (edit server configuration in real-time)&lt;br /&gt;
* Data visualization / dashboarding&lt;br /&gt;
&lt;br /&gt;
Source code, tests, and associated documentation for both the back-end and UI will be delivered for this effort.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable with UI design and development, particularly building dashboards. Comfortable with Java (with some assistance). Basic familiarity with security concepts related to intrusion detection and prevention as this is the domain.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Trend Monitoring Analysis Engine ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a basic policy-driven analysis engine to determine if a series of events represents an attack (if a user triggers 5 of this type of event in 10 minutes, it's an attack). While this supports many use cases, there are times when it would be helpful to know trending information. If a particular function of the application begins to see 10 times its normal amount of traffic, that might represent an attack. This project would add an additional analysis engine to support &amp;quot;trend monitoring&amp;quot;. Development of this feature would require some initial research on alternative implementation strategies, followed by the development and testing of the feature in AppSensor. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* A trend monitoring analysis engine to be used either in place of or in addition to the existing policy-driven analysis engine&lt;br /&gt;
* Associated configuration mechanism to specify the trending rules/policy&lt;br /&gt;
* A small full sample demo application showing usage of the trend monitoring feature&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Expand language support for clients ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor supports various modes for communication with the server. The language and framework of the client application are required only to support the given mode. This flexibility is desirable, but having pre-built clients in various languages is useful for our user-base. This project would involve working with various popular languages and frameworks to build support for communicating with the appsensor server backend.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* Clients in multiple popular languages for interaction with appsensor server&lt;br /&gt;
* Evaluate the possibility for generating clients from specification as opposed to writing and maintaining the code (ie. swagger for REST)&lt;br /&gt;
* At a minimum, coverage for the HTTP/REST mode should be supported. Other modes (thrift, soap, kafka, etc.) will be produced as time allows. &lt;br /&gt;
* Several small demo applications showing usage of the given APIs&lt;br /&gt;
&lt;br /&gt;
Source code and tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable working in multiple popular languages and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Implement Detection Points in Reverse Proxy ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor works by tracking events that are created by &amp;quot;detection points&amp;quot;, essentially locations in the processing pipeline where suspicious or malicious intent is observed. This often requires business-specific detection within the application. However, the project has defined a number of detection points (https://www.owasp.org/index.php/AppSensor_DetectionPoints) and responses (https://www.owasp.org/index.php/AppSensor_ResponseActions), some of which can be generically applied across a broader set of applications, including those that are common to an entire organization or even cross-organization. For that reason, a sub-project has been created (https://github.com/jtmelton/appsensor-reverse-proxy) that provides support for detection points and responses that are generic enough to be broadly applicable. This project would expand support for these detection points and responses.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
The project should produce: &lt;br /&gt;
* New detection points and responses&lt;br /&gt;
* Documentation for how to deploy the project and any end-user considerations&lt;br /&gt;
* Load testing each function as this project front-ends applications, and traffic throughput characteristics are important to our user-base.&lt;br /&gt;
* A small sample demo application showing the utility of the proxy. A recording of the usage for community viewing would be beneficial.&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the feature will be created, along with the associated end user documentation for how to setup and configure it. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in golang and unit testing.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
== OWASP Seraphimdroid [[OWASP_SeraphimDroid_Project| ]] ==&lt;br /&gt;
&lt;br /&gt;
=== Behavioral malware and intrusion analysis  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is an Android mobile app which already has a capability to statically analyze malware using machine learning (weka toolkit) relying on permissions. However, this is usually not enough and we intend to improve this with behavioral analysis. There are a number of paper in scientific literature describing how to detect malware and intrusions by dynamically analyzing its behavior (system calls, battery consumption, etc.). The idea of this project is to find the best approach that can be implemented on the device and implement it.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Reviewing scientific literature and find feasible approach we can take&lt;br /&gt;
*  Implement and possibly improve the approach in Seraphimdroid&lt;br /&gt;
*  Test the model and provide controls to switch algorithm on or off and possibly fine tune it&lt;br /&gt;
*  Documenting approach as a technical report&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
* Basic knowledge and interest in machine learning&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Framework for plugin development  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is well rounded security and privacy app, however, it lacks some components community can provide. We would like to provide community the way to develop plugins that can add features to OWASP Seraphimdroid app. However, the way of integrating external components into Android app may be challenge. The way of presenting GUI and integration between processes need to be examined and developed. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Examining the way of integrating third party apps through some provided API to OWASP Seraphimdroid&lt;br /&gt;
*  Providing GUI integration with third party components&lt;br /&gt;
*  Develop at least one test plugin&lt;br /&gt;
*  Document the development process and API&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
=== Educational component  ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_SeraphimDroid_Project|OWASP Seraphimdroid]] is well rounded security and privacy app. The initial idea of the project was to provide educational platform for common users, where by using the application, users can learn about risks for their privacy and security. Some components already has some sort of explanation, which is educational. However, it lacks of uneatable knowledge source and some of the components that monitor user's behavior do not provide sufficient information. Idea of this project is to develop monitoring of user activity and an component that can warn user about risks if he does something risky. Also, mobile security knowledge base that can be updated remotely will be a huge new asset to the application.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
*  Develop uneatable knowledge base and GUI for it&lt;br /&gt;
*  Develop web server where the knowledge base can be updated&lt;br /&gt;
*  Improve current educational reporting&lt;br /&gt;
*  Develop methodology for monitoring users and notifying them about risky activities&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Java&lt;br /&gt;
* Android&lt;br /&gt;
* CSV, XML&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Nikola_Milosevic|Nikola Milosevic]] - OWASP Seraphimdroid Project Leader&lt;br /&gt;
&lt;br /&gt;
== OWASP ZSC Tool ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP_ZSC_Tool_Project|OWASP ZSC]] is an open source software in python language which lets you generate customized shellcodes and convert scripts to an obfuscated script. This software can be run on Windows/Linux/OSX under python.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Please take a look of our TODO list in Github to get some ideas:&lt;br /&gt;
https://github.com/Ali-Razmjoo/OWASP-ZSC/issues&lt;br /&gt;
&lt;br /&gt;
Another ideas:&lt;br /&gt;
* Help us develop shellcode module for windows&lt;br /&gt;
* Develop shellcode module for OSX&lt;br /&gt;
&lt;br /&gt;
Read about the project here:&lt;br /&gt;
https://ali-razmjoo.gitbooks.io/owasp-zsc/content/&lt;br /&gt;
&lt;br /&gt;
Recommended reading:&lt;br /&gt;
http://www.vividmachines.com/shellcode/shellcode.html&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Python&lt;br /&gt;
* Basic knowledge about Shellcode and assembly language&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
*Christo and Timo Goosen and Brian Beaudry- OWASP ZSC Contributors&lt;br /&gt;
&lt;br /&gt;
Contact us through our mailing list for questions:&lt;br /&gt;
https://groups.google.com/d/forum/owasp-zsc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP-SKF (Security Knowledge Framework) ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
The OWASP Security Knowledge Framework is intended to be a tool that is used as a guide for building and verifying secure software. It can also be used to train developers about application security. Education is the first step in the Secure Software Development Lifecycle. This software can be run on Windows/Linux/OSX under python.&lt;br /&gt;
&lt;br /&gt;
The 4 Core usage of SKF:&lt;br /&gt;
&lt;br /&gt;
    Security Requirements OWASP ASVS for development and for third party vendor applications&lt;br /&gt;
    Security knowledge reference (Code examples/ Knowledge Base items)&lt;br /&gt;
    Security is part of design with the pre-development functionality in SKF&lt;br /&gt;
    Security post-development functionality in SKF for verification with the OWASP ASVS&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
    More code examples for different languages&lt;br /&gt;
    Better quality of the knowledge base items&lt;br /&gt;
    More items in the pre-development phase&lt;br /&gt;
    Editable checklists in the post-development phase&lt;br /&gt;
&lt;br /&gt;
We really would love to improve the quality of the knowledge base items further, also we would love to have more code examples in the different languages like: Perl, Hack, Go, Node.js and more.&lt;br /&gt;
&lt;br /&gt;
Please take a look of our TODO list in Github to get some ideas:&lt;br /&gt;
https://github.com/blabla1337/skf-flask/issues&lt;br /&gt;
&lt;br /&gt;
Another ideas:&lt;br /&gt;
* Help us with stuff you think is missing in the SKF project&lt;br /&gt;
&lt;br /&gt;
Read about the project here:&lt;br /&gt;
https://skf.readme.io&lt;br /&gt;
&lt;br /&gt;
Recommended reading (here you find a link to the Online Demo):&lt;br /&gt;
https://www.owasp.org/index.php/OWASP_Security_Knowledge_Framework&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Python, PHP, Hack, .NET, GO, Ruby, Perl, Java, Node.js&lt;br /&gt;
* Basic knowledge about programming in one of the above languages&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
*Glenn and Riccardo ten Cate- OWASP-SKF project leaders&lt;br /&gt;
*Martin Knobloch Chapter leader of OWASP NL&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSOC2016_Ideas&amp;diff=208386</id>
		<title>GSOC2016 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSOC2016_Ideas&amp;diff=208386"/>
				<updated>2016-02-09T13:03:03Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&lt;br /&gt;
&lt;br /&gt;
'''Tips to get you started in no particular order:''' &lt;br /&gt;
 * Read the [[GSoC SAT]]&lt;br /&gt;
 * Check the Hackademic wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list or irc channel.&lt;br /&gt;
 * Check our [https://github.com/Hackademic/hackademic github repository] and especially the [https://github.com/Hackademic/hackademic/issues open tickets]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Hackademic Challenges ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP Hackademic Challenges Project]]  helps you test your knowledge on web application security. You can use it to actually attack web applications in a realistic but also controllable and safe environment. After a wonderfull 2014 GSoC with 100 new challenges and a couple of new plugins we're mainly looking to get new features in and maybe a couple of challenges. Bellow is a list of proposed features.&lt;br /&gt;
&lt;br /&gt;
=== Example Idea===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
After a very successfull OWASP Winter Code Sprint we have a brand new Sandbox feature which uses Linux Containers to create virtual space for each user. So we can host properly vulnerable challenges and maybe execute some code server side. However, the sandbox is not fully complete, we need many features here and there to make it easily deployable and improve it's administration.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
* Simple sandbox administration frontend for the web. -- An admin console to start and kill sandboxes manually and to list the status and resources used by each one.&lt;br /&gt;
* Secure the implementation -- Now we have a functioning prototype, we know that Linux Containers are quite safe but we haven't explicitly tested our configuration and use of them.&lt;br /&gt;
* Your idea here...&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Better sandboxing&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Linux administration and some security knowledge depending on the specific project.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP OWTF  ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP ZAP ==&lt;br /&gt;
&lt;br /&gt;
We are in the process of deciding the set of ZAP projects for Google Summer of Code 2015.&lt;br /&gt;
&lt;br /&gt;
You can follow (and join in) the discussions on the ZAP Developer Group: https://groups.google.com/d/msg/zaproxy-develop/Uy0JPkzsI_s/Bj7OTSkISCIJ&lt;br /&gt;
&lt;br /&gt;
=== Example Idea ===&lt;br /&gt;
&lt;br /&gt;
Currently ZAP provides only a limited set of report data. While this can be extended dynamically this feature is not currently used, and there is no way for users to choose what data they get back. It also provides a set of API calls, some of which return data that could be incorporated into reports, and some of which allow the fixed report to be accessed.&lt;br /&gt;
&lt;br /&gt;
==== Expected Results ====&lt;br /&gt;
&lt;br /&gt;
* Report data will be a distinct type of data returned via API calls&lt;br /&gt;
* An add-on that provides report data - so this becomes 'plug-able'&lt;br /&gt;
* Report data and meta data should be fully internationalized&lt;br /&gt;
* Users can specify which sites / contexts report data should apply to&lt;br /&gt;
&lt;br /&gt;
==== Knowledge Prerequisite: ====&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
==== Mentors ====&lt;br /&gt;
Johanna Curiel [johanna.curiel [at] owasp.org and Simon Bennetts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Testing Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Example Idea ===&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
We would like the OWASP Testing Guide to be much more easily consumable by web testing tools (such as ZAP). This would require adjustments to the Testing Guide, or separate Testing with X Guides, to explain how testing is completed with given tools. The tools would of course need to be changed to make full use of OTG  and this project could include such changes to OWASP tools like ZAP. &lt;br /&gt;
&lt;br /&gt;
'''Expected outputs:'''&lt;br /&gt;
&lt;br /&gt;
Amended OTG or Testing with X Guides. Either option would require the document to integrate with all web testing tools (Using ZAP as the baseline).&lt;br /&gt;
Optional ZAP changes or add-on to make better use of the OTGs&lt;br /&gt;
&lt;br /&gt;
'''Knowledge required:'''&lt;br /&gt;
&lt;br /&gt;
Writing skills&lt;br /&gt;
&lt;br /&gt;
'''OTG Web Testing Tool Integration mentor:''' &lt;br /&gt;
&lt;br /&gt;
Andrew Muller - OTG Project Co-Leader - Contact: Andrew.muller@owasp.org&lt;br /&gt;
&lt;br /&gt;
== OWASP AppSensor ==&lt;br /&gt;
&lt;br /&gt;
[[OWASP AppSensor Project]] provides real-time application layer intrusion detection. The software has recently hit v2.0. We have some ambitious plans across a variety of areas for the next year to build on the recent momentum.&lt;br /&gt;
&lt;br /&gt;
 * Check the AppSensor wiki page linked above&lt;br /&gt;
 * Contact us through the mailing list.&lt;br /&gt;
 * Check our [https://github.com/jtmelton/appsensor github repository] and the [https://github.com/jtmelton/appsensor/issues open tickets]&lt;br /&gt;
 * Also see our [http://www.appsensor.org appsensor website]&lt;br /&gt;
&lt;br /&gt;
=== Example Idea ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a feature request that's been driven by the community. AppSensor provides great utility by allowing applications to defend themselves. AppSensor can/will also provide a UI (another possible GSOC project) to view and manage the information produced by the applications. However, larger organizations often already have a system in place for managing system security alerts. It would provide a lot of value if we can integrate with those systems and data formats. This project will involve a bit of up-front research, then primarily systems integration work. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
We want  to support a number of integrations. Some that have been requested by our community are:  &lt;br /&gt;
* SNMP&lt;br /&gt;
* JMX&lt;br /&gt;
* SCOM&lt;br /&gt;
* syslog&lt;br /&gt;
* CEF&lt;br /&gt;
* AppDynamics&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for these integrations will be created, along with the associated end user documentation for how to setup and configure them. &lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Java and unit testing. &lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OWASP Passfault ==&lt;br /&gt;
&lt;br /&gt;
=== Example Idea ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
[[OWASP Passfault]] has the potential to be the best password policy available.  However, it's only available to java developers.  This effort will make Passfault available to every Linux administrator.  It would offer an alternative to the pam module libcrack to measure password complexity. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
When complete an administrator should be able to do the following:&lt;br /&gt;
*  Enforce password complexity for all password changes with OWASP Passfault (for example when passwd is called)&lt;br /&gt;
*  Adjust password complexity threshold&lt;br /&gt;
*  (stretch goal) Install Passfault via package management: apt, yum, rpm, deb, etc.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Bash scripting&lt;br /&gt;
* Linux administration&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' &lt;br /&gt;
* [[User:Cam_Morris|Cam Morris]] - OWASP Passfault Project Leader (Development)&lt;br /&gt;
* John Jolly - Linux Kernel Engineer for SUSE Linux on IBM System z Mainframes (Development)&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015&amp;diff=196291</id>
		<title>Summer Code Sprint2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015&amp;diff=196291"/>
				<updated>2015-06-17T18:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== OWASP Summer Code Sprint 2015 ==&lt;br /&gt;
&lt;br /&gt;
== Goal == &lt;br /&gt;
&lt;br /&gt;
The OWASP Summer Code Sprint 2015 is a program that aims to provide incentives to students to contribute to OWASP projects. By participating in the OWASP Summer Code Sprint a student can get real life experience while contributing to an open source project. A student that successfully completes the program will receive in total $1500.&lt;br /&gt;
&lt;br /&gt;
== Program details ==&lt;br /&gt;
&lt;br /&gt;
''Projects that are eligible:'' All code/tools projects. Documentation projects are excluded.&lt;br /&gt;
&lt;br /&gt;
''Duration:'' 2 months of full-time engagement.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
Any code/tool project can participate in the OWASP Summer Code Sprint. Each project will be guided by an OWASP mentor. Students are evaluated in the middle and at the end of the coding period, based on success criteria identified at the beginning of the project. Successful students will receive $750 after each evaluation, a total of $1500 per student.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. &lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language. &lt;br /&gt;
&lt;br /&gt;
== How you can participate ==&lt;br /&gt;
&lt;br /&gt;
=== As a student: ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in the OWASP Summer Code Sprint 2015.&lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Summer 2015.&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
ALL STUDENTS PLEASE APPLY HERE &amp;gt;&amp;gt; [http://goo.gl/forms/jUFTcXVDEY FORM]&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader: ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
== Timeplan ==&lt;br /&gt;
&lt;br /&gt;
'''Phase 1: Proposals'''&lt;br /&gt;
&lt;br /&gt;
Project leaders who want to include their project to the program should submit some initial proposal ideas on this page. These ideas serve as guidance to the students; they are things that project leaders would like to get done, like new features, improvements, etc.&lt;br /&gt;
&lt;br /&gt;
Subsequently students are invited to submit detailed proposals that can (but do not necessarily have to) be based on these ideas. Students are strongly encouraged to engage with project leaders and each project's community (e.g. through the project's mailing list) in order to discuss the details of their proposal. Proposals should provide details about the implementation, time plan, milestones, etc.&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Scoring of proposals'''&lt;br /&gt;
&lt;br /&gt;
After the submission of proposals, project leaders and contributors/mentors are required to review the submitted proposals and score them (on a 1 to 5 scale). Each proposal should receive at least 3 assessments/scores from different mentors. Each mentor, contributor or leader can score only proposals for their OWN project. All assessments should provide justification. Reviewers are strongly encouraged to provide constructive comments for students so that they can improve in the future.&lt;br /&gt;
&lt;br /&gt;
Project leaders are responsible to attract a sufficient number of volunteer mentors to score proposals and subsequently supervise those that will get selected.&lt;br /&gt;
&lt;br /&gt;
'''Phase 3: Slot allocation.'''&lt;br /&gt;
&lt;br /&gt;
When proposal scoring has been completed, each project leader requests a specific number of slots. This number should be based on:&lt;br /&gt;
The number of truly outstanding proposals according to submitted scores.&lt;br /&gt;
The importance of the proposal to the project's roadmap.&lt;br /&gt;
The number of available mentors for the project. At least 2 mentors are needed for each proposal that gets accepted.&lt;br /&gt;
If the total number of requested slots is less than or equal to the available number of slots, then all projects get the requested slots. If not, the following rules apply:&lt;br /&gt;
All projects that have requested a slot get at least 1 slot, provided they have a high quality proposal and sufficient number of mentors.&lt;br /&gt;
Two mentors are required per slot allocated to the project.&lt;br /&gt;
The program's administrators get in touch with project leaders, especially those that have requested a large number of slots to receive additional feedback on the requested slots and explore any available possibilities for reducing the requested number of slots. A project leader might choose to donate one or more requested slots back to the pool so that other projects can get more slots. The program administrators can choose to initiate a public discussion between projects in need of more slots and projects that have requested a lot of slots in order to determine the best possible outcome for everyone.&lt;br /&gt;
If all else fails, slots are equally allocated to projects, i.e. all projects get 1 slot; projects that have requested 2 or more slots get an extra slot if available; projects that have requested 3 or more slots get an extra slot if available, etc. When there are no more slots available for all projects that have requested them a draw is used to allocate the remaining slots.&lt;br /&gt;
&lt;br /&gt;
In any case, the program's administrators should perform a final review of the selected proposals to ensure that they are of high quality. If concerns arise they should request additional information from project leaders.&lt;br /&gt;
&lt;br /&gt;
'''Phase 4: Coding.'''&lt;br /&gt;
&lt;br /&gt;
This is the main phase of the program. Students implement their proposal according to the submitted timeplan and under the supervision &lt;br /&gt;
of their mentors.&lt;br /&gt;
&lt;br /&gt;
== Evaluations ==&lt;br /&gt;
&lt;br /&gt;
In the middle of the coding period, mentors should submit an evaluation of their students to ensure that they are on track and provide some feedback both to OWASP and the students.&lt;br /&gt;
&lt;br /&gt;
If no/little progress has been made up to this point, the mentors could decide to fail the student in which case the student does not receive money. If successful, OWASP will pay half the amount ($750). The final evaluations are submitted at the end of the coding period and the second installment ($750) is paid to the student if all agreed deliverables are met. If the student has failed to demonstrate progress during the second period, then the second installment will not be paid and the student will get only half of the amount.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deadlines == &lt;br /&gt;
Program announcement: June 1st, 2015&lt;br /&gt;
&lt;br /&gt;
Student Applications: June 21st, 2015&lt;br /&gt;
&lt;br /&gt;
Proposal Evaluations: from June 22nd until June 28th.&lt;br /&gt;
&lt;br /&gt;
Successful proposals announcement: July 1st&lt;br /&gt;
&lt;br /&gt;
Coding Period Starts: July 10th&lt;br /&gt;
&lt;br /&gt;
Mid-term evaluations: Submitted from August 10th until August 15th.&lt;br /&gt;
&lt;br /&gt;
Coding period ends: September 10th.&lt;br /&gt;
&lt;br /&gt;
Final evaluations: Until September 18th.&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/d/forum/owasp-summer-code-sprint OWASP Summer Code Sprint Mailing List]&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic  ===&lt;br /&gt;
&lt;br /&gt;
=== Docker Sandboxed for challenges ===&lt;br /&gt;
&lt;br /&gt;
''' Brief explanation: '''&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to enable users to freely upload vulnerable applications to the platform. &lt;br /&gt;
After some research we concluded that writing a python application that uses docker to deploy challenges would be the best way to go about it.&lt;br /&gt;
Also, we need to provide a frontend to manage the deployed containers and integrate our existing analytics gathering system into the dockerized challenges.&lt;br /&gt;
The installer of the application should take care of initializing both the cms and the containers without introducing too much complexity.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
There is an easy to use python library for docker and there should be a frontend managing the containers we can use off the self with minimal modifications.&lt;br /&gt;
The feature has already had a poc using linux containers, you can find it in the open merge requests of the project's github page.&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
* Integrate dockerized challenges in the platform.&lt;br /&gt;
* PEP-8 compliant code in all provided python code&lt;br /&gt;
* PSR compliant code in all php provided code&lt;br /&gt;
* Sphinx/phpdoc friendly comments&lt;br /&gt;
* Excellent reliability&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation &lt;br /&gt;
&lt;br /&gt;
''' Prerequisites '''&lt;br /&gt;
&lt;br /&gt;
Some knowledge of test driven development, php, python, docker&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
&lt;br /&gt;
Spyros Gasteratos (spyros.gasteratos@owasp.org)&lt;br /&gt;
-- anyone else who already knows of puppet(I think we'll end up writing puppet manifests for installation)&lt;br /&gt;
docker, python, php?&lt;br /&gt;
&lt;br /&gt;
=== Javascript Based Development Challenges ===&lt;br /&gt;
&lt;br /&gt;
Brief explanation:&lt;br /&gt;
Background Problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are looking for challenges which are aimed towards secure coding.&lt;br /&gt;
The user should be served with a piece of vulnerable javascript which fails the unit tests provided.&lt;br /&gt;
The user has to fix the vulnerability in a way that makes the unit tests pass.&lt;br /&gt;
&lt;br /&gt;
Example Solution of one of the challenges:&lt;br /&gt;
Provide the user with the following code:&lt;br /&gt;
''&lt;br /&gt;
function sayHi(string userInput){&lt;br /&gt;
var hiField = document.getElementById(&amp;quot;hiField&amp;quot;);&lt;br /&gt;
hiField.innerHtml = userInput;&lt;br /&gt;
}&lt;br /&gt;
''&lt;br /&gt;
Use any javascript unit - testing framework to design a set of unit tests which call the function with all sorts of payloads and test if the user seems to have escaped userInput correctly,&lt;br /&gt;
we're not looking for completeness a solid proof of concept implementation for future reference is acceptable.&lt;br /&gt;
&lt;br /&gt;
''' Expected Results '''&lt;br /&gt;
A complete implementation of challenges covering the top 10 according to our coding standards.&lt;br /&gt;
&lt;br /&gt;
=== Migrate old code to the new coding standards ===&lt;br /&gt;
&lt;br /&gt;
In the last project summit we decided to introduce code style and standards compliance checking for new commits and slowly migrate the old ones to the new setting.&lt;br /&gt;
We also decided to prefer contributions with unit tests.&lt;br /&gt;
&lt;br /&gt;
We're looking for someone to assist in this migration. So far we have 0% of the classes in the new standards/coding style but the frontend tests cover a significant part of the platform.&lt;br /&gt;
You could help us reach at least 70% line coverage in tests and a similar coverage in standard/code style &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== New Theme ===&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
Our current theme is from 2012 and looks even older, moreover it could do with some usability improvements. Your job will be to design and implement a new shiny theme for the platform.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results'''  A shiny new theme with complete front end tests using the theme&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP  ===&lt;br /&gt;
There are a number of ZAP related projects students can work on, including:&lt;br /&gt;
* Bug tracker support&lt;br /&gt;
* Convert active and passive scan rules to scripts&lt;br /&gt;
* Field enumeration&lt;br /&gt;
* Form handling&lt;br /&gt;
* Gauntlet integration&lt;br /&gt;
* Script console code completion&lt;br /&gt;
* Support java as a scripting language&lt;br /&gt;
* Testing guide integration&lt;br /&gt;
* Zest text representation and parser&lt;br /&gt;
&lt;br /&gt;
For more details see the ZAP [https://code.google.com/p/zaproxy/wiki/OpenProjects Open Projects] wiki page.&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015&amp;diff=195729</id>
		<title>Summer Code Sprint2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Summer_Code_Sprint2015&amp;diff=195729"/>
				<updated>2015-06-03T15:46:50Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== OWASP Summer Code Sprint 2015 ==&lt;br /&gt;
&lt;br /&gt;
== Goal == &lt;br /&gt;
&lt;br /&gt;
The OWASP Summer Code Sprint 2015 is a program that aims to provide incentives to students to contribute to OWASP projects. By participating in the OWASP Summer Code Sprint a student can get real life experience while contributing to an open source project. A student that successfully completes the program will receive in total $1500.&lt;br /&gt;
&lt;br /&gt;
== Program details ==&lt;br /&gt;
&lt;br /&gt;
''Projects that are eligible:'' All code/tools projects. Documentation projects are excluded.&lt;br /&gt;
&lt;br /&gt;
''Duration:'' 2 months of full-time engagement.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
Any code/tool project can participate in the OWASP Summer Code Sprint. Each project will be guided by an OWASP mentor. Students are evaluated in the middle and at the end of the coding period, based on success criteria identified at the beginning of the project. Successful students will receive $750 after each evaluation, a total of $1500 per student.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. &lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language. &lt;br /&gt;
&lt;br /&gt;
== How you can participate ==&lt;br /&gt;
&lt;br /&gt;
=== As a student: ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in the OWASP Summer Code Sprint 2015.&lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Summer 2015.&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)Google form application link&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader: ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
== Timeplan ==&lt;br /&gt;
&lt;br /&gt;
'''Phase 1: Proposals'''&lt;br /&gt;
&lt;br /&gt;
Project leaders who want to include their project to the program should submit some initial proposal ideas on this page. These ideas serve as guidance to the students; they are things that project leaders would like to get done, like new features, improvements, etc.&lt;br /&gt;
&lt;br /&gt;
Subsequently students are invited to submit detailed proposals that can (but do not necessarily have to) be based on these ideas. Students are strongly encouraged to engage with project leaders and each project's community (e.g. through the project's mailing list) in order to discuss the details of their proposal. Proposals should provide details about the implementation, time plan, milestones, etc.&lt;br /&gt;
&lt;br /&gt;
'''Phase 2: Scoring of proposals'''&lt;br /&gt;
&lt;br /&gt;
After the submission of proposals, project leaders and contributors/mentors are required to review the submitted proposals and score them (on a 1 to 5 scale). Each proposal should receive at least 3 assessments/scores from different mentors. Each mentor, contributor or leader can score only proposals for their OWN project. All assessments should provide justification. Reviewers are strongly encouraged to provide constructive comments for students so that they can improve in the future.&lt;br /&gt;
&lt;br /&gt;
Project leaders are responsible to attract a sufficient number of volunteer mentors to score proposals and subsequently supervise those that will get selected.&lt;br /&gt;
&lt;br /&gt;
'''Phase 3: Slot allocation.'''&lt;br /&gt;
&lt;br /&gt;
When proposal scoring has been completed, each project leader requests a specific number of slots. This number should be based on:&lt;br /&gt;
The number of truly outstanding proposals according to submitted scores.&lt;br /&gt;
The importance of the proposal to the project's roadmap.&lt;br /&gt;
The number of available mentors for the project. At least 2 mentors are needed for each proposal that gets accepted.&lt;br /&gt;
If the total number of requested slots is less than or equal to the available number of slots, then all projects get the requested slots. If not, the following rules apply:&lt;br /&gt;
All projects that have requested a slot get at least 1 slot, provided they have a high quality proposal and sufficient number of mentors.&lt;br /&gt;
Two mentors are required per slot allocated to the project.&lt;br /&gt;
The program's administrators get in touch with project leaders, especially those that have requested a large number of slots to receive additional feedback on the requested slots and explore any available possibilities for reducing the requested number of slots. A project leader might choose to donate one or more requested slots back to the pool so that other projects can get more slots. The program administrators can choose to initiate a public discussion between projects in need of more slots and projects that have requested a lot of slots in order to determine the best possible outcome for everyone.&lt;br /&gt;
If all else fails, slots are equally allocated to projects, i.e. all projects get 1 slot; projects that have requested 2 or more slots get an extra slot if available; projects that have requested 3 or more slots get an extra slot if available, etc. When there are no more slots available for all projects that have requested them a draw is used to allocate the remaining slots.&lt;br /&gt;
&lt;br /&gt;
In any case, the program's administrators should perform a final review of the selected proposals to ensure that they are of high quality. If concerns arise they should request additional information from project leaders.&lt;br /&gt;
&lt;br /&gt;
'''Phase 4: Coding.'''&lt;br /&gt;
&lt;br /&gt;
This is the main phase of the program. Students implement their proposal according to the submitted timeplan and under the supervision &lt;br /&gt;
of their mentors.&lt;br /&gt;
&lt;br /&gt;
== Evaluations ==&lt;br /&gt;
&lt;br /&gt;
In the middle of the coding period, mentors should submit an evaluation of their students to ensure that they are on track and provide some feedback both to OWASP and the students.&lt;br /&gt;
&lt;br /&gt;
If no/little progress has been made up to this point, the mentors could decide to fail the student in which case the student does not receive money. If successful, OWASP will pay half the amount ($750). The final evaluations are submitted at the end of the coding period and the second installment ($750) is paid to the student if all agreed deliverables are met. If the student has failed to demonstrate progress during the second period, then the second installment will not be paid and the student will get only half of the amount.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deadlines == &lt;br /&gt;
Program announcement: June 1st, 2015&lt;br /&gt;
&lt;br /&gt;
Student Applications: June 21st, 2015&lt;br /&gt;
&lt;br /&gt;
Proposal Evaluations: from June 22nd until June 28th.&lt;br /&gt;
&lt;br /&gt;
Successful proposals announcement: July 1st&lt;br /&gt;
&lt;br /&gt;
Coding Period Starts: July 10th&lt;br /&gt;
&lt;br /&gt;
Mid-term evaluations: Submitted from August 10th until August 15th.&lt;br /&gt;
&lt;br /&gt;
Coding period ends: September 10th.&lt;br /&gt;
&lt;br /&gt;
Final evaluations: Until September 18th.&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
=== OWASP Hackademic  ===&lt;br /&gt;
&lt;br /&gt;
''' Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
The project for the summer is Defensive Challenges.&lt;br /&gt;
We are looking for a student who can write a few challenges which give the reader a piece of vulnerable code and instruct the user on how to fix it in order for the code to pass the &lt;br /&gt;
unit tests provided. For security reasons we would prefer if the tests were written in client side javascript so the server doesn't have to execute any code.&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
Defensive challenges for hackademic.&lt;br /&gt;
&lt;br /&gt;
''' Prerequisites '''&lt;br /&gt;
&lt;br /&gt;
Some knowledge of test driven development, javascript, php&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
Spyros Gasteratos (spyros.gasteratos@owasp.org)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren, Bharadwaj Machiraju - OWASP OWTF Project Leaders - Contact: Abraham.Aranguren@owasp.org, bharadwaj.machiraju@gmail.com&lt;br /&gt;
&lt;br /&gt;
''' OWASP Mentors '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP  ===&lt;br /&gt;
There are a number of ZAP related projects students can work on, including:&lt;br /&gt;
* Bug tracker support&lt;br /&gt;
* Convert active and passive scan rules to scripts&lt;br /&gt;
* Field enumeration&lt;br /&gt;
* Form handling&lt;br /&gt;
* Gauntlet integration&lt;br /&gt;
* Script console code completion&lt;br /&gt;
* Support java as a scripting language&lt;br /&gt;
* Testing guide integration&lt;br /&gt;
* Zest text representation and parser&lt;br /&gt;
&lt;br /&gt;
For more details see the ZAP [https://code.google.com/p/zaproxy/wiki/OpenProjects Open Projects] wiki page.&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=189415</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=189415"/>
				<updated>2015-02-10T17:12:49Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&lt;br /&gt;
&lt;br /&gt;
== OWASP Hackademic Challenges ==&lt;br /&gt;
=== OWASP Hackademic Challenges - New challenges and Improvements to the existing ones ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The challenges that have been implemented so far include: web application challenges covering several vulnerabilities included in the OWASP Top 10, cryptographic challenges, and entire virtual machines including several vulnerabilities.&lt;br /&gt;
New challenges need to be created in order to cover a broader set of vulnerabilities.&lt;br /&gt;
Also existing challenges can be modified to accept a broader set of valid answers, e.g. by using regular expressions.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
* Simulated simple buffer overflows&lt;br /&gt;
* SQL injections&lt;br /&gt;
* Man in the middle simulation&lt;br /&gt;
* Bypassing regular expression filtering&lt;br /&gt;
* Your idea here&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New cool challenges&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Javascript. Good understanding of Application Security and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
The above solutions are by no way complete,their intention is to start you thinking.&lt;br /&gt;
This is a difficult task so if you consider takling it talk to us early on so we can reach a good solution which is possible in the GSoC timeframe.&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to run a big enough subset of OWASP WebGoat PHP with minimal modification as a Hackademic Challenge&lt;br /&gt;
== OWASP Hackademic Challenges ==&lt;br /&gt;
=== OWASP Hackademic Challenges - New challenges and Improvements to the existing ones ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The challenges that have been implemented so far include: web application challenges covering several vulnerabilities included in the OWASP Top 10, cryptographic challenges, and entire virtual machines including several vulnerabilities.&lt;br /&gt;
New challenges need to be created in order to cover a broader set of vulnerabilities.&lt;br /&gt;
Also existing challenges can be modified to accept a broader set of valid answers, e.g. by using regular expressions.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
* Simulated simple buffer overflows&lt;br /&gt;
* SQL injections&lt;br /&gt;
* Man in the middle simulation&lt;br /&gt;
* Bypassing regular expression filtering&lt;br /&gt;
* Your idea here&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New cool challenges&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Javascript. Good understanding of Application Security and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
== OWASP WebGoat .NET - Vulnerable Website ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The actual WebGoat .NET is a vulnerable website built in ASP.NET using C#. There are some challenges already built in but we would like to add more vulnerable features&lt;br /&gt;
https://www.owasp.org/index.php/Category:OWASP_WebGoat.NET#tab=Overview&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
We want  to add more modules such as &lt;br /&gt;
*WebSockets&lt;br /&gt;
*CSRF challenge&lt;br /&gt;
*Finalise testing an upgrade to the .NET framework 4.5&lt;br /&gt;
*Retest and clean up actual modules&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in .NET, HTML and C#. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Johanna Curiel, Jerry Hoff - OWASP WebGoat Project Leaders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP WebGoatPHP==&lt;br /&gt;
===OWASP WebGoatPHP===&lt;br /&gt;
'''Description:'''&lt;br /&gt;
[[Webgoat]] is a deliberately insecure open source software made by OWASP using Java programming language. It has a set of challenges and steps, each providing the user with one or more web application vulnerability which user tries to solve. There are also hints and auto-detection of correct solutions. &lt;br /&gt;
Since Java is not the most common web application programming language, and it doesn't have many of the bugs other languages such as PHP have when it comes to security, OWASP has [[OWASP_WebGoat_Reboot2012|dedicated in 2012]] an amount of $5000 for promotion of WebGoatPHP.&lt;br /&gt;
&lt;br /&gt;
If you want to know more about WebGoatPHP, I suggest downloading and giving WebGoat a try. It is one of OWASP prides (about 200000 downloads).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' WebGoatPHP first version is ready, it needs thorough testing and delivery. It also needs new challenges added and a CTF hosted on it.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' You just need to know PHP and SQL. Familiarity with web application security is recommended.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP PureCaptcha==&lt;br /&gt;
===OWASP CSRF Guard===&lt;br /&gt;
'''Description:''' &lt;br /&gt;
[[OWASP PureCaptcha]] is an OWASP project aiming to simplify CAPTCHA usage. Instead of proving rigorous APIs and many dependencies, it is a single source code file (library) that does not depend on anything and generates secure and fast CAPTCHAs, with little memory and processor footprint.&lt;br /&gt;
PureCaptcha is currently released for PHP. The candidate will port this to several other programming languages (priority on web languages) and provide full test coverage.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' PureCaptcha library for at least 3 new programming languages. Unit testing for the core version. A study on security of the generated captcha can also be performed.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisites:''' Any programming language you want to port into, as well as PHP.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]], Jesse Burns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP PHP Framework==&lt;br /&gt;
===OWASP PHP Framework===&lt;br /&gt;
&lt;br /&gt;
'''Description:'''&lt;br /&gt;
OWASP PHP Security project plans to gather around secure PHP libraries, and provide a full featured framework of libraries for secure web applications in PHP, both as separate de-coupled libraries and as a whole secure web application framework. Many aspects of this project are already handled, and are being added to OWASP.&lt;br /&gt;
The project has been done in the last two years, and now a framework has been built upon these libraries and security best practices. The framework intends to merge security practices with practical frameworks, and aims to be simple and lightweight.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results: ''' A secure yet robust and practical framework for PHP developers.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' This project requires at least one year of experience working with different PHP projects and frameworks. It will be too hard for someone with average PHP experience.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]], Rahul Chaudhary&lt;br /&gt;
&lt;br /&gt;
'''Skill Level:''' Advanced&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP RBAC Project==&lt;br /&gt;
===OWASP RBAC Project===&lt;br /&gt;
'''Description:''' ''For the last 7 years, improper access control has been the issue behind two of the Top Ten lists''. &lt;br /&gt;
&lt;br /&gt;
RBAC stands for Role Based Access Control and is the de-facto access control and authorization standard. It simplifies access control and its maintenance for small and enterprise systems alike. NIST RBAC standard has four levels, the second level hierarchical RBAC is intended for this project.&lt;br /&gt;
&lt;br /&gt;
Unfortunately because of many performance and development problems, no suitable RBAC implementation was available until recently, so developers and admins mostly used ACLs and other forms of simple access control methods, which leads to broken and unmaintainable access control over the time. &lt;br /&gt;
&lt;br /&gt;
[[OWASP RBAC project]] has already implemented this, has a wide audience and has released several minor and two major versions. Many new features and modifications are expected by the community behind this.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' OWASP RBAC project more mature by porting from PHP to other programming languages, OR adding new features and testing on the PHP version.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' Good SQL knowledge, library development skills, familiarity with one of the programming languages as well as PHP. We recommend average experience and high skills.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]], Rahul Chaudhary, Jesse Burns&lt;br /&gt;
&lt;br /&gt;
'''Skill Level:''' Advanced&lt;br /&gt;
&lt;br /&gt;
For more info, visit [http://phprbac.net phprbac.net]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP PHP Widgets==&lt;br /&gt;
===OWASP PHP Widgets===&lt;br /&gt;
'''Description:''' Pull MVC (widget-based web views) has been available for many years on all major web programming languages, and even for Javascript. PHP on the other hand, lacks these and suffers a lot from forcing push MVC on its developers. There are a few libraries around, not secure and not mature at all. Providing a robust set of widgets for PHP developers not only smoothes web development process, it automatically mitigates a lot of web attacks that are based on user inputs to forms and other web elements (e.g CSRF, SQL Injection, XSS).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' OWASP PHP Widgets is currently in beta, and the candidate will spend time testing the functionalities, providing test coverage, adding new widgets and features, and building a user community.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' Average PHP programming. Good experience with web applications.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Seraphimdroid==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' SeraphimDroid is educational application for android devices that helps users learn about risks and threats coming from other android applications. SeraphimDroid scans your devices and teaches you about risks and threats coming from application permissions. Also this project will deliver paper on android permissions, their regular use, risks and malicious use. In second version SeraphimDroid will evolve to application firewall for android devices not allowing malicious SMS or MMS to be sent, USSD codes to be executed or calls to be called without user permission and knowledge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' After last year's GSoC first version of project was released on Google play. However, educational component, setting check, potential android widgets are still missing and would be beneficial. Also, malicious behavior prevention mechanisms should be added and some bugs should be fixed.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' Average Android and JAVA programming. Knowledge of XML and SQLite Good experience with mobile applications.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Nikola Milosevic|Nikola Milosevic]]&lt;br /&gt;
&lt;br /&gt;
== OWASP OWTF ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=189414</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=189414"/>
				<updated>2015-02-10T17:11:57Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&lt;br /&gt;
&lt;br /&gt;
== OWASP Hackademic Challenges ==&lt;br /&gt;
=== OWASP Hackademic Challenges - New challenges and Improvements to the existing ones ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The challenges that have been implemented so far include: web application challenges covering several vulnerabilities included in the OWASP Top 10, cryptographic challenges, and entire virtual machines including several vulnerabilities.&lt;br /&gt;
New challenges need to be created in order to cover a broader set of vulnerabilities.&lt;br /&gt;
Also existing challenges can be modified to accept a broader set of valid answers, e.g. by using regular expressions.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
* Simulated simple buffer overflows&lt;br /&gt;
* SQL injections&lt;br /&gt;
* Man in the middle simulation&lt;br /&gt;
* Bypassing regular expression filtering&lt;br /&gt;
* Your idea here&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New cool challenges&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Javascript. Good understanding of Application Security and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
The above solutions are by no way complete,their intention is to start you thinking.&lt;br /&gt;
This is a difficult task so if you consider takling it talk to us early on so we can reach a good solution which is possible in the GSoC timeframe.&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to run a big enough subset of OWASP WebGoat PHP with minimal modification as a Hackademic Challenge&lt;br /&gt;
== OWASP Hackademic Challenges ==&lt;br /&gt;
=== OWASP Hackademic Challenges - New challenges and Improvements to the existing ones ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The challenges that have been implemented so far include: web application challenges covering several vulnerabilities included in the OWASP Top 10, cryptographic challenges, and entire virtual machines including several vulnerabilities.&lt;br /&gt;
New challenges need to be created in order to cover a broader set of vulnerabilities.&lt;br /&gt;
Also existing challenges can be modified to accept a broader set of valid answers, e.g. by using regular expressions.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
* Simulated simple buffer overflows&lt;br /&gt;
* SQL injections&lt;br /&gt;
* Man in the middle simulation&lt;br /&gt;
* Bypassing regular expression filtering&lt;br /&gt;
* Your idea here&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New cool challenges&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Javascript. Good understanding of Application Security and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
== OWASP WebGoat .NET - Vulnerable Website ==&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The actual WebGoat .NET is a vulnerable website built in ASP.NET using C#. There are some challenges already built in but we would like to add more vulnerable features&lt;br /&gt;
https://www.owasp.org/index.php/Category:OWASP_WebGoat.NET#tab=Overview&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
We want  to add more modules such as &lt;br /&gt;
*WebSockets&lt;br /&gt;
*CSRF challenge&lt;br /&gt;
*Finalise testing an upgrade to the .NET framework 4.5&lt;br /&gt;
*Retest and clean up actual modules&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in .NET, HTML and C#. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Johanna Curiel, Jerry Hoff - OWASP WebGoat Project Leaders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP WebGoatPHP==&lt;br /&gt;
===OWASP WebGoatPHP===&lt;br /&gt;
'''Description:'''&lt;br /&gt;
[[Webgoat]] is a deliberately insecure open source software made by OWASP using Java programming language. It has a set of challenges and steps, each providing the user with one or more web application vulnerability which user tries to solve. There are also hints and auto-detection of correct solutions. &lt;br /&gt;
Since Java is not the most common web application programming language, and it doesn't have many of the bugs other languages such as PHP have when it comes to security, OWASP has [[OWASP_WebGoat_Reboot2012|dedicated in 2012]] an amount of $5000 for promotion of WebGoatPHP.&lt;br /&gt;
&lt;br /&gt;
If you want to know more about WebGoatPHP, I suggest downloading and giving WebGoat a try. It is one of OWASP prides (about 200000 downloads).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' WebGoatPHP first version is ready, it needs thorough testing and delivery. It also needs new challenges added and a CTF hosted on it.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' You just need to know PHP and SQL. Familiarity with web application security is recommended.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP PureCaptcha==&lt;br /&gt;
===OWASP CSRF Guard===&lt;br /&gt;
'''Description:''' &lt;br /&gt;
[[OWASP PureCaptcha]] is an OWASP project aiming to simplify CAPTCHA usage. Instead of proving rigorous APIs and many dependencies, it is a single source code file (library) that does not depend on anything and generates secure and fast CAPTCHAs, with little memory and processor footprint.&lt;br /&gt;
PureCaptcha is currently released for PHP. The candidate will port this to several other programming languages (priority on web languages) and provide full test coverage.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' PureCaptcha library for at least 3 new programming languages. Unit testing for the core version. A study on security of the generated captcha can also be performed.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisites:''' Any programming language you want to port into, as well as PHP.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]], Jesse Burns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP PHP Framework==&lt;br /&gt;
===OWASP PHP Framework===&lt;br /&gt;
&lt;br /&gt;
'''Description:'''&lt;br /&gt;
OWASP PHP Security project plans to gather around secure PHP libraries, and provide a full featured framework of libraries for secure web applications in PHP, both as separate de-coupled libraries and as a whole secure web application framework. Many aspects of this project are already handled, and are being added to OWASP.&lt;br /&gt;
The project has been done in the last two years, and now a framework has been built upon these libraries and security best practices. The framework intends to merge security practices with practical frameworks, and aims to be simple and lightweight.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results: ''' A secure yet robust and practical framework for PHP developers.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' This project requires at least one year of experience working with different PHP projects and frameworks. It will be too hard for someone with average PHP experience.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]], Rahul Chaudhary&lt;br /&gt;
&lt;br /&gt;
'''Skill Level:''' Advanced&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP RBAC Project==&lt;br /&gt;
===OWASP RBAC Project===&lt;br /&gt;
'''Description:''' ''For the last 7 years, improper access control has been the issue behind two of the Top Ten lists''. &lt;br /&gt;
&lt;br /&gt;
RBAC stands for Role Based Access Control and is the de-facto access control and authorization standard. It simplifies access control and its maintenance for small and enterprise systems alike. NIST RBAC standard has four levels, the second level hierarchical RBAC is intended for this project.&lt;br /&gt;
&lt;br /&gt;
Unfortunately because of many performance and development problems, no suitable RBAC implementation was available until recently, so developers and admins mostly used ACLs and other forms of simple access control methods, which leads to broken and unmaintainable access control over the time. &lt;br /&gt;
&lt;br /&gt;
[[OWASP RBAC project]] has already implemented this, has a wide audience and has released several minor and two major versions. Many new features and modifications are expected by the community behind this.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' OWASP RBAC project more mature by porting from PHP to other programming languages, OR adding new features and testing on the PHP version.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' Good SQL knowledge, library development skills, familiarity with one of the programming languages as well as PHP. We recommend average experience and high skills.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]], Rahul Chaudhary, Jesse Burns&lt;br /&gt;
&lt;br /&gt;
'''Skill Level:''' Advanced&lt;br /&gt;
&lt;br /&gt;
For more info, visit [http://phprbac.net phprbac.net]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP PHP Widgets==&lt;br /&gt;
===OWASP PHP Widgets===&lt;br /&gt;
'''Description:''' Pull MVC (widget-based web views) has been available for many years on all major web programming languages, and even for Javascript. PHP on the other hand, lacks these and suffers a lot from forcing push MVC on its developers. There are a few libraries around, not secure and not mature at all. Providing a robust set of widgets for PHP developers not only smoothes web development process, it automatically mitigates a lot of web attacks that are based on user inputs to forms and other web elements (e.g CSRF, SQL Injection, XSS).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' OWASP PHP Widgets is currently in beta, and the candidate will spend time testing the functionalities, providing test coverage, adding new widgets and features, and building a user community.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' Average PHP programming. Good experience with web applications.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Abbas Naderi|Abbas Naderi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OWASP Seraphimdroid==&lt;br /&gt;
&lt;br /&gt;
'''Description:''' SeraphimDroid is educational application for android devices that helps users learn about risks and threats coming from other android applications. SeraphimDroid scans your devices and teaches you about risks and threats coming from application permissions. Also this project will deliver paper on android permissions, their regular use, risks and malicious use. In second version SeraphimDroid will evolve to application firewall for android devices not allowing malicious SMS or MMS to be sent, USSD codes to be executed or calls to be called without user permission and knowledge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:''' After last year's GSoC first version of project was released on Google play. However, educational component, setting check, potential android widgets are still missing and would be beneficial. Also, malicious behavior prevention mechanisms should be added and some bugs should be fixed.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge prerequisite:''' Average Android and JAVA programming. Knowledge of XML and SQLite Good experience with mobile applications.&lt;br /&gt;
&lt;br /&gt;
'''Mentor:''' [[User:Nikola Milosevic|Nikola Milosevic]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=IRC&amp;diff=184248</id>
		<title>IRC</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=IRC&amp;diff=184248"/>
				<updated>2014-10-29T13:38:32Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Chat with the OWASP Community on IRC ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Getting started'''&lt;br /&gt;
&lt;br /&gt;
For IRC experts: all of these channels are on irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
For people new to IRC, just access http://webchat.freenode.net/ and join the desired channel.&lt;br /&gt;
&lt;br /&gt;
'''Essential Channels to Join'''&lt;br /&gt;
&lt;br /&gt;
''#owasp'' is a town-hall of sorts. Here, we talk about OWASP projects in general, quick how-to questions, and what we've been doing in the community lately.&lt;br /&gt;
&lt;br /&gt;
''#owasp-contribute'' is the place to go if you want to help with core and contribute coding work, promotion, translation, infrastructure, and general OWASP community tasks. The rule of thumb here: if it ends up on the owasp.org infrastructure, and you are working on it or want to work on it, then this is the place to talk about it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Topical Channels'''&lt;br /&gt;
&lt;br /&gt;
''#owasp-gsoc'' is the official OWASP Google Summer of Code channel. Are you a student or mentor interested to participate in GSOC, this is your channel.&lt;br /&gt;
&lt;br /&gt;
''#owasp-wcs'' is the official OWASP Winter Code Sprint channel. Are you a student or mentor interested to participate in WCS, this is your channel.&lt;br /&gt;
&lt;br /&gt;
''#owtf'' is the official OWASP OWTF channel. if you are interested in OWTF, this is your channel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Regional Channels'''&lt;br /&gt;
&lt;br /&gt;
''#owasp-spanish'' is the official OWASP channel for those who hablan espanol.&lt;br /&gt;
&lt;br /&gt;
''#owasp-italy'' is the official OWASP channel for those who parlano italiano.&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183376</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183376"/>
				<updated>2014-10-07T02:04:39Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* FAQs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[https://owtf.github.io/download/ OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [https://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
OWTF documentation is hosted in the following resources:&lt;br /&gt;
* [https://owtf.github.io/ Getting started]&lt;br /&gt;
* [https://owtf.github.io/download/ Downloading &amp;amp; Installation]&lt;br /&gt;
* [http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
* [https://www.youtube.com/user/owtfproject/playlists OWTF Playlists with Demos/Talks on Youtube]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Join us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [http://www.slideshare.net/abrahamaranguren/presentations Some OWTF presentation slides]&lt;br /&gt;
* [http://blog.7-a.org/search/label/OWTF%20Talks More OWTF Talk links]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
OWTF attempts to solve the &amp;quot;penetration testers are never given enough time to test properly&amp;quot; problem, or in other words, OWTF = Test/Exploit ASAP, with this in mind, as of right now, the priorities are:&lt;br /&gt;
* To improve security testing efficiency (i.e. test more in less time)&lt;br /&gt;
* To improve security testing coverage (i.e. test more)&lt;br /&gt;
* Gradually integrate the best tools&lt;br /&gt;
* Unite the best tools and make them work together with the security tester&lt;br /&gt;
* Remove or Reduce the need to babysit security tools during security assessments&lt;br /&gt;
* Be a respository of PoC resource links to assist exploitation of vulnerabilities in order to illustrate risk to businesses.&lt;br /&gt;
* Help penetration testers save time on report writing&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* [https://github.com/owtf/owtf/pulls Send us a pull request]&lt;br /&gt;
* [https://github.com/owtf/owtf/issues Give us feedback / suggestions / report bugs]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Talk to us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf_developers Join our OWTF developers mailing list]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf Join the general OWTF mailing list]&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183364</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183364"/>
				<updated>2014-10-07T00:00:55Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWASP OWTF - VMS - OWTF Vulnerability Management System (FREE!) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue of &amp;quot;outdated software / apache / php detected&amp;quot;. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183363</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183363"/>
				<updated>2014-10-07T00:00:09Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* Participating OWASP Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - VMS - OWTF Vulnerability Management System (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Background problem to solve:&lt;br /&gt;
&lt;br /&gt;
We are trying to reduce the human work burden where there will be hundreds of issues listing apache out of date or php out of date. &lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
We can meta aggregate these duplicate issues into one issue that outdated software / apache / php detected. with XYZ list of issues in them.&lt;br /&gt;
&lt;br /&gt;
A separate set of scripts that allows for grouping and management of vulnerabilities (i.e. think huge assessments), to be usable *both* from inside + outside of OWTF in a separate sub-repo here: https://github.com/owtf &lt;br /&gt;
&lt;br /&gt;
VMS will have the following features:&lt;br /&gt;
* Vulnerability correlation engine which will allow for quick identification of unique vulnerability and deduplication.&lt;br /&gt;
* Vulnerability table optimization : combining redundant vulnerabilities like example : PHP &amp;lt;5.1 , PHP &amp;lt; 5.2 , PHP &amp;lt; 5.3 all suggest upgrade php so if multiple issues are reported they should be combined.&lt;br /&gt;
* Integration with existing bug tracking system like example bugzilla, jira : Should not be too hard as all such system have one or the other method exposed (REST API or similar)&lt;br /&gt;
* Fix Validation : Since we integrate with bug tracking once dev fixed the bug and code deployed we can run specific checks via * OWTF or other tool (may be specific nessus or nexpose plugin or similar.)&lt;br /&gt;
* Management Dashboard : Could be exposed to Pentester, Higher Management where stats are shown with lesser details but more of high level overview.&lt;br /&gt;
&lt;br /&gt;
[http://www.slideshare.net/null0x00/nessus-and-reporting-karma Similar previous work for Nessus]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183358</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183358"/>
				<updated>2014-10-06T23:49:15Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - HTTP Request Translator (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Problem to solve:&lt;br /&gt;
&lt;br /&gt;
There are many situations in web app pentests where just no tool will do the job and you need to script something, or mess around with the command line (classic example: sequence of steps where each step requires input from the previous step). In these situations, translating an HTTP request or a sequence of HTTP requests, takes valuable time which the pentester might just not really have.&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
An HTTP request translator, a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be used from inside OR outside of OWTF.&lt;br /&gt;
&lt;br /&gt;
2) Translate raw HTTP requests into curl commands or bash/python/php/ruby/PowerShell scripts&lt;br /&gt;
&lt;br /&gt;
3) Provide essential quick and dirty transforms: base64 (encode/decode), urlencode (encode/decode)&lt;br /&gt;
* Transforms with boundary strings? (TBD)&lt;br /&gt;
* Individually or in bulk? (TBD)&lt;br /&gt;
&lt;br /&gt;
'''Essential Function: &amp;quot;--output&amp;quot; argument'''&lt;br /&gt;
&lt;br /&gt;
CRITICAL: The command/script should be generated so that the request is sent as literally as possible.&lt;br /&gt;
&lt;br /&gt;
Example: NO client specific headers are sent. IF the original request had &amp;quot;User-Agent: X&amp;quot;, the generated command/script should have EXACTLY that (i.e. NOT a curl user agent, etc.). Obviously, the same applies to ALL other headers.&lt;br /&gt;
&lt;br /&gt;
NOTE: Ideally the following should be implemented using an extensible plugin architecture (i.e. NEW plugins are EASY to add)&lt;br /&gt;
* http request in =&amp;gt; curl command out&lt;br /&gt;
* http request in =&amp;gt; bash script out&lt;br /&gt;
* http request in =&amp;gt; python script out&lt;br /&gt;
* http request in =&amp;gt; php script out&lt;br /&gt;
* http request in =&amp;gt; ruby script out&lt;br /&gt;
* http request in =&amp;gt; PowerShell script out&lt;br /&gt;
&lt;br /&gt;
'''Basic additional arguments:'''&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--proxy&amp;quot; argument: generates the command/script with the relevant proxy option&lt;br /&gt;
&lt;br /&gt;
		NOTE: With this the command/script may send requests through a MiTM proxy (i.e. OWTF, ZAP, Burp, etc.)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--string-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. literal match)&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;--regex-search&amp;quot; argument: generates the command/script so that it:&lt;br /&gt;
		1) performs the request&lt;br /&gt;
&lt;br /&gt;
		2) then searches for something in the response (i.e. regex match)&lt;br /&gt;
&lt;br /&gt;
'''OWTF integration'''&lt;br /&gt;
&lt;br /&gt;
The idea here, is to invoke this tool from:&lt;br /&gt;
&lt;br /&gt;
1) Single HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
For example, have a button to &amp;quot;export http request&amp;quot; + then show options equivalent to the flags&lt;br /&gt;
&lt;br /&gt;
2) Multiple HTTP transactions:&lt;br /&gt;
&lt;br /&gt;
Same as with Single transactions, but letting the user &amp;quot;select a number of transactions&amp;quot; first (maybe a checkbox?).&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
'''Desired input formats:'''&lt;br /&gt;
&lt;br /&gt;
* Read raw HTTP request from stdin -Suggested default behaviour! :)-&lt;br /&gt;
&lt;br /&gt;
	Example: cat path/to/http_request.txt | http-request-translator.py --output&lt;br /&gt;
&lt;br /&gt;
* Interactive mode: read raw HTTP request from keyboard + &amp;quot;hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Suggestion: This could be a &amp;quot;-i&amp;quot; (for &amp;quot;interactive&amp;quot;) flag and/or the fallback option when &amp;quot;stdin is empty&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	Example:&lt;br /&gt;
&lt;br /&gt;
	1) User runs tool with desired flags (i.e. &amp;quot;--output ruby --proxy 127.0.0.1:1234 ...&amp;quot;, etc.)&lt;br /&gt;
&lt;br /&gt;
	2) Tool prints: &amp;quot;Please paste a raw HTTP request and hit enter when ready&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	3) User pastes a raw HTTP requests + hits enter&lt;br /&gt;
&lt;br /&gt;
	4) Tool outputs whatever is relevant for the flags + http request given&lt;br /&gt;
&lt;br /&gt;
* For bulk processing: Maybe a directory of raw http request files?&lt;br /&gt;
&lt;br /&gt;
'''Nice to have: Transforms'''&lt;br /&gt;
&lt;br /&gt;
In the context of translating raw HTTP requests into commands/scripts, what we want here is to provide some handy &amp;quot;macros&amp;quot; so that the relevant command/script is generated accordingly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
NOTE: Assume something like the following arguments: &amp;quot;--transform-boundary=@@@@@@@ --transform-language=php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 1) The user provides a raw HTTP request like this:&lt;br /&gt;
&lt;br /&gt;
  GET /path/to/urlencode@@@@@@@abc d@@@@@@@/test&lt;br /&gt;
  Host: target.com&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Step 2) The tool generates a bash script like the following:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  &lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;)&lt;br /&gt;
  curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OR a &amp;quot;curl command&amp;quot; like the following:&lt;br /&gt;
  PARAM1=$(echo 'abc d' | php -r &amp;quot;echo urlencode(fgets(STDIN));&amp;quot;); curl ...... &amp;quot;http://target.com/path/to/$PARAM1/test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This feature can be valuable to shave a bit more time in script writing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JavaScript Library Sniper (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183357</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183357"/>
				<updated>2014-10-06T23:41:28Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JLS - JavaScript Library Sniper (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183355</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183355"/>
				<updated>2014-10-06T23:39:37Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWTF JLS - JavaScript Library Sniper Project (FREE!) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - JLS - JavaScript Library Sniper Project (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183354</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183354"/>
				<updated>2014-10-06T23:38:28Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWTF JLS - JavaScript Library Sniper Project (FREE!) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWTF JLS - JavaScript Library Sniper Project (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
* JavaScript Library version&lt;br /&gt;
* List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183353</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183353"/>
				<updated>2014-10-06T23:37:59Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWTF JLS - JavaScript Library Sniper Project (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
This is a project that tries to resolve a very common problem during penetration tests:&lt;br /&gt;
&lt;br /&gt;
The customer is running a number of outdated JavaScript Libraries, but there is just not enough time to determine if something useful -i.e. something *really* bad! :)- can be done with that or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To solve this problem, we propose a *standalone* *tool* that can:&lt;br /&gt;
&lt;br /&gt;
1) Be run BOTH from inside AND outside of OWTF&lt;br /&gt;
&lt;br /&gt;
2) Build and *update* a fingerprint JavaScript library database of:&lt;br /&gt;
* Library File hashes =&amp;gt; JavaScript Library version&lt;br /&gt;
* Library File lengths =&amp;gt; JavaScript Library version&lt;br /&gt;
* (Nice to have:) As above, but for each individual github commit (possible drawback: too big?)&lt;br /&gt;
&lt;br /&gt;
3) Build and *update* a vulnerability database of:&lt;br /&gt;
* JavaScript Library version =&amp;gt; CVE - CVSS score - Vulnerability info&lt;br /&gt;
&lt;br /&gt;
4) Given a [ JavaScript file OR hash OR length ], found in the database, provides:&lt;br /&gt;
 * JavaScript Library version&lt;br /&gt;
 * List of vulnerabilities sorted in descending CVSS score order&lt;br /&gt;
&lt;br /&gt;
5) (very cool to have) Given a list of JavaScript files (maybe a directory), provides:&lt;br /&gt;
* ALL Library/vulnerability matches described on 4)&lt;br /&gt;
	&lt;br /&gt;
Once the standalone tool is built and verified to be working, OWTF should be able to:&lt;br /&gt;
&lt;br /&gt;
Feature 1) GREP plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
Step 1) Lookup file lengths and hashes in the &amp;quot;JavaScript library database&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Step 2) If a match is found: provide the list of known vulnerabilities against &amp;quot;JavaScript library X&amp;quot; to the user&lt;br /&gt;
&lt;br /&gt;
Feature 2) SEMI-PASSIVE plugin improvement (Web Application Fingerprint):&lt;br /&gt;
&lt;br /&gt;
1) Requests all referenced BUT missing JavaScript files -i.e. scanners won't load JavaScript files! :)-&lt;br /&gt;
&lt;br /&gt;
2) re-runs the GREP plugin on the new files (i.e. to avoid missing vulns due to unrequested JavaScript files)&lt;br /&gt;
&lt;br /&gt;
Potential projects worth having a look for potential overlap/inspiration:&lt;br /&gt;
* [https://owasp.org/index.php/OWASP_Dependency_Check OWASP Dependency Check?]&lt;br /&gt;
&lt;br /&gt;
How many JavaScript libraries should be included?&lt;br /&gt;
* As many as possible, but especially the major ones: jQuery, knockout, etc.&lt;br /&gt;
* &amp;quot;Nirvana&amp;quot; Nice to have: ALL Individual versions of ALL JavaScript files from ALL opensource projects, (ideally) even if the project is not a JavaScript library -i.e. JavaScript files from Joomla, Wordpress, etc.-&lt;br /&gt;
&lt;br /&gt;
Common JavaScript library fingerprinting techniques include:&lt;br /&gt;
* Parse the JavaScript file and grab the version from there&lt;br /&gt;
* Determine the JavaScript version based on a hash of the file&lt;br /&gt;
* Determine the JavaScript version based on the length of the file&lt;br /&gt;
&lt;br /&gt;
Other Challenges:&lt;br /&gt;
* &amp;quot;the file&amp;quot; could be &amp;quot;the minimised file&amp;quot;, &amp;quot;the expanded file&amp;quot; or even &amp;quot;a specific JavaScript file from Library X&amp;quot;&lt;br /&gt;
* When the JavaScript file does not match a specific version:&lt;br /&gt;
	1) The commit that matches the closest should (ideally) be found&lt;br /&gt;
	2) The NEXT library version after that commit (if present) should be found&lt;br /&gt;
	3) From there, it is about reusing the knowledge to figure out public vulnerabilities, CVSS scores, etc. again&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183352</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183352"/>
				<updated>2014-10-06T23:28:40Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWASP OWTF - Off-line HTTP traffic uploader (FREE!) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
&lt;br /&gt;
* Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
* Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
* Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
&lt;br /&gt;
* HTTP request&lt;br /&gt;
* HTTP response status code&lt;br /&gt;
* HTTP response headers&lt;br /&gt;
* HTTP response body&lt;br /&gt;
&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183351</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183351"/>
				<updated>2014-10-06T23:27:28Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Off-line HTTP traffic uploader (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
Although it is awesome that OWTF runs a lot of tools on behalf of the user, there are situations where uploading the HTTP traffic of another tool off-line can be very interesting for OWTF, for example:&lt;br /&gt;
- Tools that OWTF has trouble proxying right now: skipfish, hoppy&lt;br /&gt;
- Tools that the user may have run manually OR even from a tool aggregator -very common! :)-&lt;br /&gt;
- Tools that we just don't run from OWTF: ZAP, Burp, Fiddler&lt;br /&gt;
&lt;br /&gt;
This project is about implementing an off-line utility able to parse HTTP traffic:&lt;br /&gt;
1) Figure out how to read output files from various tools like:&lt;br /&gt;
skipfish, hoppy, w3af, arachni, etc.&lt;br /&gt;
Nice to have: ZAP database, Burp database&lt;br /&gt;
2) Translate that into the following clearly defined fields:&lt;br /&gt;
HTTP request&lt;br /&gt;
HTTP response status code&lt;br /&gt;
HTTP response headers&lt;br /&gt;
HTTP response body&lt;br /&gt;
3) IMPORTANT: Implement a plugin-based uploader system&lt;br /&gt;
4) IMPORTANT: Implement ONE plugin, that uploads that into the OWTF database&lt;br /&gt;
5) IMPORTANT: OWTF should ideally be able to invoke the uploader right after running a tool&lt;br /&gt;
	Example: OWTF runs skipfish, skipfish finishes, OWTF runs the HTTP traffic uploader, all skipfish data is pushed to the OWTF DB.&lt;br /&gt;
6) CRITICAL: The off-line HTTP traffic uploader should be smart enough to read + push 1-by-1 instead of *stupidly* trying to load everything into memory first, you have been warned! :)&lt;br /&gt;
	Why? Because in a huge assessment, the output of &amp;quot;tool X&amp;quot; can be &amp;quot;10 GB&amp;quot;, which is *stupid* to load into memory, this is OWTF, we *really* try to foresee the crash before it happens! ;)&lt;br /&gt;
&lt;br /&gt;
CRITICAL: It is important to implement a plugin-based uploader system, so that other projects can benefit from this work (i.e. to be able to import third-party tool data to ZAP, Burp, and other tools in a similar fashion), and hence hopefully join us in maintaining this project moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183348</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183348"/>
				<updated>2014-10-06T22:53:08Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[https://owtf.github.io/download/ OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [https://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
OWTF documentation is hosted in the following resources:&lt;br /&gt;
* [http://owtf.github.io/ Getting started]&lt;br /&gt;
* [http://owtf.github.io/download/ Downloading &amp;amp; Installation]&lt;br /&gt;
* [http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
* [https://www.youtube.com/user/owtfproject/playlists OWTF Playlists with Demos/Talks on Youtube]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Join us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [http://www.slideshare.net/abrahamaranguren/presentations Some OWTF presentation slides]&lt;br /&gt;
* [http://blog.7-a.org/search/label/OWTF%20Talks More OWTF Talk links]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
OWTF attempts to solve the &amp;quot;penetration testers are never given enough time to test properly&amp;quot; problem, or in other words, OWTF = Test/Exploit ASAP, with this in mind, as of right now, the priorities are:&lt;br /&gt;
* To improve security testing efficiency (i.e. test more in less time)&lt;br /&gt;
* To improve security testing coverage (i.e. test more)&lt;br /&gt;
* Gradually integrate the best tools&lt;br /&gt;
* Unite the best tools and make them work together with the security tester&lt;br /&gt;
* Remove or Reduce the need to babysit security tools during security assessments&lt;br /&gt;
* Be a respository of PoC resource links to assist exploitation of vulnerabilities in order to illustrate risk to businesses.&lt;br /&gt;
* Help penetration testers save time on report writing&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* [https://github.com/owtf/owtf/pulls Send us a pull request]&lt;br /&gt;
* [https://github.com/owtf/owtf/issues Give us feedback / suggestions / report bugs]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Talk to us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf_developers Join our OWTF developers mailing list]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf Join the general OWTF mailing list]&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183345</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183345"/>
				<updated>2014-10-06T22:37:39Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWASP OWTF - Installation Improvements and Package manager */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183344</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183344"/>
				<updated>2014-10-06T22:37:25Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWASP OWTF - Health Monitor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor (FREE!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183343</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183343"/>
				<updated>2014-10-06T22:36:37Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWASP OWTF - Tool utilities module (TAKEN!) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183342</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183342"/>
				<updated>2014-10-06T22:36:10Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183341</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183341"/>
				<updated>2014-10-06T22:35:31Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWASP OWTF - Tool utilities module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183340</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183340"/>
				<updated>2014-10-06T22:35:08Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWASP OWTF - Testing Framework Improvements (TAKEN, do not apply please) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183339</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183339"/>
				<updated>2014-10-06T22:34:48Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWASP OWTF - Testing Framework Improvements (TAKEN, do not apply please!) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN, do not apply please) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183338</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183338"/>
				<updated>2014-10-06T22:34:23Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWASP OWTF - Testing Framework Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements (TAKEN, do not apply please!) ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183337</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183337"/>
				<updated>2014-10-06T22:33:29Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* OWASP OWTF - Testing Framework Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections (Sept. 15th), please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183336</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=183336"/>
				<updated>2014-10-06T22:33:01Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''WARNING: This idea is taken from the 1st round of OWCS selections, please do NOT apply'''&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183333</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183333"/>
				<updated>2014-10-06T18:48:40Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* FAQs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
OWTF documentation is hosted in the following resources:&lt;br /&gt;
* [http://owtf.github.io/ Getting started]&lt;br /&gt;
* [http://owtf.github.io/download/ Downloading &amp;amp; Installation]&lt;br /&gt;
* [http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
* [https://www.youtube.com/user/owtfproject/playlists OWTF Playlists with Demos/Talks on Youtube]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Join us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [http://www.slideshare.net/abrahamaranguren/presentations Some OWTF presentation slides]&lt;br /&gt;
* [http://blog.7-a.org/search/label/OWTF%20Talks More OWTF Talk links]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
OWTF attempts to solve the &amp;quot;penetration testers are never given enough time to test properly&amp;quot; problem, or in other words, OWTF = Test/Exploit ASAP, with this in mind, as of right now, the priorities are:&lt;br /&gt;
* To improve security testing efficiency (i.e. test more in less time)&lt;br /&gt;
* To improve security testing coverage (i.e. test more)&lt;br /&gt;
* Gradually integrate the best tools&lt;br /&gt;
* Unite the best tools and make them work together with the security tester&lt;br /&gt;
* Remove or Reduce the need to babysit security tools during security assessments&lt;br /&gt;
* Be a respository of PoC resource links to assist exploitation of vulnerabilities in order to illustrate risk to businesses.&lt;br /&gt;
* Help penetration testers save time on report writing&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* [https://github.com/owtf/owtf/pulls Send us a pull request]&lt;br /&gt;
* [https://github.com/owtf/owtf/issues Give us feedback / suggestions / report bugs]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Talk to us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf_developers Join our OWTF developers mailing list]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf Join the general OWTF mailing list]&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183332</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183332"/>
				<updated>2014-10-06T18:46:37Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* Road Map and Getting Involved */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
OWTF documentation is hosted in the following resources:&lt;br /&gt;
* [http://owtf.github.io/ Getting started]&lt;br /&gt;
* [http://owtf.github.io/download/ Downloading &amp;amp; Installation]&lt;br /&gt;
* [http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
* [https://www.youtube.com/user/owtfproject/playlists OWTF Playlists with Demos/Talks on Youtube]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Join us on IRC (#owtf on Freenode)]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
OWTF attempts to solve the &amp;quot;penetration testers are never given enough time to test properly&amp;quot; problem, or in other words, OWTF = Test/Exploit ASAP, with this in mind, as of right now, the priorities are:&lt;br /&gt;
* To improve security testing efficiency (i.e. test more in less time)&lt;br /&gt;
* To improve security testing coverage (i.e. test more)&lt;br /&gt;
* Gradually integrate the best tools&lt;br /&gt;
* Unite the best tools and make them work together with the security tester&lt;br /&gt;
* Remove or Reduce the need to babysit security tools during security assessments&lt;br /&gt;
* Be a respository of PoC resource links to assist exploitation of vulnerabilities in order to illustrate risk to businesses.&lt;br /&gt;
* Help penetration testers save time on report writing&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* [https://github.com/owtf/owtf/pulls Send us a pull request]&lt;br /&gt;
* [https://github.com/owtf/owtf/issues Give us feedback / suggestions / report bugs]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Talk to us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf_developers Join our OWTF developers mailing list]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf Join the general OWTF mailing list]&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183331</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183331"/>
				<updated>2014-10-06T18:45:13Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* Road Map and Getting Involved */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
OWTF documentation is hosted in the following resources:&lt;br /&gt;
* [http://owtf.github.io/ Getting started]&lt;br /&gt;
* [http://owtf.github.io/download/ Downloading &amp;amp; Installation]&lt;br /&gt;
* [http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
* [https://www.youtube.com/user/owtfproject/playlists OWTF Playlists with Demos/Talks on Youtube]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Join us on IRC (#owtf on Freenode)]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
OWTF attempts to solve the &amp;quot;penetration testers are never given enough time to test properly&amp;quot; problem, or in other words, OWTF = Test/Exploit ASAP, with this in mind, as of right now, the priorities are:&lt;br /&gt;
* To improve security testing efficiency (i.e. test more in less time)&lt;br /&gt;
* To improve security testing coverage (i.e. test more)&lt;br /&gt;
* Gradually integrate the best tools&lt;br /&gt;
* Unite the best tools and make them work together with the security tester&lt;br /&gt;
* Remove or Reduce the need to babysit security tools during security assessments&lt;br /&gt;
* Be a respository of PoC resource links to assist exploitation of vulnerabilities in order to illustrate risk to businesses.&lt;br /&gt;
* Help penetration testers save time on report writing&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* [https://github.com/owtf/owtf/issues Give us feedback / suggestions / report bugs]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Talk to us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf_developers Join our OWTF developers mailing list]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf Join the general OWTF mailing list]&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183330</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183330"/>
				<updated>2014-10-06T18:41:43Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* Road Map and Getting Involved */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
OWTF documentation is hosted in the following resources:&lt;br /&gt;
* [http://owtf.github.io/ Getting started]&lt;br /&gt;
* [http://owtf.github.io/download/ Downloading &amp;amp; Installation]&lt;br /&gt;
* [http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
* [https://www.youtube.com/user/owtfproject/playlists OWTF Playlists with Demos/Talks on Youtube]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Join us on IRC (#owtf on Freenode)]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
OWTF attempts to solve the &amp;quot;penetration testers are never given enough time to test properly&amp;quot; problem, or in other words, OWTF = Test/Exploit ASAP, with this in mind, as of right now, the priorities are:&lt;br /&gt;
* To improve security testing efficiency (i.e. test more in less time)&lt;br /&gt;
* To improve security testing coverage (i.e. test more)&lt;br /&gt;
* Gradually integrate the best tools&lt;br /&gt;
* Unite the best tools and make them work together with the security tester&lt;br /&gt;
* Remove or Reduce the need to babysit security tools during security assessments&lt;br /&gt;
* Be a respository of PoC resource links to assist exploitation of vulnerabilities in order to illustrate risk to businesses.&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* [https://github.com/owtf/owtf/issues Give us feedback / suggestions / report bugs]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Talk to us on IRC (#owtf on Freenode)]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf_developers Join our OWTF developers mailing list]&lt;br /&gt;
* [https://lists.owasp.org/mailman/listinfo/owasp_owtf Join the general OWTF mailing list]&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_OWTF/Roadmap&amp;diff=183329</id>
		<title>Projects/OWASP OWTF/Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_OWTF/Roadmap&amp;diff=183329"/>
				<updated>2014-10-06T18:38:30Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Road Map and Getting Involved =&lt;br /&gt;
OWTF attempts to solve the &amp;quot;penetration testers are never given enough time to test properly&amp;quot; problem, or in other words, OWTF = Test/Exploit ASAP, with this in mind, as of right now, the priorities are:&lt;br /&gt;
* To improve security testing efficiency (i.e. test more in less time)&lt;br /&gt;
* To improve security testing coverage (i.e. test more)&lt;br /&gt;
* Gradually integrate the best tools&lt;br /&gt;
* Unite the best tools and make them work together with the security tester&lt;br /&gt;
* Remove or Reduce the need to babysit security tools during security assessments&lt;br /&gt;
* Be a respository of PoC resource links to assist exploitation of vulnerabilities in order to illustrate risk to businesses.&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183328</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183328"/>
				<updated>2014-10-06T18:36:28Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* Road Map and Getting Involved */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
OWTF documentation is hosted in the following resources:&lt;br /&gt;
* [http://owtf.github.io/ Getting started]&lt;br /&gt;
* [http://owtf.github.io/download/ Downloading &amp;amp; Installation]&lt;br /&gt;
* [http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
* [https://www.youtube.com/user/owtfproject/playlists OWTF Playlists with Demos/Talks on Youtube]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Join us on IRC (#owtf on Freenode)]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
OWTF attempts to solve the &amp;quot;penetration testers are never given enough time to test properly&amp;quot; problem, or in other words, OWTF = Test/Exploit ASAP, with this in mind, as of right now, the priorities are:&lt;br /&gt;
* To improve security testing efficiency (i.e. test more in less time)&lt;br /&gt;
* To improve security testing coverage (i.e. test more)&lt;br /&gt;
* Gradually integrate the best tools&lt;br /&gt;
* Unite the best tools and make them work together with the security tester&lt;br /&gt;
* Remove or Reduce the need to babysit security tools during security assessments&lt;br /&gt;
* Be a respository of PoC resource links to assist exploitation of vulnerabilities in order to illustrate risk to businesses.&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* [https://github.com/owtf/owtf/issues Give us feedback / suggestions / report bugs]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Talk to us on IRC (#owtf on Freenode)]&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_OWTF/Releases/Current&amp;diff=183327</id>
		<title>Projects/OWASP OWTF/Releases/Current</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_OWTF/Releases/Current&amp;diff=183327"/>
				<updated>2014-10-06T18:23:53Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: Latest release link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://github.com/owtf/owtf/releases&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183326</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183326"/>
				<updated>2014-10-06T18:20:38Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* FAQs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
OWTF documentation is hosted in the following resources:&lt;br /&gt;
* [http://owtf.github.io/ Getting started]&lt;br /&gt;
* [http://owtf.github.io/download/ Downloading &amp;amp; Installation]&lt;br /&gt;
* [http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
* [https://www.youtube.com/user/owtfproject/playlists OWTF Playlists with Demos/Talks on Youtube]&lt;br /&gt;
* [http://webchat.freenode.net/?randomnick=1&amp;amp;channels=%23owtf&amp;amp;prompt=1&amp;amp;uio=MTE9MjM20f Join us on IRC (#owtf on Freenode)]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of July, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183325</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183325"/>
				<updated>2014-10-06T18:13:50Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* What is OWTF? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF Installation]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of July, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183324</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183324"/>
				<updated>2014-10-06T18:13:27Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* What is OWTF? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like: The OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST.&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of July, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183323</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183323"/>
				<updated>2014-10-06T18:09:46Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* Quick Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF provides:&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [http://owtf.github.io/download/ Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of July, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183322</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183322"/>
				<updated>2014-10-06T18:06:53Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* News and Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF provides:&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/owtf/owtf Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* September 4th 2014 - [http://blog.7-a.org/2014/09/get-credits-help-owasp-meet-owasp.html - OWTF participating in OWASP Winter Code Sprint]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of July, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183321</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183321"/>
				<updated>2014-10-06T18:03:03Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* News and Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF provides:&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/owtf/owtf Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* October 5th 2014 - [http://blog.7-a.org/2014/10/owtf-10-lionheart-released.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
* September 26th 2014 - [http://blog.7-a.org/2014/09/owtf-10-lionheart-to-be-presented-brucon.html OWTF 1.0 &amp;quot;Lionheart&amp;quot; presented at Brucon!]&lt;br /&gt;
&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of July, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183320</id>
		<title>OWASP OWTF</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_OWTF&amp;diff=183320"/>
				<updated>2014-10-06T18:01:14Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: /* What is OWTF? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Main=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:OWASP_Project_Header.jpg|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;padding: 0;margin:0;margin-top:10px;text-align:left;&amp;quot; |-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==OWASP OWTF==&lt;br /&gt;
[[Image:OWTFLogo.png|center]]&lt;br /&gt;
&lt;br /&gt;
{{Social Media Links}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.OWASP OWTF, the Offensive (Web) Testing Framework, is an OWASP+PTES-focused try to unite great tools and make pen testing more efficient.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
You can see what OWASP OWTF is all about in the following video:{{#ev:youtube|H6Ut8U9a5KE}}&lt;br /&gt;
&lt;br /&gt;
For more videos please see the [http://www.youtube.com/user/owtfproject YouTube channel]&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;border-right: 1px dotted gray;padding-right:25px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== What is OWTF? ==&lt;br /&gt;
&lt;br /&gt;
OWASP OWTF provides:&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/download/ OWASP OWTF]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/owtf/owtf/releases OWASP OWTF Releases]&lt;br /&gt;
&lt;br /&gt;
The current version of OWASP OWTF is [https://github.com/owtf/owtf/releases/tag/v1.0 OWTF 1.0 &amp;quot;Lionheart&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
[http://docs.owtf.org OWASP OWTF Documentation]&lt;br /&gt;
&lt;br /&gt;
[http://owtf.github.io/online-passive-scanner/ Try some of the OWTF features from your browser!]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Release OWASP OWTF Release blog posts]&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWASP OWTF Talk blog posts]&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf OWASP OWTF Mailing List]&lt;br /&gt;
&lt;br /&gt;
[http://webchat.freenode.net/?channels=owtf OWASP OWTF IRC Channel: #owtf on Freenode]&lt;br /&gt;
&lt;br /&gt;
==Presentation==&lt;br /&gt;
&lt;br /&gt;
The following links provide access to materials for OWTF talks (video, slides, etc.):&lt;br /&gt;
&lt;br /&gt;
[http://blog.7-a.org/search/label/OWTF%20Talks OWTF Talks at 7-a.org]&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[mailto:Abraham.Aranguren@owasp.org Abraham Aranguren]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Openhub ==&lt;br /&gt;
&lt;br /&gt;
https://www.openhub.net/p/owasp-owtf&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;  style=&amp;quot;padding-left:25px;width:200px;&amp;quot; | &lt;br /&gt;
&lt;br /&gt;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/owtf/owtf Download now]&lt;br /&gt;
&lt;br /&gt;
== Email List ==&lt;br /&gt;
&lt;br /&gt;
[https://lists.owasp.org/mailman/listinfo/owasp_owtf Sign Up]&lt;br /&gt;
&lt;br /&gt;
== News and Events ==&lt;br /&gt;
* January 13th 2014 - [http://blog.7-a.org/2014/01/owtf-0450-winter-blizzard-released-plz.html OWTF 0.45.0 &amp;quot;Winter Blizzard&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*December 11th 2013 - [http://blog.7-a.org/2013/12/owasp-owtf-cfp-funds-contest-winners.html OWASP OWTF CFP funds contest WINNERS announced]&lt;br /&gt;
&lt;br /&gt;
*September 8th 2013 - [http://blog.7-a.org/2013/09/owasp-owtf-cfp-funds-contest.html OWASP OWTF CFP funds contest open!]&lt;br /&gt;
&lt;br /&gt;
*August 22nd-23rd 2013 - [https://appsec.eu/program/talk-teaser/ Introducing OWASP OWTF 5x5 @ OWASP AppSec EU]&lt;br /&gt;
&lt;br /&gt;
*August 9th 2013 - [http://blog.7-a.org/2013/08/owtf-030-summer-storm-ii-released-plz-rt.html OWTF 0.30 &amp;quot;Summer Storm II&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*July 1st 2013 - [http://blog.7-a.org/2013/07/owtf-020-summer-storm-i-released-plz-rt.html OWTF 0.20 &amp;quot;Summer Storm I&amp;quot; released!]&lt;br /&gt;
&lt;br /&gt;
*June 12th 2013 - [http://blog.7-a.org/2013/06/owasp-owtf-gsoc-selection-stats-and-poll.html OWASP OWTF GSoC Selection, Stats and Poll]&lt;br /&gt;
&lt;br /&gt;
*May 24th 2013 - [http://blog.7-a.org/2013/05/owasp-owtf-016-shady-citizen-released.html OWASP OWTF 0.16 &amp;quot;shady citizen&amp;quot; released, now working smoothly in Kali!]&lt;br /&gt;
&lt;br /&gt;
*April 22nd - May 3rd 2013 - [https://www.owasp.org/index.php/GSoC2013_Ideas Call for Student Proposals: OWASP OWTF will be part of the Google Summer of Code 2013]&lt;br /&gt;
&lt;br /&gt;
*April 24th 2013 - [http://www.securitybsides.org.uk/track_one.html Pentesting like a Grandmaster with OWASP OWTF to be presented at BSides London 2013]&lt;br /&gt;
&lt;br /&gt;
*February 26th 2013 - [http://blog.brucon.org/2013/02/the-5by5-race-is-on.html OWASP OWTF selected to be supported by Brucon 5x5]&lt;br /&gt;
&lt;br /&gt;
*September 26th 2012 - [http://2012.brucon.org/index.php/Schedule OWASP OWTF Workshop at Brucon]&lt;br /&gt;
&lt;br /&gt;
*September 24th 2012 - [http://blog.7-a.org/2012/09/owasp-owtf-015-brucon-released.html OWASP OWTF 0.15 BruCon released!]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Print ==&lt;br /&gt;
&lt;br /&gt;
==Classifications==&lt;br /&gt;
&lt;br /&gt;
   {| width=&amp;quot;200&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot; rowspan=&amp;quot;2&amp;quot;| [[File:Midlevel projects.png|100px|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Incubator_Projects]]&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-builders-small.png|link=]]  &lt;br /&gt;
   |-&lt;br /&gt;
   | align=&amp;quot;center&amp;quot; valign=&amp;quot;top&amp;quot; width=&amp;quot;50%&amp;quot;| [[File:Owasp-defenders-small.png|link=]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Cc-button-y-sa-small.png|link=http://creativecommons.org/licenses/by-sa/3.0/]]&lt;br /&gt;
   |-&lt;br /&gt;
   | colspan=&amp;quot;2&amp;quot; align=&amp;quot;center&amp;quot;  | [[File:Project_Type_Files_CODE.jpg|link=]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
; Q1&lt;br /&gt;
: A1&lt;br /&gt;
&lt;br /&gt;
; Q2&lt;br /&gt;
: A2&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWTF is developed by a worldwide [https://github.com/7a/owtf/blob/master/AUTHORS team] of volunteers.&lt;br /&gt;
&lt;br /&gt;
But we have also been helped by many organizations, either financially or through other means:&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org OWASP]&lt;br /&gt;
* [http://www.elearnsecurity.com/ eLearnSecurity]&lt;br /&gt;
* [http://www.google-melange.com/ Google]&lt;br /&gt;
* [http://brucon.org BruCon]&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
As of July, the priorities are:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
Involvement in the development and promotion of OWTF is actively encouraged!&lt;br /&gt;
You do not have to be a security expert in order to contribute.&lt;br /&gt;
Some of the ways you can help:&lt;br /&gt;
* xxx&lt;br /&gt;
* xxx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_OWTF}} &lt;br /&gt;
&lt;br /&gt;
__NOTOC__ &amp;lt;headertabs /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Category:OWASP Project]]  [[Category:OWASP_Builders]] [[Category:OWASP_Defenders]]  [[Category:OWASP_Document]]&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=181643</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=181643"/>
				<updated>2014-09-03T22:38:20Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[http://www.cvedetails.com/vulnerability-list.php?vendor_id=74&amp;amp;product_id=128&amp;amp;version_id=149817&amp;amp;page=1&amp;amp;hasexp=0&amp;amp;opdos=0&amp;amp;opec=0&amp;amp;opov=0&amp;amp;opcsrf=0&amp;amp;opgpriv=0&amp;amp;opsqli=0&amp;amp;opxss=0&amp;amp;opdirt=0&amp;amp;opmemc=0&amp;amp;ophttprs=0&amp;amp;opbyp=0&amp;amp;opfileinc=0&amp;amp;opginf=0&amp;amp;cvssscoremin=0&amp;amp;cvssscoremax=0&amp;amp;year=0&amp;amp;month=0&amp;amp;cweid=0&amp;amp;order=3&amp;amp;trc=17&amp;amp;sha=0d26af6f3ba8ea20af18d089df40c252ea09b711 Vulnerabilities against specific software version]&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=181561</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=181561"/>
				<updated>2014-09-01T18:07:25Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: fixed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OWCS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OWCS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=181112</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=181112"/>
				<updated>2014-08-25T19:13:39Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OCWS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OCWS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OCWS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - GSoC project extension ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This is a wildcard entry for all those GSoC project improvements that you had in mind.&lt;br /&gt;
The actual work performed will depend on the GSoC project you would like to extend.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Ideally be the author of the relevant GSoC project you would like to extend :)&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=180916</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=180916"/>
				<updated>2014-08-21T22:56:29Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OCWS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OCWS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OCWS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* '''IMPORTANT: [http://sphinx-doc.org/ Sphinx-friendly python comments] [http://owtf.github.io/ptp/_modules/ptp/tools/w3af/parser.html#W3AFXMLParser example Sphinx-friendly python comments here]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=180915</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=180915"/>
				<updated>2014-08-21T22:36:21Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OCWS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OCWS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OCWS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Installation Improvements and Package manager ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
This project is to implement what was suggested in the following github issue:&lt;br /&gt;
[https://github.com/owtf/owtf/issues/192 https://github.com/owtf/owtf/issues/192]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Recently i tried to make a fresh installation of OWTF. The installation process takes too much time. Is there any way to make the installation faster?&lt;br /&gt;
Having a private server with:&lt;br /&gt;
* pre-installed files for VMs&lt;br /&gt;
* pre-configured and patched tools&lt;br /&gt;
* Merged Lists&lt;br /&gt;
* Pre-configured certificates&lt;br /&gt;
Additionally a minimal installation which will install the core of OWTF with the option of update can increase the installation speed. The update procedure will start fetching the latest file versions from the server and copy them to the right path.&lt;br /&gt;
Additional ideas are welcome.&lt;br /&gt;
&lt;br /&gt;
-- They could be hosted on Dropbox or a private VPS :)&lt;br /&gt;
&lt;br /&gt;
2 Installation Modes&lt;br /&gt;
* For high speed connections (Downloading the files uncompressed)&lt;br /&gt;
* For low speed connections (Downloading the files compressed)&lt;br /&gt;
and the installation crashed because i runned out of space in the vm&lt;br /&gt;
IMPORTANT NOTE: OWTF should check the available disk space BEFORE installation starts + warn the user if problems are likely&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=180914</id>
		<title>Winter Code Sprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Winter_Code_Sprint&amp;diff=180914"/>
				<updated>2014-08-21T22:18:42Z</updated>
		
		<summary type="html">&lt;p&gt;Abraham Aranguren: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WinterCode.png|500px|right]]&lt;br /&gt;
== OWASP Winter Code Sprint ==&lt;br /&gt;
&lt;br /&gt;
== Foreword ==&lt;br /&gt;
&lt;br /&gt;
The OWASP Winter Code Sprint (OWCS) is a program to involve students with Security projects. By participating in OCWS a student can get real life experience while contributing to an open source project and getting university credits.&lt;br /&gt;
&lt;br /&gt;
== Benefits ==&lt;br /&gt;
&lt;br /&gt;
You get to work for a popular project.&lt;br /&gt;
Since the project is open source your work is publicly visible.&lt;br /&gt;
You get university credits while doing so.&lt;br /&gt;
You are supervised by a person with real-world experience on security &lt;br /&gt;
You make excellent contacts and you participate in an international team&lt;br /&gt;
&lt;br /&gt;
== Perks ==&lt;br /&gt;
&lt;br /&gt;
Students who successfully(*) participate in the project will get:&lt;br /&gt;
&lt;br /&gt;
* An OWASP annual individual membership. More info here: http://owasp.com/index.php/Individual_Member&lt;br /&gt;
* An OWASP Winter Code Sprint t-shirt.&lt;br /&gt;
* An OWASP conference pass (no flight/accommodation - just an OWASP conference pass of choice)&lt;br /&gt;
&lt;br /&gt;
(*) successful participation means a passing score granted by University authorities.&lt;br /&gt;
&lt;br /&gt;
== How it works: ==&lt;br /&gt;
&lt;br /&gt;
Any project that will give you university credits can participate in OCWS. Each project will be guided by an OWASP mentor along with a professor. Students are graded by their University, based on success criteria identified at the beginning of the project.&lt;br /&gt;
&lt;br /&gt;
Projects are focused on developing security tools. It is required that the code any student produces for those projects will be released as Open Source. Universities are free to specify their own requirements to projects, such as written reports. OWASP does not influence the way grades are allocated. The OWASP advisers will provide any information professors need in order to grade their students.&lt;br /&gt;
&lt;br /&gt;
Note on language: English is required for code comments and documentation, but not for interactions between students and advisers. Advisers who speak the same language as their students are encouraged to interact in that language.&lt;br /&gt;
&lt;br /&gt;
== How you can participate: ==&lt;br /&gt;
&lt;br /&gt;
=== As a Student ===&lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OCWS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Agree deliverables with OWASP mentor and university professor. &lt;br /&gt;
&lt;br /&gt;
4. Work away during Autumn/Winter 2014&lt;br /&gt;
&lt;br /&gt;
5. Rise to Open Source Development Glory :-)&lt;br /&gt;
&lt;br /&gt;
(Students apply now!)https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
=== As a Professor === &lt;br /&gt;
&lt;br /&gt;
1. Review the list of OWASP Projects currently participating in OCWS &lt;br /&gt;
&lt;br /&gt;
2. Get in touch with the OWASP Project mentor of your choice.&lt;br /&gt;
&lt;br /&gt;
3. Promote the participating OWASP Projects among students. Here is a handy slide deck that could be useful: [https://www.owasp.org/images/3/3c/WinterCodeSprint.pdf Slides] &lt;br /&gt;
&lt;br /&gt;
4. Review student progress with help from OWASP mentors.&lt;br /&gt;
&lt;br /&gt;
5. Grade student work according to university scoring system.&lt;br /&gt;
&lt;br /&gt;
6. Provide student grade results to OWASP mentor/s.&lt;br /&gt;
&lt;br /&gt;
=== As an OWASP Project Leader ===&lt;br /&gt;
&lt;br /&gt;
1. Edit this page adding your project and some proposed tasks as per the examples&lt;br /&gt;
&lt;br /&gt;
2. Promote the initiative to your academic contacts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mailing List ==&lt;br /&gt;
&lt;br /&gt;
Please subscribe to the following mailing list to receive updates or ask any particular questions:&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/#!forum/owasp-winter-code-sprint OWASP Winter Code Sprint Google Group]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Apply ==&lt;br /&gt;
&lt;br /&gt;
Please fill up this form before the deadline.&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/forms/d/1CFPzLIRje6Wb34MHq-8HwG0pjlkDixHA3xITVssN_Jw/viewform &lt;br /&gt;
&lt;br /&gt;
== Deadlines ==&lt;br /&gt;
&lt;br /&gt;
To facilitate the participation in the initiative for as many universities as possible, there are 2 deadlines for applying. The first one is 15 September 2014 and the next one is 15 October 2014. &lt;br /&gt;
The double deadline means that OWASP Leaders will review the submissions and announce the choosen projects two times.&lt;br /&gt;
Once at the end of September and once at the end of October.&lt;br /&gt;
&lt;br /&gt;
== Participating OWASP Projects ==&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Testing Framework Improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
As OWASP OWTF grows it makes sense to build custom unit tests to automatically re-test that functionality has not been broken. In this project we would like to improve the existing unit testing framework so that creating OWASP OWTF unit tests is as simple as possible and all missing tests for new functionality are created. The goal of this project is to update the existing Unit Test Framework to create all missing tests as well as improve the existing ones to verify OWASP OWTF functionality in an automated fashion.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Top features'''&lt;br /&gt;
&lt;br /&gt;
In this improvement phase, the Testing Framework should:&lt;br /&gt;
* (Top Prio) Focus more on functional tests&lt;br /&gt;
For example: Improve coverage of OWASP Testing Guide, PTES, etc. (lots of room for improvement there!)&lt;br /&gt;
* (Top Prio) Put together a great wiki documentation section for contributors&lt;br /&gt;
The goal here is to help contributors write tests for the functionality that they implement. This should be as easy as possible.&lt;br /&gt;
* (Top Prio) Fix the current Travis issues :)&lt;br /&gt;
* (Nice to have) Bring the unit tests up to speed with the codebase&lt;br /&gt;
This will be challenging but very worth trying after top priorities.&lt;br /&gt;
The wiki should be heavily updated so that contributors create their own unit tests easily moving forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
The Unit Test Framework should be able to:&lt;br /&gt;
* Define test categories: For example, &amp;quot;all plugins&amp;quot;, &amp;quot;web plugins&amp;quot;, &amp;quot;aux plugins&amp;quot;, &amp;quot;test framework core&amp;quot;, etc. (please see [http://www.slideshare.net/abrahamaranguren/introducing-owasp-owtf-workshop-brucon-2012 this presentation] for more background)&lt;br /&gt;
* Allow to regression test isolated plugins (i.e. &amp;quot;only test _this_ plugin&amp;quot;)&lt;br /&gt;
* Allow to regression test by test categories (i.e. &amp;quot;test only web plugins&amp;quot;)&lt;br /&gt;
* Allow to regression test everything (i.e. plugins + framework core: &amp;quot;test all&amp;quot;)&lt;br /&gt;
* Produce meaningful statistics and easy to navigate logs to identify which tests failed and ideally also hints on how to potentially fix the problem where possible&lt;br /&gt;
* Allow for easy creation of _new_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Allow for easy modification and maintenance of _existing_ unit tests specific to OWASP OWTF&lt;br /&gt;
* Perform well so that we can run as many tests as possible in a given period of time&lt;br /&gt;
* Potentially leverage the python unittest library: [http://docs.python.org/2/library/unittest.html http://docs.python.org/2/library/unittest.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* Performant and automated regression testing&lt;br /&gt;
* Unit tests for a wide coverage of OWASP OWTF, ideally leveraging the Unit Test Framework where possible&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Health Monitor ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
In some cases, especially on large assessments (think: &amp;gt; 30 URLs) a number of things often go wrong and OWTF needs to recover from everything, which is difficult.&lt;br /&gt;
&lt;br /&gt;
For this reason, OWTF needs an independent module, which is completely detached from OWTF (a different process), to ensure the health of the assessment is in check at all times, this includes the following:&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Alerting mechanisms'''&lt;br /&gt;
&lt;br /&gt;
When any of the monitor alerts (see below) is triggered. The OWTF user will be notified immediately through ALL of the following means:&lt;br /&gt;
* Playing an mp3 song (both local and possibly remote locations)&lt;br /&gt;
* Scan status overview on the CLI&lt;br /&gt;
* Scan status overview on the GUI&lt;br /&gt;
&lt;br /&gt;
NOTE: A configuration file from where the user can enable/disable/configure all these mechanisms is desired.&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Corrective mechanisms'''&lt;br /&gt;
&lt;br /&gt;
Corrective mechanisms are also expected in this project, these will be accomplished sending OWTF api messages such as:&lt;br /&gt;
* Stop this tool&lt;br /&gt;
* Freeze this process (to continue later)&lt;br /&gt;
* Freeze the whole scan (to continue later)&lt;br /&gt;
&lt;br /&gt;
Additional mechanisms:&lt;br /&gt;
* Show a ranking of files that take the most space&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Target monitor'''&lt;br /&gt;
&lt;br /&gt;
Brief overview:&lt;br /&gt;
&lt;br /&gt;
All target URLs are checked for availability periodically (i.e. once x 5 minutes?), if a URL in scope goes down the pentester is alerted (see above).&lt;br /&gt;
&lt;br /&gt;
Potential approach: Check if length of 1st page changes every 60 seconds.&lt;br /&gt;
&lt;br /&gt;
NOTE: It might be needed to change this on the fly.&lt;br /&gt;
&lt;br /&gt;
More background&lt;br /&gt;
&lt;br /&gt;
Consider the following scenario:&lt;br /&gt;
&lt;br /&gt;
Current Situation aka &amp;quot;problem to solve&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
1) Website X goes down during a scan&lt;br /&gt;
&lt;br /&gt;
2) the customer notices&lt;br /&gt;
&lt;br /&gt;
3) the customer tells the boss&lt;br /&gt;
&lt;br /&gt;
4) the boss tells the pentester&lt;br /&gt;
&lt;br /&gt;
5) the pentester stops the tool which was *still* trying to scan THAT target (!!!!)&lt;br /&gt;
&lt;br /&gt;
Desired situation aka &amp;quot;solution&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
It would be much more professional AND efficient that:&lt;br /&gt;
&lt;br /&gt;
1) The pentester notices&lt;br /&gt;
&lt;br /&gt;
2) The pentester tells the boss&lt;br /&gt;
&lt;br /&gt;
3) The boss tells the customer&lt;br /&gt;
&lt;br /&gt;
4) OWTF stops the tool because it knows that website is DEAD anyway&lt;br /&gt;
&lt;br /&gt;
A target monitor could easily do this with heartbeat requests + playing mp3s&lt;br /&gt;
&lt;br /&gt;
The target monitor will use the api to tell OWTF &amp;quot;this target is dead: freeze(stop?) current tests, skip target in future tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) Disk space monitor'''&lt;br /&gt;
&lt;br /&gt;
Another problem that is relatively common in large assessments, is that all disk space is used and the scanning box becomes unresponsive or crashes. When this happens it is too late, the pentester may also see this coming but wonder “which are the biggest files in the filesystem that I can delete”, it is not ideal to have to look for these files in a moment when the scanning box is about to crash :).&lt;br /&gt;
&lt;br /&gt;
Proposed solution:&lt;br /&gt;
&lt;br /&gt;
Regularly monitor how much disk space is left, especially on the partition where OWTF is writing the review (but also tool directories such as /home/username/.w3af/tmp, etc.). Keep track of files created by OWTF and all called tools and sort them by size in descending order. Then when the disk space is going low (i.e. predefined threshold), an mp3 or similar is played and this list is displayed to the user, so that they know what to delete to survive :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Network/Internet Connectivity monitor'''&lt;br /&gt;
&lt;br /&gt;
Sometimes it may also happen that ISP, etc. connectivity go down in the middle of a scan, this is often a very unfortunate situation since most tools are scanning in parallel and they won’t be able to produce a report OR even resume (i.e. A LOT is lost). The goal here is that OWTF does all of the following automatically:&lt;br /&gt;
&lt;br /&gt;
1) Detects the lack of connectivity&lt;br /&gt;
&lt;br /&gt;
2) Freezes all the tools (read: processes) in progress&lt;br /&gt;
&lt;br /&gt;
3) Resumes the scan when the connectivity is back.&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) Tool crash detection'''&lt;br /&gt;
&lt;br /&gt;
Sometimes, certain tools (most notably, ahem, w3af), when they crash they do NOT exit. This leaves OWTF in a difficult position where 1+ process is waiting for nothing, forever (i.e. because “Tool X” will never finish)&lt;br /&gt;
&lt;br /&gt;
'''Feature 7) Tool (Plugin?) CPU/RAM/Bandwidth abuse detection and correction'''&lt;br /&gt;
&lt;br /&gt;
OWTF needs to notice when some tools crash and/or “go beserk” with RAM/CPU/Bandwidth consumption, this is different from the existing built-in checks in OWTF like “do not launch a new tool if there is less than XYZ RAM free” and more like “if tool X is using &amp;gt; XYZ of the available RAM/CPU/Bandwidth” and this is (potentially) negatively affecting other tools/tests, then throttle it.&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* CRITICAL: Excellent reliability -i.e. the Health Monitor cannot crash! :)-&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python and bash experience would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP OWTF - Tool utilities module ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
The spirit of this feature is something that may or may not be used from OWTF: These are utilities that may be chained together by OWTF OR a penetration tester using the command line. The idea is to automate mundane tasks that take time but may provide a lever to a penetration tester short on time.&lt;br /&gt;
&lt;br /&gt;
'''Feature 1) Vulnerable software version database:'''&lt;br /&gt;
&lt;br /&gt;
Implement a searchable vulnerable software version database so that a penetration tester enters a version and gets vulnerabilities sorted by criticality with MAX Impact vulnerabilities at the top (possibly: CVSS score in DESC order).&lt;br /&gt;
&lt;br /&gt;
'''Feature 2) Nmap output file merger:'''&lt;br /&gt;
&lt;br /&gt;
Unify nmap files *without* losing data: XML, text and greppable formats&lt;br /&gt;
For example: Sometimes 2 scans pass through the same port, one returns the server version, the other does not, we obviously do not want to lose banner information :).&lt;br /&gt;
&lt;br /&gt;
'''Feature 3) Nmap output file vulnerability mapper'''&lt;br /&gt;
&lt;br /&gt;
From an nmap output file, get the unique software version banners, and provide a list of (maybe in tabs?):&lt;br /&gt;
&lt;br /&gt;
1) CVEs in reverse order of CVSS score, with links.&lt;br /&gt;
&lt;br /&gt;
2) Metasploit modules available for each CVE / issue&lt;br /&gt;
&lt;br /&gt;
NOTE: Can supply an *old* shell script for reference&lt;br /&gt;
&lt;br /&gt;
3) Servers/ports affected (i.e. all server / port combinations using that software version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 4) URL target list creator:'''&lt;br /&gt;
&lt;br /&gt;
Turn all “speaks http” ports (from any nmap format) into a list of URL targets for OWTF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 5) Hydra command creator:'''&lt;br /&gt;
&lt;br /&gt;
nmap file in =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
grep http auth / login pages in output files to identify login interfaces =&amp;gt; Hydra command list out&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Feature 6) WP-scan command creator:'''&lt;br /&gt;
&lt;br /&gt;
look at all URLs (i.e. nmap file), check if they might be running word press, generate a list of suggested wp-scan commands for all targets that might be running word press&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For background on OWASP OWTF please see: [https://www.owasp.org/index.php/OWASP_OWTF https://www.owasp.org/index.php/OWASP_OWTF]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Expected results:'''&lt;br /&gt;
&lt;br /&gt;
* '''IMPORTANT: [http://legacy.python.org/dev/peps/pep-0008/ PEP-8 compliant code] in all modified code and surrounding areas.'''&lt;br /&gt;
* '''IMPORTANT: [https://github.com/7a/owtf/wiki/Contributor%27s-README OWTF contributor README compliant code]'''&lt;br /&gt;
* Excellent reliability (i.e. proper exception handling, etc.)&lt;br /&gt;
* Good performance&lt;br /&gt;
* Unit tests / Functional tests&lt;br /&gt;
* Good documentation&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisite:'''&lt;br /&gt;
&lt;br /&gt;
Python, experience with unit tests and automated regression testing would be beneficial, some previous exposure to security concepts and penetration testing is welcome but not strictly necessary as long as there is will to learn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''OWASP OWTF Mentor:'''&lt;br /&gt;
&lt;br /&gt;
Abraham Aranguren - OWASP OWTF Project Leader - Contact: Abraham.Aranguren@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Source Code testing environment ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Existing challenges are based on a dynamic application testing concept. We would like to work on a project that will give the capability to the attacker to review a vulnerable piece of source code, make corrections and see the result in a realistic (but yet safe) runtime environment. The code can either be run if needed or tested for correctness and security. The implementation challenges of such a project can be numerous, including creating a realistic but also secure environment, testing submitted solutions and grading them in an automatic manner. At the same time there are now numerous sites that support submitting code and then simulate or implement a compiler's functionality.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A source code testing and improvement environment where a user will be able to review, improve and test the result of a piece of source code.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML and possibly Java. Good understanding of Application Security, source code analysis and related vulnerabilities. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Challenge Sandbox ===&lt;br /&gt;
&lt;br /&gt;
Now, in order to create a challenge, one has to validate the solution with regular expressions (or just plaintext comparison) and report success or failure to the backend,&lt;br /&gt;
we'd like the ability to write a normal vulnerable web application as a challenge and leave it to hackademic to make sure that the server is not affected.&lt;br /&gt;
Since this is probably the most difficult task proposed, if you are considering it, please get in touch with us early on so we can discuss about it and plan it correctly.&lt;br /&gt;
&lt;br /&gt;
Ideas on the project:&lt;br /&gt;
&lt;br /&gt;
''' *Administrator's point of view* '''&lt;br /&gt;
&lt;br /&gt;
Create an infrastructure that spawns virtual environments for users while keeping the load reasonable on the server(s).&lt;br /&gt;
Or configure apache,php,mysql in a way that allows for multiple instances of the programms to run in parallel completely seperated from the rest of the server.&lt;br /&gt;
The student is expected to provide configuration scripts that do the above&lt;br /&gt;
&lt;br /&gt;
''' *Coder's Way* '''&lt;br /&gt;
&lt;br /&gt;
This is better explained with an example:&lt;br /&gt;
In order to create an sql injection challenge one should be able to call a common unsecure mysql execute statement function.&lt;br /&gt;
The student can override common functions like this providing their own implementation of a very temporary database (based on flat files or nosql solutions e.t.c.).&lt;br /&gt;
The new functions should be able to detect the sqli and apply its results in a secure way(if the student drops a table no actual tables should be dropped but the table should not be visible to the student anymore).&lt;br /&gt;
&lt;br /&gt;
''' * Your solution here * '''&lt;br /&gt;
&lt;br /&gt;
''' Expected results '''&lt;br /&gt;
&lt;br /&gt;
You should be able to upload a trully vulnerable web application as a hackademic challenge without compromising the server outside the sandbox.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - CMS improvements ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
The new CMS was created during 2012 GSOC. We have received feedback from users that suggest various improvements regarding functionality e.g. better user, teacher and challenges management. There are also some security improvements that are needed and in general any functionality that adds up to the educational nature of the project is more than welcome.&lt;br /&gt;
For a complete list you can take a look at the issues in our github page here https://github.com/Hackademic/hackademic&lt;br /&gt;
Some ideas to get you started: &lt;br /&gt;
Ideas on this project:&lt;br /&gt;
&lt;br /&gt;
* ''' Template''' *&lt;br /&gt;
&lt;br /&gt;
Since it's creation the project has received a good number of new features, but the visual/ux/ui part has never gotten much love.&lt;br /&gt;
It would be good if we had a new template with proper ui design.&lt;br /&gt;
&lt;br /&gt;
* '''Questionaire creation plugin''' *&lt;br /&gt;
&lt;br /&gt;
We'd like the admin to be able to create questionaires, assign rules for each question (e.g. correct answer +2pts incorrect answer -2, no answer 0)  and assign them to students as homework/exams.&lt;br /&gt;
The grading can either be done automatically (for multiple choice) or be submitted to the creator of the questionaire.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to show different articles on the user's home screen''' &lt;br /&gt;
&lt;br /&gt;
Now each user is served the latest article in her/his home screen. We need the ability for either  the teacher/admin to be able to define what article each class is served.&lt;br /&gt;
&lt;br /&gt;
* '''Gamification of the user's progress''' *&lt;br /&gt;
&lt;br /&gt;
A series of plugins and a template which allow the user to earn badges as they solve challenges and a better visual representation of their progress.&lt;br /&gt;
&lt;br /&gt;
* '''Ability to define series of challenges'''&lt;br /&gt;
&lt;br /&gt;
The teacher/admin should be able to define a series of challenges (e.g. 2,5,3,1) which are meant to be solved in that order and if one is not solved then the student can't try the next one.&lt;br /&gt;
&lt;br /&gt;
* ''' Tagging of articles, users, challenges '''&lt;br /&gt;
&lt;br /&gt;
A user should be able to put tags on articles and challenges if he is a student and on users, classes, articles and challenges if he is a teacher.&lt;br /&gt;
Also the user should be able to search according to the tags.&lt;br /&gt;
&lt;br /&gt;
* '''Your idea here''' &lt;br /&gt;
&lt;br /&gt;
We welcome new ideas to make the project look awesome.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
New features  and security improvements on the CMS part of the project.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP and HTML. Good understanding of Application Security and related vulnerabilities if you undertake security improvements. &lt;br /&gt;
&lt;br /&gt;
'''OWASP Hackademic Mentors:''' &lt;br /&gt;
Konstantinos Papapanagiotou, Spyros Gasteratos - Contact: Konstantinos@owasp.org / spyros.gasteratos@owasp.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP Hackademic Challenges - Fix issues ===&lt;br /&gt;
&lt;br /&gt;
Hackdemic has an issues page [here | https://github.com/Hackademic/hackademic/issues] some of the issues are small projects which can be solved in an afternoon, others need more work. If your professor agrees with the workload, you can fix one or multiple issues as part of OWCS. Additionally, you can open some issues that later you can fix, or propose new features.&lt;br /&gt;
&lt;br /&gt;
''' Knowledge Prerequisites '''&lt;br /&gt;
PHP and optionally some knowledge of application security.&lt;br /&gt;
&lt;br /&gt;
''' NOTE '''&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;project&amp;quot; was added to encourage students to be creative and participate, we do accept projects outside the ones proposed if they can be integraded to the platform and are relevant to the purpose of Hackademic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Web  UI ===&lt;br /&gt;
 &lt;br /&gt;
'''Brief explanation: '''&lt;br /&gt;
&lt;br /&gt;
ZAP is already an extremely capable tool used by many different groups of users.  Work has already been done to make ZAP useful in environments where it can't run interactively (e.g. via the API). ZAP main Swing UI doesn't provide convenient access to remote users; a UI which provides some functionality for for users in such environments would be very useful.&lt;br /&gt;
&lt;br /&gt;
Adding a powerful HTML interface to ZAP would allow it to operate in an even wider range of situations.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
* A working example of an effective HTML UI that allows ZAP to be configured or used in a new way.&lt;br /&gt;
&lt;br /&gt;
'''Optional:'''&lt;br /&gt;
&lt;br /&gt;
Multi user / access controls, etc?&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML, CSS and JavaScript. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - Advanced reporting ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
OWASP ZAP has a limited reporting feature. The actual version can print only the 'Alerts' results into a simple pdf, html or in xml format. &lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
We want to be able to print more than the Alerts results , which includes many other outputs such as: Request and Response, Active Scan, Zest among others.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
During the Gsoc 2013, we did a research and a prototype module was created, using BIRT plugins for Advance reporting. Read more about the results of the explorative research : https://www.owasp.org/index.php/GSoC2013_Ideas/OWASP_ZAP_Exploring_Advanced_reporting_using_BIRT]&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential. &lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Johanna Curiel - Contact: johanna.curiel@owasp.org&lt;br /&gt;
&lt;br /&gt;
=== OWASP ZAP - CI Integration ===&lt;br /&gt;
&lt;br /&gt;
'''Brief explanation:'''&lt;br /&gt;
&lt;br /&gt;
ZAP is ideally suited for performing security tests in a Continuous Integration environment.&lt;br /&gt;
&lt;br /&gt;
Right now there are a lot of manual steps to perform. This development will be to investigate and implement code/plugins etc to make it much easier to integrate ZAP with tools like Selenium and Jenkins / Hudson.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Code, plugins and documentation to make it as easy as possible to integrate ZAP with common CI tools.&lt;br /&gt;
&lt;br /&gt;
'''General background'''&lt;br /&gt;
&lt;br /&gt;
ZAP is written in Java, so a good knowledge of this language is recommended, as is knowledge of HTML. Some knowledge of application security would be useful, but not essential.&lt;br /&gt;
&lt;br /&gt;
'''OWASP ZAP Mentor:''' &lt;br /&gt;
Simon Bennetts - Contact: psiinon@gmail.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Participating Universities, Professors ==&lt;br /&gt;
&lt;br /&gt;
Here's a small and not complete list of professors who are accepting participants (If your professor wants to accept more than one team, and you want to help your classmates please add institute name and professor/course here)&lt;br /&gt;
&lt;br /&gt;
== More info? ==&lt;br /&gt;
Please get in touch with the OWASP Winter Code Sprint Lead: spyros.gasteratos@owasp.org&lt;/div&gt;</summary>
		<author><name>Abraham Aranguren</name></author>	</entry>

	</feed>