<?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=Cam+Morris</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=Cam+Morris"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Cam_Morris"/>
		<updated>2026-04-11T10:02:11Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228607</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228607"/>
				<updated>2017-04-12T16:03:15Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Demo Site */&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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
''Passfault: an Open Source Tool for Measuring Password Complexity and Strength'' [[File:Artigo-Passfault.pdf]]&lt;br /&gt;
&lt;br /&gt;
''General Framework for Evaluating Password Complexity and Strength'' [[http://arxiv.org/abs/1512.05814 Cornell University Library]] &lt;br /&gt;
&amp;quot;...This is something that has not been captured by any previous password strength or complexity measures, with the exception of [OWASP] Passfault&amp;quot;&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/owasp/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/owasp/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
; Why do you need to pass the password over the wire?! Isn't that insecure? Others do it in javascript-client why don't you?&lt;br /&gt;
: Passfault's mission is to replace password policies, not just be a cute strength meter.  It was intended to be used by the sites that already take and use your passwords.  With that use-case, adding Passfault doesn't lessen security in any way.  Plus it has the added benefit that we can store LOTS of password lists and do some in-depth analysis that can't be done client-side. &lt;br /&gt;
&lt;br /&gt;
; Does 2FA (two-factor authentication) make Passfault obsolete?&lt;br /&gt;
: No, not if one of the factors is password authentication.  2FA lessens the risk of passwords, but if you no longer care about password security then you shouldn't use passwords for authentication at all.  If you still use passwords, you should have an ''effective'' password policy. &lt;br /&gt;
&lt;br /&gt;
; Some argue that password policies make passwords less secure, does that apply to Passfault?&lt;br /&gt;
: Researchers have found that, of all techniques used by password policies, only the required length had an effect on the overall strength, and even that claim is dubious.  Passfault works different and we claim we can do better, a lot better, than any traditional password policy.&lt;br /&gt;
&lt;br /&gt;
; How does Passfault compare to zxcvbn?&lt;br /&gt;
: Passfault is very similar to zxcvbn in it's approach to password analysis.  In fact it is the only comparable tool that we know of, and the only alternative we endorse.  zxcvbn presents the strength in units of &amp;quot;entropy&amp;quot;, this measurement could be derived from passfault's &amp;quot;pattern size&amp;quot;, however we feel that the &amp;quot;time-to-crack&amp;quot; help convey to the end user it's real risk (the downside to this is that really large numbers don't mean much to users, 10 years, or 10 million years, still feels like a long way away.  Entropy is logarithmic so it shows this better.  However entropy units are not intuitive to users.).  We also search for a few more patterns that we think are valuable.&lt;br /&gt;
&lt;br /&gt;
; Why java - I hate java.  If it were only in language ''x'' I'd use it. &lt;br /&gt;
: Passfault is packaged up in docker as a microservice.  You'd probably want to run passfault as a microservice anyway, so forget that it's java and just run with it.  That said, we welcome any ports to typescript or any other language.&lt;br /&gt;
&lt;br /&gt;
Discuss with us more on twitter [[https://twitter.com/c4mm0r]] or join the email list: [[https://lists.owasp.org/mailman/listinfo/passfault]]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* Bernardo Araujo Rodrigues&lt;br /&gt;
* Ray Stone&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228606</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228606"/>
				<updated>2017-04-12T16:02:39Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* 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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
''Passfault: an Open Source Tool for Measuring Password Complexity and Strength'' [[File:Artigo-Passfault.pdf]]&lt;br /&gt;
&lt;br /&gt;
''General Framework for Evaluating Password Complexity and Strength'' [[http://arxiv.org/abs/1512.05814 Cornell University Library]] &lt;br /&gt;
&amp;quot;...This is something that has not been captured by any previous password strength or complexity measures, with the exception of [OWASP] Passfault&amp;quot;&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/owasp/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/owasp/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
; Why do you need to pass the password over the wire?! Isn't that insecure? Others do it in javascript-client why don't you?&lt;br /&gt;
: Passfault's mission is to replace password policies, not just be a cute strength meter.  It was intended to be used by the sites that already take and use your passwords.  With that use-case, adding Passfault doesn't lessen security in any way.  Plus it has the added benefit that we can store LOTS of password lists and do some in-depth analysis that can't be done client-side. &lt;br /&gt;
&lt;br /&gt;
; Does 2FA (two-factor authentication) make Passfault obsolete?&lt;br /&gt;
: No, not if one of the factors is password authentication.  2FA lessens the risk of passwords, but if you no longer care about password security then you shouldn't use passwords for authentication at all.  If you still use passwords, you should have an ''effective'' password policy. &lt;br /&gt;
&lt;br /&gt;
; Some argue that password policies make passwords less secure, does that apply to Passfault?&lt;br /&gt;
: Researchers have found that, of all techniques used by password policies, only the required length had an effect on the overall strength, and even that claim is dubious.  Passfault works different and we claim we can do better, a lot better, than any traditional password policy.&lt;br /&gt;
&lt;br /&gt;
; How does Passfault compare to zxcvbn?&lt;br /&gt;
: Passfault is very similar to zxcvbn in it's approach to password analysis.  In fact it is the only comparable tool that we know of, and the only alternative we endorse.  zxcvbn presents the strength in units of &amp;quot;entropy&amp;quot;, this measurement could be derived from passfault's &amp;quot;pattern size&amp;quot;, however we feel that the &amp;quot;time-to-crack&amp;quot; help convey to the end user it's real risk (the downside to this is that really large numbers don't mean much to users, 10 years, or 10 million years, still feels like a long way away.  Entropy is logarithmic so it shows this better.  However entropy units are not intuitive to users.).  We also search for a few more patterns that we think are valuable.&lt;br /&gt;
&lt;br /&gt;
; Why java - I hate java.  If it were only in language ''x'' I'd use it. &lt;br /&gt;
; Passfault is packaged up in docker as a microservice.  You'd probably want to run passfault as a microservice anyway, so forget that it's java and just run with it.  That said, we welcome any ports to typescript or any other language.&lt;br /&gt;
&lt;br /&gt;
Discuss with us more on twitter [[https://twitter.com/c4mm0r]] or join the email list: [[https://lists.owasp.org/mailman/listinfo/passfault]]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* Bernardo Araujo Rodrigues&lt;br /&gt;
* Ray Stone&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228605</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228605"/>
				<updated>2017-04-12T16:02:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* FAQs */  &amp;quot;java haters&amp;quot;, client-side versus server side processing&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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
''Passfault: an Open Source Tool for Measuring Password Complexity and Strength'' [[File:Artigo-Passfault.pdf]]&lt;br /&gt;
&lt;br /&gt;
''General Framework for Evaluating Password Complexity and Strength'' [[http://arxiv.org/abs/1512.05814 Cornell University Library]] &lt;br /&gt;
&amp;quot;...This is something that has not been captured by any previous password strength or complexity measures, with the exception of [OWASP] Passfault&amp;quot;&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/owasp/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/owasp/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
; Why do you need to pass the password over the wire?! Isn't that insecure? Others do it in javascript-client why don't you?&lt;br /&gt;
; Passfault's mission is to replace password policies, not just be a cute strength meter.  It was intended to be used by the sites that already take and use your passwords.  With that use-case, adding Passfault doesn't lessen security in any way.  Plus it has the added benefit that we can store LOTS of password lists and do some in-depth analysis that can't be done client-side. &lt;br /&gt;
&lt;br /&gt;
; Does 2FA (two-factor authentication) make Passfault obsolete?&lt;br /&gt;
: No, not if one of the factors is password authentication.  2FA lessens the risk of passwords, but if you no longer care about password security then you shouldn't use passwords for authentication at all.  If you still use passwords, you should have an ''effective'' password policy. &lt;br /&gt;
&lt;br /&gt;
; Some argue that password policies make passwords less secure, does that apply to Passfault?&lt;br /&gt;
: Researchers have found that, of all techniques used by password policies, only the required length had an effect on the overall strength, and even that claim is dubious.  Passfault works different and we claim we can do better, a lot better, than any traditional password policy.&lt;br /&gt;
&lt;br /&gt;
; How does Passfault compare to zxcvbn?&lt;br /&gt;
: Passfault is very similar to zxcvbn in it's approach to password analysis.  In fact it is the only comparable tool that we know of, and the only alternative we endorse.  zxcvbn presents the strength in units of &amp;quot;entropy&amp;quot;, this measurement could be derived from passfault's &amp;quot;pattern size&amp;quot;, however we feel that the &amp;quot;time-to-crack&amp;quot; help convey to the end user it's real risk (the downside to this is that really large numbers don't mean much to users, 10 years, or 10 million years, still feels like a long way away.  Entropy is logarithmic so it shows this better.  However entropy units are not intuitive to users.).  We also search for a few more patterns that we think are valuable.&lt;br /&gt;
&lt;br /&gt;
; Why java - I hate java.  If it were only in language ''x'' I'd use it. &lt;br /&gt;
; Passfault is packaged up in docker as a microservice.  You'd probably want to run passfault as a microservice anyway, so forget that it's java and just run with it.  That said, we welcome any ports to typescript or any other language.&lt;br /&gt;
&lt;br /&gt;
Discuss with us more on twitter [[https://twitter.com/c4mm0r]] or join the email list: [[https://lists.owasp.org/mailman/listinfo/passfault]]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* Bernardo Araujo Rodrigues&lt;br /&gt;
* Ray Stone&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228601</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228601"/>
				<updated>2017-04-12T15:13:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* 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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
''Passfault: an Open Source Tool for Measuring Password Complexity and Strength'' [[File:Artigo-Passfault.pdf]]&lt;br /&gt;
&lt;br /&gt;
''General Framework for Evaluating Password Complexity and Strength'' [[http://arxiv.org/abs/1512.05814 Cornell University Library]] &lt;br /&gt;
&amp;quot;...This is something that has not been captured by any previous password strength or complexity measures, with the exception of [OWASP] Passfault&amp;quot;&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/owasp/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/owasp/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
; Does 2FA (two-factor authentication) make Passfault obsolete?&lt;br /&gt;
: No, not if one of the factors is password authentication.  2FA lessens the risk of passwords, but if you no longer care about password security then you shouldn't use passwords for authentication at all.  If you still use passwords, you should have an ''effective'' password policy. &lt;br /&gt;
&lt;br /&gt;
; Some argue that password policies make passwords less secure, does that apply to Passfault?&lt;br /&gt;
: Researchers have found that, of all techniques used by password policies, only the required length had an effect on the overall strength, and even that claim is dubious.  Passfault works different and we claim we can do better, a lot better, than any traditional password policy.&lt;br /&gt;
&lt;br /&gt;
; How does Passfault compare to zxcvbn?&lt;br /&gt;
: Passfault is very similar to zxcvbn in it's approach to password analysis.  In fact it is the only comparable tool that we know of, and the only alternative we endorse.  zxcvbn presents the strength in units of &amp;quot;entropy&amp;quot;, this measurement could be derived from passfault's &amp;quot;pattern size&amp;quot;, however we feel that the &amp;quot;time-to-crack&amp;quot; help convey to the end user it's real risk (the downside to this is that really large numbers don't mean much to users, 10 years, or 10 million years, still feels like a long way away.  Entropy is logarithmic so it shows this better.  However entropy units are not intuitive to users.).  We also search for a few more patterns that we think are valuable.&lt;br /&gt;
&lt;br /&gt;
Discuss with us more on twitter [[https://twitter.com/c4mm0r]] or join the email list: [[https://lists.owasp.org/mailman/listinfo/passfault]]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* Bernardo Araujo Rodrigues&lt;br /&gt;
* Ray Stone&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228600</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228600"/>
				<updated>2017-04-12T15:07:21Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* 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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
''Passfault: an Open Source Tool for Measuring Password Complexity and Strength'' [[File:Artigo-Passfault.pdf]]&lt;br /&gt;
&lt;br /&gt;
''General Framework for Evaluating Password Complexity and Strength'' [[http://arxiv.org/abs/1512.05814 Cornell University Library]] &lt;br /&gt;
&amp;quot;...This is something that has not been captured by any previous password strength or complexity measures, with the exception of [OWASP] Passfault&amp;quot;&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/owasp/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/owasp/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
; Does 2FA (two-factor authentication) make Passfault obsolete?&lt;br /&gt;
: No, not if one of the factors is password authentication.  2FA lessens the risk of passwords, but if you no longer care about password security then you shouldn't use passwords for authentication at all.  If you still use passwords, you should have an ''effective'' password policy. &lt;br /&gt;
&lt;br /&gt;
; Some argue that password policies make passwords less secure, does that apply to Passfault?&lt;br /&gt;
: Researchers have found that, of all techniques used by password policies, only the required length had an effect on the overall strength, and even that claim is dubious.  Passfault works different and we claim we can do better, a lot better, than any traditional password policy.&lt;br /&gt;
&lt;br /&gt;
; How does Passfault compare to zxcvbn?&lt;br /&gt;
: Passfault is very similar to zxcvbn in it's approach to password analysis, in fact it is the only comparable tool that we know of, and the only alternative we endorse.  zxcvbn presents the strength in units of &amp;quot;entropy&amp;quot;, this measurement could be derived from passfault's &amp;quot;pattern size&amp;quot;, however we feel that the &amp;quot;time-to-crack&amp;quot; help convey to the end user it's real risk (the downside to this is that really large numbers don't mean much to users, 10 years, or 10 million years, still feels like a long way away.  Entropy is logarithmic so it shows this better.  However entropy units are not intuitive to users.).  We also search for a few more patterns that we think are valuable.&lt;br /&gt;
&lt;br /&gt;
Discuss with us more on twitter [[https://twitter.com/c4mm0r]] or join the email list: [[https://lists.owasp.org/mailman/listinfo/passfault]]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* Bernardo Araujo Rodrigues&lt;br /&gt;
* Ray Stone&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228584</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228584"/>
				<updated>2017-04-11T23:32:17Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* 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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
''Passfault: an Open Source Tool for Measuring Password Complexity and Strength'' [[File:Artigo-Passfault.pdf]]&lt;br /&gt;
&lt;br /&gt;
''General Framework for Evaluating Password Complexity and Strength'' [[http://arxiv.org/abs/1512.05814 Cornell University Library]] &lt;br /&gt;
&amp;quot;...This is something that has not been captured by any previous password strength or complexity measures, with the exception of [OWASP] Passfault&amp;quot;&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/owasp/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/owasp/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
; Does 2FA (two-factor authentication) make Passfault obsolete?&lt;br /&gt;
: No, not if one of the factors is password authentication.  2FA lessens the risk of passwords, but if you no longer care about password security then you shouldn't use passwords for authentication at all.  If you still use passwords, you should have an ''effective'' password policy. &lt;br /&gt;
&lt;br /&gt;
; Some argue that password policies make passwords less secure, does that apply to Passfault?&lt;br /&gt;
: Researchers have found that of all techniques used by password policies, only the required length had an effect on the overall strength, and even that claim is dubious.  Passfault works different and we claim we can do better, a lot better, than any traditional password policy.&lt;br /&gt;
&lt;br /&gt;
; How does Passfault compare to zxcvbn?&lt;br /&gt;
: Passfault is very similar to zxcvbn in it's approach to password analysis, in fact it is the only comparable tool that we know of, and the only alternative we endorse.  zxcvbn presents the strength in units of &amp;quot;entropy&amp;quot;, this measurement could be derived from passfault's &amp;quot;pattern size&amp;quot;, however we feel that the &amp;quot;time-to-crack&amp;quot; help convey to the end user it's real risk (the downside to this is that really large numbers don't mean much to users, 10 years, or 10 million years, still feels like a long way away.  Entropy is logarithmic so it shows this better.  However entropy units are not intuitive to users.).  We also search for a few more patterns that we think are valuable.&lt;br /&gt;
&lt;br /&gt;
Discuss with us more on twitter [[https://twitter.com/c4mm0r]] or join the email list: [[https://lists.owasp.org/mailman/listinfo/passfault]]&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* Bernardo Araujo Rodrigues&lt;br /&gt;
* Ray Stone&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228581</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=228581"/>
				<updated>2017-04-11T21:32:10Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: Added Bernardo's Research on Passfault&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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
''Passfault: an Open Source Tool for Measuring Password Complexity and Strength'' [[File:Artigo-Passfault.pdf]]&lt;br /&gt;
&lt;br /&gt;
''General Framework for Evaluating Password Complexity and Strength'' [[http://arxiv.org/abs/1512.05814 Cornell University Library]] &lt;br /&gt;
&amp;quot;...This is something that has not been captured by any previous password strength or complexity measures, with the exception of [OWASP] Passfault&amp;quot;&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/owasp/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/owasp/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* Bernardo Araujo Rodrigues&lt;br /&gt;
* Ray Stone&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=File:Artigo-Passfault.pdf&amp;diff=228580</id>
		<title>File:Artigo-Passfault.pdf</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=File:Artigo-Passfault.pdf&amp;diff=228580"/>
				<updated>2017-04-11T21:25:25Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: Research paper presenting results of analyzing millions of hacked passwords against OWASP Passfault&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Research paper presenting results of analyzing millions of hacked passwords against OWASP Passfault&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=222776</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=222776"/>
				<updated>2016-10-27T14:02:49Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Main */&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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
''General Framework for Evaluating Password Complexity and Strength'' [[http://arxiv.org/abs/1512.05814 Cornell University Library]] &lt;br /&gt;
&amp;quot;...This is something that has not been captured by any previous password strength or complexity measures, with the exception of [OWASP] Passfault&amp;quot;&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/owasp/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/owasp/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=222775</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=222775"/>
				<updated>2016-10-27T14:01:53Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Main */&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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
''General Framework for Evaluating Password Complexity and Strength'' [[http://arxiv.org/abs/1512.05814 Cornell University Library]] &lt;br /&gt;
&amp;quot;...This is something that has not been captured by any previous password strength or complexity measures, with the exception of [OWASP] Passfault&amp;quot;&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/owasp/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=217441</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=217441"/>
				<updated>2016-05-26T21:43:55Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: Added Cornell reference&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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&lt;br /&gt;
== Research ==&lt;br /&gt;
''General Framework for Evaluating Password Complexity and Strength'' [[http://arxiv.org/abs/1512.05814 Cornell University Library]] &lt;br /&gt;
&amp;quot;...This is something that has not been captured by any previous password strength or complexity measures, with the exception of [OWASP] Passfault&amp;quot;&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SAML_Security_Cheat_Sheet&amp;diff=199846</id>
		<title>SAML Security Cheat Sheet</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SAML_Security_Cheat_Sheet&amp;diff=199846"/>
				<updated>2015-09-02T14:49:49Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: minor editorial changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; __NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:160px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File:Cheatsheets-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;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}''' &lt;br /&gt;
= Introduction  =&lt;br /&gt;
 __TOC__{{TOC hidden}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;i&amp;gt;Security Assertion Markup Language&amp;lt;/i&amp;gt; (SAML) is an open standard for exchanging authorization and authentication information. The &amp;lt;i&amp;gt;Web Browser SAML/SSO Profile with Redirect/POST bindings&amp;lt;/i&amp;gt; is one of the most common SSO implementation. This cheatsheet will focus primarily on that profile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Validate Message Confidentiality and Integrity =&lt;br /&gt;
&lt;br /&gt;
* [[Transport Layer Protection Cheat Sheet|TLS 1.2]] is the most common solution to guarantee message confidentiality and integrity. Refer to [http://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf SAML Security (section 4)] for additional information. This step will help counter the following attacks:&lt;br /&gt;
** Eavesdropping 7.1.1.1&lt;br /&gt;
** Theft of User Authentication Information 7.1.1.2&lt;br /&gt;
** Theft of the Bearer Token 7.1.1.3&lt;br /&gt;
** Message Deletion 7.1.1.6&lt;br /&gt;
** Message Modification 7.1.1.7&lt;br /&gt;
** Man-in-the-middle 7.1.1.8&lt;br /&gt;
*A digitally signed message with a certified key is the most common solution to guarantee message integrity and authentication. Refer to [http://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf SAML Security (section 4)] for additional information. This step will help counter the following attacks:&lt;br /&gt;
**Man-in-the-middle 6.4.2&lt;br /&gt;
**Forged Assertion 6.4.3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate Protocol Usage=&lt;br /&gt;
&lt;br /&gt;
This is a common area for security gaps - see [http://www.ai-lab.it/armando/pub/fmse9-armando.pdf Google SSO vulnerability] (AVANTSSAR 2008)  for a real life example.  Their SSO profile was vulnerable to a Man-in-the-middle attack from a malicious SP (Service Provider). The SSO Web Browser Profile is most susceptible to attacks from trusted partners. This particular security flaw was exposed because the SAML Response did not contain all of the required data elements necessary for a secure message exchange. Following the [http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf SAML Profile] usage requirements for AuthnRequest (4.1.4.1) and Response (4.1.4.2) will help counter this attack. The AVANTSSAR team suggested the following data elements should be required:&lt;br /&gt;
&lt;br /&gt;
* '''AuthnRequest(ID, SP);''' An AuthnRequest must contain and ID and SP. Where ID is a string uniquely identifying the request and an SP identifies the Service Provider that initiated the request. Furthermore, the request ID attribute must be returned in the response (InResponseTo=&amp;quot;&amp;lt;requestId&amp;gt;&amp;quot;). InResponseTo helps guarantee authenticity of the response from the trusted IdP. This was one of the missing attributes that left Google's SSO vulnerable.&lt;br /&gt;
* '''Response(ID, SP, IdP, {AA} K -1/IdP);''' A Response must contain all these elements. Where ID is a string uniquely identifying the response. SP identifies the recipient of the response. IdP identifies the identity provider authorizing the response. {AA} K -1/IdP is the assertion digitally signed with the private key of the IdP.&lt;br /&gt;
* '''AuthAssert(ID, C, IdP, SP);''' An authentication assertion must exist within the Response. It must contain an ID, a client (C), an identity provider (IdP), and a service provider (SP) identifier.&lt;br /&gt;
&lt;br /&gt;
Further vulnerabilities in SAML implementations were described in 2012 ([https://www.usenix.org/system/files/conference/usenixsecurity12/sec12-final91-8-23-12.pdf On Breaking SAML: Be Whoever You Want to Be]). The following recommendations were proposed in response ([http://arxiv.org/pdf/1401.7483v1.pdf Secure SAML validation to prevent XML signature wrapping attacks]):&lt;br /&gt;
&lt;br /&gt;
* Always perform schema validation on the XML document prior to using it for any security-­related purposes.&lt;br /&gt;
** Always use local, trusted copies of schemas for validation.&lt;br /&gt;
** Never allow automatic download of schemas from third party locations.&lt;br /&gt;
** If possible, inspect schemas and perform schema hardening, to disable possible wildcard ­type or relaxed processing statements.&lt;br /&gt;
* Securely validate the digital signature.&lt;br /&gt;
** If you expect only one signing key, use StaticKeySelector. Obtain the key directly from the identity provider, store it in local file and ignore any KeyInfo elements in the document.&lt;br /&gt;
** If you expect more than one signing key, use X509KeySelector (the JKS variant). Obtain these keys directly form the identity providers, store them in local JKS and ignore any KeyInfo elements in the document.&lt;br /&gt;
** If you expect a heterogenous signed documents (many certificates from many identity providers, multi­level validation paths), implement full trust establishment model based on PKIX and trusted root certificates.&lt;br /&gt;
* Avoid signature-wrapping attacks.&lt;br /&gt;
** Never use getElementsByTagName to select security related elements in an XML document without prior validation.&lt;br /&gt;
**Always use absolute XPath expressions to select elements, unless a hardened schema is used for validation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate Protocol Processing Rules=&lt;br /&gt;
&lt;br /&gt;
This is another common area for security gaps simply because of the vast number of steps to assert. Processing a SAML response is an expensive operation but all steps must be validated.&lt;br /&gt;
*Validate AuthnRequest processing rules. Refer to [http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf SAML Core] (3.4.1.4) for all AuthnRequest processing rules. This step will help counter the following attacks:&lt;br /&gt;
** Man-in-the-middle (6.4.2)&lt;br /&gt;
* Validate Response processing rules. Refer to [http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf SAML Profiles] (4.1.4.3) for all Response processing rules. This step will help counter the following attacks:&lt;br /&gt;
** Stolen Assertion (6.4.1)&lt;br /&gt;
** Man-in-the-middle (6.4.2)&lt;br /&gt;
** Forged Assertion (6.4.3)&lt;br /&gt;
** Browser State Exposure (6.4.4)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate Binding Implementation=&lt;br /&gt;
&lt;br /&gt;
*For an HTTP Redirect Binding refer to [http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf SAML Binding] (3.4). To view an encoding example, you may want to reference RequestUtil.java found within [https://developers.google.com/google-apps/sso/saml_reference_implementation_web Google's reference implementation].&lt;br /&gt;
* For an HTTP POST Binding refer to [http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf SAML Binding] (3.5). The caching considerations are also very important. If a SAML protocol message gets cached, it can subsequently be used as a Stolen Assertion (6.4.1) or Replay (6.4.5) attack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Validate Security Countermeasures=&lt;br /&gt;
&lt;br /&gt;
Revisit each security threat that exists within the [http://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf SAML Security] document and assert you have applied the appropriate countermeasures for threats that may exist for your particular implementation. Additional countermeasures considererd should include:&lt;br /&gt;
*Prefer IP Filtering when appropriate. For example, this countermeasure could have prevented Google's initial security flaw if Google provided each trusted partner with a separate endpoint and setup an IP filter for each endpoint. This step will help counter the following attacks:&lt;br /&gt;
**Stolen Assertion (6.4.1)&lt;br /&gt;
**Man-in-the-middle (6.4.2)&lt;br /&gt;
*Prefer short lifetimes on the SAML Response. This step will help counter the following attacks:&lt;br /&gt;
**Stolen Assertion (6.4.1)&lt;br /&gt;
**Browser State Exposure (6.4.4)&lt;br /&gt;
*Prefer OneTimeUse on the SAML Response. This step will help counter the following attacks:&lt;br /&gt;
**Browser State Exposure (6.4.4)&lt;br /&gt;
**Replay (6.4.5)&lt;br /&gt;
&lt;br /&gt;
Need an architectural diagram? The [http://www.oasis-open.org/committees/download.php/11511/sstc-saml-tech-overview-2.0-draft-03.pdf SAML technical overview] contains the most complete diagrams. For the Web Browser SSO Profile with Redirect/POST bindings refer to the section 4.1.3. In fact, of all the SAML documentation, the technical overview is the most valuable from a high-level perspective.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= First and Last Mile Considerations = &lt;br /&gt;
&lt;br /&gt;
The SAML protocol is rarely the vector of choice, though it's important to have cheatsheets to make sure that this is robust. The various endpoints are more targeted, so how the SAML token is generated and how it is consumed are both important in practice. &lt;br /&gt;
&lt;br /&gt;
== First Mile Considerations ==&lt;br /&gt;
* Strong Authentication options for generating the SAML token&lt;br /&gt;
* IDP validation (which IDP mints the token)&lt;br /&gt;
&lt;br /&gt;
== Last Mile Considerations ==&lt;br /&gt;
* Validating session state for user&lt;br /&gt;
* Level of granularity in setting authZ context when consuming SAML token (do you use groups, roles, attributes)&lt;br /&gt;
* Validate authorized IDP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Input Validation =&lt;br /&gt;
 &lt;br /&gt;
Just because SAML is a security protocol does not mean that input validation goes away. &lt;br /&gt;
&lt;br /&gt;
* Ensure that all SAML providers/consumers do proper [[Input_Validation_Cheat_Sheet | input validation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Authors and Primary Editors =&lt;br /&gt;
&lt;br /&gt;
* [http://bradbroulik.blogspot.dk/2010/01/bulletproof-sso-with-saml-20.html Brad Broulik]&lt;br /&gt;
* [https://ipsec.pl/ Paweł Krawczyk]&lt;br /&gt;
* Gunnar Peterson&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Cheatsheets ==&lt;br /&gt;
&lt;br /&gt;
{{Cheatsheet_Navigation_Body}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cheatsheets]]&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193259</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193259"/>
				<updated>2015-04-13T18:35:09Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Acknowledgements */&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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* JetBrains has donated professional licenses for [https://www.jetbrains.com/idea/ IntelliJ IDEA].  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193258</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193258"/>
				<updated>2015-04-13T18:34:02Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* 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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* Intellij has donated professional licenses for IDEA.  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If contribute significantly to the project contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA by JetBrains] (Thanks JetBrains!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193233</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193233"/>
				<updated>2015-04-13T15:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* 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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* Intellij has donated professional licenses for IDEA.  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If you are developer, contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA] (Thanks IntelliJ!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193232</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193232"/>
				<updated>2015-04-13T14:59:02Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* 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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* Intellij has donated professional licenses for IDEA.  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap below&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If you are developer, contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA] (Thanks IntelliJ!)&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193231</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193231"/>
				<updated>2015-04-13T14:58:35Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* 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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* Intellij has donated professional licenses for IDEA.  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap below&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If you are developer, contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA] (Thanks IntelliJ!)&lt;br /&gt;
&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193230</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193230"/>
				<updated>2015-04-13T14:55:33Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* 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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* Intellij has donated professional licenses for IDEA.  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Getting Involved =&lt;br /&gt;
* Join the [http://https://lists.owasp.org/mailman/listinfo/passfault OWASP Passfault Mailing list]&lt;br /&gt;
* See the Roadmap below&lt;br /&gt;
* Peruse the [https://github.com/c-a-m/passfault/issues open issues]&lt;br /&gt;
* Fork the code on [https://github.com/c-a-m/passfault github].&lt;br /&gt;
* If you are developer, contact the project leader for a [https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm professional license of IntelliJ IDEA] (Thanks IntelliJ!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193227</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=193227"/>
				<updated>2015-04-13T14:41:21Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Acknowledgements */&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:Passfault-header.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%;height:90px;border:0,margin:0;overflow: hidden;&amp;quot;&amp;gt;[[File: lab_big.jpg|link=OWASP_Project_Stages#tab.3DLab_Projects]]&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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
* Intellij has donated professional licenses for IDEA.  If you are developing on OWASP Passfault contact the project leader and be sure to get a license!&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Roadmap&amp;diff=190243</id>
		<title>Projects/OWASP Passfault/Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Roadmap&amp;diff=190243"/>
				<updated>2015-02-24T21:44:04Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Release 0.9 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Release 0.8 ==&lt;br /&gt;
Goal: preparation for ESAPI&lt;br /&gt;
* More meaningful word lists&lt;br /&gt;
** Frequency lists: build lists of the most common words, names. (Done for English, Spainish)&lt;br /&gt;
** Improved configuration of finders and wordlists&lt;br /&gt;
&lt;br /&gt;
== Release 0.9 ==&lt;br /&gt;
* UI improvements&lt;br /&gt;
* Fix backlog of issues&lt;br /&gt;
* experiment with configuration of wordlists&lt;br /&gt;
&lt;br /&gt;
== Release 1.0 ==&lt;br /&gt;
Goals: Enterprise Ready&lt;br /&gt;
- UI improvements for learning better password strategies&lt;br /&gt;
- Easier to configure and run, not requiring a developer to wire things up.&lt;br /&gt;
&lt;br /&gt;
== Other Important Goals ==&lt;br /&gt;
* Javascript library generated by GWT and GWT Export.  Do you know GWT?  Please help us build a javascript version of passfault using GWT Exporter: https://code.google.com/p/gwt-exporter/&lt;br /&gt;
* OS system integration:  &lt;br /&gt;
** Linux&lt;br /&gt;
*** running passwd on linux runs passfault&lt;br /&gt;
*** apt-get install passfault&lt;br /&gt;
** Windows&lt;br /&gt;
* Document each pattern finder on the OWASP wiki.&lt;br /&gt;
* JQuery Plugin: A JQuery plugin that will let a web site use either the passfault applet or a passfault JSON Service to analyze a password.&lt;br /&gt;
* Wordlists:  We can always use better word lists.  Contact us on the mailing list if you want to help.&lt;br /&gt;
&lt;br /&gt;
For current bugs and smaller tasks see the issues list on github: https://github.com/c-a-m/passfault/issues?state=open&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=190242</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=190242"/>
				<updated>2015-02-24T21:36:31Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Ohloh */&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:Passfault-header.png|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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
https://www.ohloh.net/p/passfault&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=190241</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=190241"/>
				<updated>2015-02-24T21:36:20Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Related Projects */&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:Passfault-header.png|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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
[[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
*https://www.ohloh.net/p/passfault&lt;br /&gt;
&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=190240</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=190240"/>
				<updated>2015-02-24T21:35:39Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Classifications */&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:Passfault-header.png|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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
*https://www.ohloh.net/p/passfault&lt;br /&gt;
&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=190239</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=190239"/>
				<updated>2015-02-24T21:34:32Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Classifications */&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:Passfault-header.png|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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
*https://www.ohloh.net/p/passfault&lt;br /&gt;
&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:Owasp-labs-trans-85.png|link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Lab_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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=190238</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=190238"/>
				<updated>2015-02-24T21:28:17Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: Cleaned up links&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:Passfault-header.png|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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
''Your Passwords don't Suck, its your Policies'' &lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 ZDNet]]&lt;br /&gt;
&lt;br /&gt;
''Redefining Password Strength and Creation''&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
''How long would it take to crack your password''&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
*https://www.ohloh.net/p/passfault&lt;br /&gt;
&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:Owasp-incubator-trans-85.png|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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190208</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190208"/>
				<updated>2015-02-24T16:32:51Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Passfault for Javascript via GWT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&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;
'''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;
=== Web Sandbox ===&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;
=== Source Code testing environment - Defensive Challenges ===&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. 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;
=== Student performance analytics ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a better way to measure the student's performance and how it varies depending on the problem. You will write a plugin (or make changes to the core depending on your implementation proposal) to gather all sorts of performance data and present them in a meaningfull way.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A page to view performance metrics of differenct students.&lt;br /&gt;
( Hackalytics )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML, javascript. Some understanding of analytics.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New Template ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a cool new template since the old one is getting pretty old.&lt;br /&gt;
You can do it  using the latest frontend bells and whistles (like angular,bootstrap or the tools of your choice).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A new template.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Gamification ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gamification is a feature widely used in many learning platforms out there and it would be nice if we could have it too.&lt;br /&gt;
You will need to design and implement the awards, badges and whatever other feature you have in mind. You will also implement the front and backend changes necessary to present the results.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Gamification of the platform. ( Hackademicification )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&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;
Hackademic is it's community, we always welcome new ideas and cool features. Come over to the irc channel or mailing list and propose something.&lt;br /&gt;
We'd be happy to help you get it done.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Features we didn't know we needed. ;-)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in whatever tools and languages you plan on using.&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 PureCaptcha===&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;
==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;
==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;
=== 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;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;
=== Advanced Plug-able Report Module ===&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;
== OWASP Testing Guide ==&lt;br /&gt;
&lt;br /&gt;
=== OTG Web Testing Tool Integration ===&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;
=== Enterprise Integrations - Reporting ===&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;
=== Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &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 proposed are:  &lt;br /&gt;
* Kafka&lt;br /&gt;
* RabbitMQ&lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&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. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating 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. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &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 basic 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;
== OWASP Passfault ==&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Linux ===&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;br /&gt;
&lt;br /&gt;
=== Passfault for Javascript via GWT ===&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 OWASP Passfault available as a javascript library.  The javascript library will be generated by GWT and made consumable by GWT Exporter.  The really cool result of this project will be that passwords can be analyzed client-side, and it will be easy for any web-page to use it.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* GWT compiled Javascript derived from the OWASP Passfault core code&lt;br /&gt;
* javascript accessible APIs exported by GWT Exporter&lt;br /&gt;
* javascript bootstrap code to load wordlists&lt;br /&gt;
* scripted build with the excellent Gradle build tool&lt;br /&gt;
* (Stretch goal) Wrap everything up in a JQuery Plugin&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript&lt;br /&gt;
* Java&lt;br /&gt;
* (Nice to know) Gradle&lt;br /&gt;
* (Nice to know) JQuery&lt;br /&gt;
* (Nice to know) GWT&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' [[User:Cam_Morris|Cam Morris]] - OWASP Passfault Project Leader (Development)&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190161</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190161"/>
				<updated>2015-02-23T22:23:18Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Passfault for Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&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;
'''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;
=== Web Sandbox ===&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;
=== Source Code testing environment - Defensive Challenges ===&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. 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;
=== Student performance analytics ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a better way to measure the student's performance and how it varies depending on the problem. You will write a plugin (or make changes to the core depending on your implementation proposal) to gather all sorts of performance data and present them in a meaningfull way.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A page to view performance metrics of differenct students.&lt;br /&gt;
( Hackalytics )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML, javascript. Some understanding of analytics.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New Template ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a cool new template since the old one is getting pretty old.&lt;br /&gt;
You can do it  using the latest frontend bells and whistles (like angular,bootstrap or the tools of your choice).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A new template.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Gamification ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gamification is a feature widely used in many learning platforms out there and it would be nice if we could have it too.&lt;br /&gt;
You will need to design and implement the awards, badges and whatever other feature you have in mind. You will also implement the front and backend changes necessary to present the results.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Gamification of the platform. ( Hackademicification )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&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;
Hackademic is it's community, we always welcome new ideas and cool features. Come over to the irc channel or mailing list and propose something.&lt;br /&gt;
We'd be happy to help you get it done.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Features we didn't know we needed. ;-)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in whatever tools and languages you plan on using.&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 PureCaptcha===&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;
==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;
==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;
=== 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;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;
=== Advanced Plug-able Report Module ===&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;
== OWASP Testing Guide ==&lt;br /&gt;
&lt;br /&gt;
=== OTG Web Testing Tool Integration ===&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;
=== Enterprise Integrations - Reporting ===&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;
=== Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &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 proposed are:  &lt;br /&gt;
* Kafka&lt;br /&gt;
* RabbitMQ&lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&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. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating 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. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &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 basic 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;
== OWASP Passfault ==&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Linux ===&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;br /&gt;
&lt;br /&gt;
=== Passfault for Javascript via GWT ===&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 OWASP Passfault available as a javascript library.  The javascript library will be generated by GWT and made consumable by GWT Exporter.  The really cool result of this project will be that passwords can be analyzed client-side, and it will be easy for any web-page to use it.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* GWT compiled Javascript derived from the OWASP Passfault core code&lt;br /&gt;
* javascript accessible APIs exported by GWT Exporter&lt;br /&gt;
* javascript bootloading code to load wordlists&lt;br /&gt;
* scripted build with the excellent Gradle build tool&lt;br /&gt;
* (Stretch goal) Wrap everything up in a JQuery Plugin&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript&lt;br /&gt;
* Java&lt;br /&gt;
* (Nice to know) Gradle&lt;br /&gt;
* (Nice to know) JQuery&lt;br /&gt;
* (Nice to know) GWT&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' [[User:Cam_Morris|Cam Morris]] - OWASP Passfault Project Leader (Development)&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190149</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190149"/>
				<updated>2015-02-23T19:08:24Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Passfault for Javascript via GWT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&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;
'''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;
=== Web Sandbox ===&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;
=== Source Code testing environment - Defensive Challenges ===&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. 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;
=== Student performance analytics ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a better way to measure the student's performance and how it varies depending on the problem. You will write a plugin (or make changes to the core depending on your implementation proposal) to gather all sorts of performance data and present them in a meaningfull way.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A page to view performance metrics of differenct students.&lt;br /&gt;
( Hackalytics )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML, javascript. Some understanding of analytics.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New Template ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a cool new template since the old one is getting pretty old.&lt;br /&gt;
You can do it  using the latest frontend bells and whistles (like angular,bootstrap or the tools of your choice).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A new template.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Gamification ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gamification is a feature widely used in many learning platforms out there and it would be nice if we could have it too.&lt;br /&gt;
You will need to design and implement the awards, badges and whatever other feature you have in mind. You will also implement the front and backend changes necessary to present the results.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Gamification of the platform. ( Hackademicification )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&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;
Hackademic is it's community, we always welcome new ideas and cool features. Come over to the irc channel or mailing list and propose something.&lt;br /&gt;
We'd be happy to help you get it done.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Features we didn't know we needed. ;-)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in whatever tools and languages you plan on using.&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 PureCaptcha===&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;
==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;
==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;
=== 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;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;
=== Advanced Plug-able Report Module ===&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;
== OWASP Testing Guide ==&lt;br /&gt;
&lt;br /&gt;
=== OTG Web Testing Tool Integration ===&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;
=== Enterprise Integrations - Reporting ===&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;
=== Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &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 proposed are:  &lt;br /&gt;
* Kafka&lt;br /&gt;
* RabbitMQ&lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&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. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating 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. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &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 basic 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;
== OWASP Passfault ==&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Linux ===&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:''' [[User:Cam_Morris|Cam Morris]] - OWASP Passfault Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Javascript via GWT ===&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 OWASP Passfault available as a javascript library.  The javascript library will be generated by GWT and made consumable by GWT Exporter.  The really cool result of this project will be that passwords can be analyzed client-side, and it will be easy for any web-page to use it.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* GWT compiled Javascript derived from the OWASP Passfault core code&lt;br /&gt;
* javascript accessible APIs exported by GWT Exporter&lt;br /&gt;
* javascript bootloading code to load wordlists&lt;br /&gt;
* scripted build with the excellent Gradle build tool&lt;br /&gt;
* (Stretch goal) Wrap everything up in a JQuery Plugin&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript&lt;br /&gt;
* Java&lt;br /&gt;
* (Nice to know) Gradle&lt;br /&gt;
* (Nice to know) JQuery&lt;br /&gt;
* (Nice to know) GWT&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' [[User:Cam_Morris|Cam Morris]] - OWASP Passfault Project Leader (Development)&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190148</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190148"/>
				<updated>2015-02-23T19:00:47Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Passfault for Javascript via GWT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&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;
'''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;
=== Web Sandbox ===&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;
=== Source Code testing environment - Defensive Challenges ===&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. 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;
=== Student performance analytics ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a better way to measure the student's performance and how it varies depending on the problem. You will write a plugin (or make changes to the core depending on your implementation proposal) to gather all sorts of performance data and present them in a meaningfull way.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A page to view performance metrics of differenct students.&lt;br /&gt;
( Hackalytics )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML, javascript. Some understanding of analytics.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New Template ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a cool new template since the old one is getting pretty old.&lt;br /&gt;
You can do it  using the latest frontend bells and whistles (like angular,bootstrap or the tools of your choice).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A new template.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Gamification ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gamification is a feature widely used in many learning platforms out there and it would be nice if we could have it too.&lt;br /&gt;
You will need to design and implement the awards, badges and whatever other feature you have in mind. You will also implement the front and backend changes necessary to present the results.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Gamification of the platform. ( Hackademicification )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&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;
Hackademic is it's community, we always welcome new ideas and cool features. Come over to the irc channel or mailing list and propose something.&lt;br /&gt;
We'd be happy to help you get it done.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Features we didn't know we needed. ;-)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in whatever tools and languages you plan on using.&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 PureCaptcha===&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;
==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;
==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;
=== 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;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;
=== Advanced Plug-able Report Module ===&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;
== OWASP Testing Guide ==&lt;br /&gt;
&lt;br /&gt;
=== OTG Web Testing Tool Integration ===&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;
=== Enterprise Integrations - Reporting ===&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;
=== Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &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 proposed are:  &lt;br /&gt;
* Kafka&lt;br /&gt;
* RabbitMQ&lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&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. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating 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. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &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 basic 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;
== OWASP Passfault ==&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Linux ===&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:''' [[User:Cam_Morris|Cam Morris]] - OWASP Passfault Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Javascript via GWT ===&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 OWASP Passfault available as a javascript library.  The javascript library will be generated by GWT and made consumable by GWT Exporter.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* GWT compiled Javascript derived from the OWASP Passfault core code&lt;br /&gt;
* javascript accessible APIs exported by GWT Exporter&lt;br /&gt;
* javascript bootloading code to load wordlists&lt;br /&gt;
* scripted build with the excellent Gradle build tool&lt;br /&gt;
* (Stretch goal) Wrap everything up in a JQuery Plugin&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript&lt;br /&gt;
* Java&lt;br /&gt;
* (Nice to know) Gradle&lt;br /&gt;
* (Nice to know) JQuery&lt;br /&gt;
* (Nice to know) GWT&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' [[User:Cam_Morris|Cam Morris]] - OWASP Passfault Project Leader (Development)&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190147</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190147"/>
				<updated>2015-02-23T18:59:19Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Passfault for Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&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;
'''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;
=== Web Sandbox ===&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;
=== Source Code testing environment - Defensive Challenges ===&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. 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;
=== Student performance analytics ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a better way to measure the student's performance and how it varies depending on the problem. You will write a plugin (or make changes to the core depending on your implementation proposal) to gather all sorts of performance data and present them in a meaningfull way.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A page to view performance metrics of differenct students.&lt;br /&gt;
( Hackalytics )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML, javascript. Some understanding of analytics.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New Template ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a cool new template since the old one is getting pretty old.&lt;br /&gt;
You can do it  using the latest frontend bells and whistles (like angular,bootstrap or the tools of your choice).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A new template.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Gamification ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gamification is a feature widely used in many learning platforms out there and it would be nice if we could have it too.&lt;br /&gt;
You will need to design and implement the awards, badges and whatever other feature you have in mind. You will also implement the front and backend changes necessary to present the results.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Gamification of the platform. ( Hackademicification )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&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;
Hackademic is it's community, we always welcome new ideas and cool features. Come over to the irc channel or mailing list and propose something.&lt;br /&gt;
We'd be happy to help you get it done.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Features we didn't know we needed. ;-)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in whatever tools and languages you plan on using.&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 PureCaptcha===&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;
==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;
==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;
=== 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;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;
=== Advanced Plug-able Report Module ===&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;
== OWASP Testing Guide ==&lt;br /&gt;
&lt;br /&gt;
=== OTG Web Testing Tool Integration ===&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;
=== Enterprise Integrations - Reporting ===&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;
=== Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &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 proposed are:  &lt;br /&gt;
* Kafka&lt;br /&gt;
* RabbitMQ&lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&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. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating 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. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &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 basic 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;
== OWASP Passfault ==&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Linux ===&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:''' [[User:Cam_Morris|Cam Morris]] - OWASP Passfault Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Javascript via GWT ===&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 OWASP Passfault available as a javascript library.  The javascript library will be generated by GWT and made consumable by GWT Exporter.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* GWT compiled Javascript derived from the OWASP Passfault code base&lt;br /&gt;
* javascript accessible APIs exported by GWT Exporter&lt;br /&gt;
* javascript bootloading code to load wordlists&lt;br /&gt;
* scripted build with the excellent Gradle build tool&lt;br /&gt;
* (Stretch goal) Wrap everything up in a JQuery Plugin&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript&lt;br /&gt;
* Java&lt;br /&gt;
* (Nice to know) Gradle&lt;br /&gt;
* (Nice to know) JQuery&lt;br /&gt;
* (Nice to know) GWT&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Cam Morris - OWASP Passfault Project Leader (Development)&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190146</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190146"/>
				<updated>2015-02-23T18:24:18Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Passfault for Javascript via GWT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&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;
'''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;
=== Web Sandbox ===&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;
=== Source Code testing environment - Defensive Challenges ===&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. 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;
=== Student performance analytics ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a better way to measure the student's performance and how it varies depending on the problem. You will write a plugin (or make changes to the core depending on your implementation proposal) to gather all sorts of performance data and present them in a meaningfull way.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A page to view performance metrics of differenct students.&lt;br /&gt;
( Hackalytics )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML, javascript. Some understanding of analytics.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New Template ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a cool new template since the old one is getting pretty old.&lt;br /&gt;
You can do it  using the latest frontend bells and whistles (like angular,bootstrap or the tools of your choice).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A new template.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Gamification ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gamification is a feature widely used in many learning platforms out there and it would be nice if we could have it too.&lt;br /&gt;
You will need to design and implement the awards, badges and whatever other feature you have in mind. You will also implement the front and backend changes necessary to present the results.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Gamification of the platform. ( Hackademicification )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&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;
Hackademic is it's community, we always welcome new ideas and cool features. Come over to the irc channel or mailing list and propose something.&lt;br /&gt;
We'd be happy to help you get it done.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Features we didn't know we needed. ;-)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in whatever tools and languages you plan on using.&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 PureCaptcha===&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;
==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;
==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;
=== 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;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;
=== Advanced Plug-able Report Module ===&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;
== OWASP Testing Guide ==&lt;br /&gt;
&lt;br /&gt;
=== OTG Web Testing Tool Integration ===&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;
=== Enterprise Integrations - Reporting ===&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;
=== Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &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 proposed are:  &lt;br /&gt;
* Kafka&lt;br /&gt;
* RabbitMQ&lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&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. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating 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. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &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 basic 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;
== OWASP Passfault ==&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Linux ===&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 OWASP Passfault available to every Linux administrator.  It would offer a replacement of 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 threshold (with reasonable defaults)&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:''' Cam Morris - OWASP Passfault Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Javascript via GWT ===&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 OWASP Passfault available as a javascript library.  The javascript library will be generated by GWT and made consumable by GWT Exporter.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* GWT compiled Javascript derived from the OWASP Passfault code base&lt;br /&gt;
* javascript accessible APIs exported by GWT Exporter&lt;br /&gt;
* javascript bootloading code to load wordlists&lt;br /&gt;
* scripted build with the excellent Gradle build tool&lt;br /&gt;
* (Stretch goal) Wrap everything up in a JQuery Plugin&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript&lt;br /&gt;
* Java&lt;br /&gt;
* (Nice to know) Gradle&lt;br /&gt;
* (Nice to know) JQuery&lt;br /&gt;
* (Nice to know) GWT&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Cam Morris - OWASP Passfault Project Leader (Development)&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190145</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190145"/>
				<updated>2015-02-23T18:23:38Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Passfault for Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&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;
'''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;
=== Web Sandbox ===&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;
=== Source Code testing environment - Defensive Challenges ===&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. 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;
=== Student performance analytics ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a better way to measure the student's performance and how it varies depending on the problem. You will write a plugin (or make changes to the core depending on your implementation proposal) to gather all sorts of performance data and present them in a meaningfull way.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A page to view performance metrics of differenct students.&lt;br /&gt;
( Hackalytics )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML, javascript. Some understanding of analytics.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New Template ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a cool new template since the old one is getting pretty old.&lt;br /&gt;
You can do it  using the latest frontend bells and whistles (like angular,bootstrap or the tools of your choice).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A new template.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Gamification ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gamification is a feature widely used in many learning platforms out there and it would be nice if we could have it too.&lt;br /&gt;
You will need to design and implement the awards, badges and whatever other feature you have in mind. You will also implement the front and backend changes necessary to present the results.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Gamification of the platform. ( Hackademicification )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&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;
Hackademic is it's community, we always welcome new ideas and cool features. Come over to the irc channel or mailing list and propose something.&lt;br /&gt;
We'd be happy to help you get it done.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Features we didn't know we needed. ;-)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in whatever tools and languages you plan on using.&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 PureCaptcha===&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;
==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;
==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;
=== 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;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;
=== Advanced Plug-able Report Module ===&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;
== OWASP Testing Guide ==&lt;br /&gt;
&lt;br /&gt;
=== OTG Web Testing Tool Integration ===&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;
=== Enterprise Integrations - Reporting ===&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;
=== Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &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 proposed are:  &lt;br /&gt;
* Kafka&lt;br /&gt;
* RabbitMQ&lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&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. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating 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. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &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 basic 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;
== OWASP Passfault ==&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Linux ===&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 OWASP Passfault available to every Linux administrator.  It would offer a replacement of 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 threshold (with reasonable defaults)&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:''' Cam Morris - OWASP Passfault Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Javascript via GWT ===&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 OWASP Passfault available as a javascript library.  The javascript library will be generated by GWT and made consumable by GWT Exporter.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* GWT compiled Javascript derived from the OWASP Passfault code base&lt;br /&gt;
* javascript accessible APIs exported by GWT Exporter&lt;br /&gt;
* javascript bootloading code to load wordlists&lt;br /&gt;
* scripted build with the excellent Gradle build tool&lt;br /&gt;
* (Stretch goal) Wrap everything up in a JQuery Plugin&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript&lt;br /&gt;
* Java&lt;br /&gt;
* (Nice to know) Gradle&lt;br /&gt;
* (Nice to know) JQuery&lt;br /&gt;
* (Nice to know) GWT&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Cam Morris - OWASP Passfault Project Leader (Development)&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190144</id>
		<title>GSoC2015 Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=GSoC2015_Ideas&amp;diff=190144"/>
				<updated>2015-02-23T18:22:10Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: Added Passfault projects&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=OWASP Project Requests=&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;
'''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;
=== Web Sandbox ===&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;
=== Source Code testing environment - Defensive Challenges ===&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. 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;
=== Student performance analytics ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a better way to measure the student's performance and how it varies depending on the problem. You will write a plugin (or make changes to the core depending on your implementation proposal) to gather all sorts of performance data and present them in a meaningfull way.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A page to view performance metrics of differenct students.&lt;br /&gt;
( Hackalytics )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in PHP, HTML, javascript. Some understanding of analytics.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== New Template ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
We need a cool new template since the old one is getting pretty old.&lt;br /&gt;
You can do it  using the latest frontend bells and whistles (like angular,bootstrap or the tools of your choice).&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A new template.&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Konstantinos Papapanagiotou, Spyros Gasteratos - Hackademic Challenges Project Leaders&lt;br /&gt;
&lt;br /&gt;
=== Gamification ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
Gamification is a feature widely used in many learning platforms out there and it would be nice if we could have it too.&lt;br /&gt;
You will need to design and implement the awards, badges and whatever other feature you have in mind. You will also implement the front and backend changes necessary to present the results.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Gamification of the platform. ( Hackademicification )&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in Css, HTML, javascript and/or the tools you plan on using.&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;
Hackademic is it's community, we always welcome new ideas and cool features. Come over to the irc channel or mailing list and propose something.&lt;br /&gt;
We'd be happy to help you get it done.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
Features we didn't know we needed. ;-)&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
&lt;br /&gt;
Comfortable in whatever tools and languages you plan on using.&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 PureCaptcha===&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;
==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;
==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;
=== 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;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;
=== Advanced Plug-able Report Module ===&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;
== OWASP Testing Guide ==&lt;br /&gt;
&lt;br /&gt;
=== OTG Web Testing Tool Integration ===&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;
=== Enterprise Integrations - Reporting ===&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;
=== Enterprise Integrations - Transport ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor currently supports a number of &amp;quot;execution modes&amp;quot;, which are simply a reference to the transport protocol (REST, SOAP, thrift). There are a number of protocols that are popular in enterprises that we don't currently support, but could. This would simplify integration for many organizations who already use a set of approved communication protocols. This project would be primarily integration work and testing with a number of well-known systems integration / transport protocols and mechanisms. &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 proposed are:  &lt;br /&gt;
* Kafka&lt;br /&gt;
* RabbitMQ&lt;br /&gt;
* ActiveMQ&lt;br /&gt;
* Avro&lt;br /&gt;
* Protobuf&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. Some familiarity with distributed systems in general and message brokers in particular would be helpful.&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' John Melton - OWASP AppSensor Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Dashboard UI ===&lt;br /&gt;
&lt;br /&gt;
'''Brief Explanation:'''&lt;br /&gt;
&lt;br /&gt;
AppSensor provides a solid base of functionality to applications, but does not currently do a good job of presenting the resulting data. We are attacking that issue on 2 fronts. We plan to create a custom UI (this project) as well as various integrations to standard tools/formats for reporting to existing display systems. This project will involve creating 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. We don't have an existing product, so you will have lots of responsibility for the design and implementation, as well as significant input to the decision around the technology stack.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
&lt;br /&gt;
A modern, usable UI will be built that will have at least the following features (though there are many more features to build) : &lt;br /&gt;
* Basic Dashboard UI (the UI for the OPS wall)&lt;br /&gt;
* Search&lt;br /&gt;
* Policy Management (edit server configuration)&lt;br /&gt;
&lt;br /&gt;
Source code and associated tests for the UI will be created, along with the associated end user documentation for how to setup and configure the system. &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 basic 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;
== OWASP Passfault ==&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Linux ===&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 OWASP Passfault available to every Linux administrator.  It would offer a replacement of 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 threshold (with reasonable defaults)&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:''' Cam Morris - OWASP Passfault Project Leader (Development)&lt;br /&gt;
&lt;br /&gt;
=== Passfault for Javascript via GWT ===&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 OWASP Passfault available as a javascript library.  The javascript library will be generated by GWT and made consumable by GWT Exporter.&lt;br /&gt;
&lt;br /&gt;
'''Expected Results:'''&lt;br /&gt;
* GWT compiled Javascript derived from the OWASP Passfault code base&lt;br /&gt;
* javascript accessible APIs exported by GWT Exporter&lt;br /&gt;
* javascript bootloading code to load wordlists&lt;br /&gt;
* scripted build with the excellent Gradle build tool&lt;br /&gt;
* (Stretch goal) Wrap everything up in a JQuery Plugin&lt;br /&gt;
&lt;br /&gt;
'''Knowledge Prerequisites:'''&lt;br /&gt;
* Javascript&lt;br /&gt;
* Java&lt;br /&gt;
* (Nice to know) Gradle&lt;br /&gt;
* (Nice to know) JQuery&lt;br /&gt;
* (Nice to know) GWT&lt;br /&gt;
&lt;br /&gt;
'''Mentors:''' Cam Morris - OWASP Passfault Project Leader (Development)&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Cam_Morris&amp;diff=189938</id>
		<title>User:Cam Morris</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Cam_Morris&amp;diff=189938"/>
				<updated>2015-02-18T17:49:55Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project leader for [[OWASP Passfault]], Software Security Specialist, and Java Programmer&lt;br /&gt;
&lt;br /&gt;
G+  https://plus.google.com/+CamMorris/posts&amp;lt;br&amp;gt;&lt;br /&gt;
LinkedIn http://www.linkedin.com/in/cammer/&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Releases/Last_Reviewed_Release&amp;diff=189934</id>
		<title>Projects/OWASP Passfault/Releases/Last Reviewed Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Releases/Last_Reviewed_Release&amp;diff=189934"/>
				<updated>2015-02-18T17:34:51Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: Created page with &amp;quot;https://github.com/c-a-m/passfault/releases/tag/v0.7&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://github.com/c-a-m/passfault/releases/tag/v0.7&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Releases/Current&amp;diff=189933</id>
		<title>Projects/OWASP Passfault/Releases/Current</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Releases/Current&amp;diff=189933"/>
				<updated>2015-02-18T17:34:18Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: Created page with &amp;quot;https://github.com/c-a-m/passfault/releases&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://github.com/c-a-m/passfault/releases&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault&amp;diff=189932</id>
		<title>Projects/OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault&amp;diff=189932"/>
				<updated>2015-02-18T17:33:37Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Project About&lt;br /&gt;
| project_name =OWASP Passfault&lt;br /&gt;
| project_home_page =OWASP_Passfault&lt;br /&gt;
| project_description =Passfault evaluates password strength and enforces password policy.  It identifies patterns in a password then enumerates how many passwords fit within the identified patterns.  This approach is more accurate and more intuitive.  It allows administrators to know and control password risk, instead of hoping that users will create strong passwords.&lt;br /&gt;
| project_license = http://www.apache.org/licenses/LICENSE-2.0.txt Apache Software License v2 (ASLv2)&lt;br /&gt;
| leader_name1 =Cam Morris&lt;br /&gt;
| leader_email1 =cam.morris@owasp.org&lt;br /&gt;
| presentation_link = https://www.youtube.com/watch?v=LPTUpGGgKLk&lt;br /&gt;
| mailing_list_name = https://lists.owasp.org/mailman/listinfo/passfault&lt;br /&gt;
| project_road_map = https://www.owasp.org/index.php/Projects/OWASP_Passfault/Roadmap&lt;br /&gt;
| release_1 = https://github.com/c-a-m/passfault/releases/&lt;br /&gt;
| release_2 = https://github.com/c-a-m/passfault/releases/tag/v0.7&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Roadmap&amp;diff=189930</id>
		<title>Projects/OWASP Passfault/Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Roadmap&amp;diff=189930"/>
				<updated>2015-02-18T17:27:11Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Release 0.8 ==&lt;br /&gt;
Goal: preparation for ESAPI&lt;br /&gt;
* More meaningful word lists&lt;br /&gt;
** Frequency lists: build lists of the most common words, names. (Done for English, Spainish)&lt;br /&gt;
** Improved configuration of finders and wordlists&lt;br /&gt;
&lt;br /&gt;
== Release 0.9 ==&lt;br /&gt;
Goal: UI improvment&lt;br /&gt;
* experiment with configuration of wordlists&lt;br /&gt;
&lt;br /&gt;
== Release 1.0 ==&lt;br /&gt;
Goals: Enterprise Ready&lt;br /&gt;
- UI improvements for learning better password strategies&lt;br /&gt;
- Easier to configure and run, not requiring a developer to wire things up.&lt;br /&gt;
&lt;br /&gt;
== Other Important Goals ==&lt;br /&gt;
* Javascript library generated by GWT and GWT Export.  Do you know GWT?  Please help us build a javascript version of passfault using GWT Exporter: https://code.google.com/p/gwt-exporter/&lt;br /&gt;
* OS system integration:  &lt;br /&gt;
** Linux&lt;br /&gt;
*** running passwd on linux runs passfault&lt;br /&gt;
*** apt-get install passfault&lt;br /&gt;
** Windows&lt;br /&gt;
* Document each pattern finder on the OWASP wiki.&lt;br /&gt;
* JQuery Plugin: A JQuery plugin that will let a web site use either the passfault applet or a passfault JSON Service to analyze a password.&lt;br /&gt;
* Wordlists:  We can always use better word lists.  Contact us on the mailing list if you want to help.&lt;br /&gt;
&lt;br /&gt;
For current bugs and smaller tasks see the issues list on github: https://github.com/c-a-m/passfault/issues?state=open&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Roadmap&amp;diff=189928</id>
		<title>Projects/OWASP Passfault/Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Roadmap&amp;diff=189928"/>
				<updated>2015-02-18T17:23:38Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Release 0.8 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Release 0.8 ==&lt;br /&gt;
Goal: preparation for ESAPI&lt;br /&gt;
* More meaningful word lists&lt;br /&gt;
** Frequency lists: build lists of the most common words, names. (Done for English, Spainish)&lt;br /&gt;
** Improved configuration of finders and wordlists&lt;br /&gt;
&lt;br /&gt;
== Release 1.0 ==&lt;br /&gt;
Goals: Enterprise Ready&lt;br /&gt;
- UI improvements for learning better password strategies&lt;br /&gt;
- Easier to configure and run, not requiring a developer to wire things up.&lt;br /&gt;
&lt;br /&gt;
== Other Important Goals ==&lt;br /&gt;
* Javascript library generated by GWT and GWT Export.  Do you know GWT?  Please help us build a javascript version of passfault using GWT Exporter: https://code.google.com/p/gwt-exporter/&lt;br /&gt;
* Document each pattern finder on the OWASP wiki.&lt;br /&gt;
* JQuery Plugin: A JQuery plugin that will let a web site use either the passfault applet or a passfault JSON Service to analyze a password.&lt;br /&gt;
* Wordlists:  We can always use better word lists.  Contact us on the mailing list if you want to help.&lt;br /&gt;
&lt;br /&gt;
For current bugs and smaller tasks see the issues list on github: https://github.com/c-a-m/passfault/issues?state=open&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Roadmap&amp;diff=189926</id>
		<title>Projects/OWASP Passfault/Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Roadmap&amp;diff=189926"/>
				<updated>2015-02-18T17:21:45Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Release 1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Release 0.8 ==&lt;br /&gt;
Goal: preparation for ESAPI&lt;br /&gt;
* More meaningful word lists&lt;br /&gt;
** Frequency lists: build lists of the most common words, names&lt;br /&gt;
* ESAPI Authenticator Decorator&lt;br /&gt;
** Implement an ESAPI Authenticator that will enhance an existing authenticator with passfault implementing the &amp;quot;verifyPasswordStrength&amp;quot; method.&lt;br /&gt;
** A volunteer force from university of Florida has built this.  All that remains is to get it into ESAPI.&lt;br /&gt;
 &lt;br /&gt;
== Release 1.0 ==&lt;br /&gt;
Goals: Enterprise Ready&lt;br /&gt;
- UI improvements for learning better password strategies&lt;br /&gt;
- Easier to configure and run, not requiring a developer to wire things up.&lt;br /&gt;
&lt;br /&gt;
== Other Important Goals ==&lt;br /&gt;
* Javascript library generated by GWT and GWT Export.  Do you know GWT?  Please help us build a javascript version of passfault using GWT Exporter: https://code.google.com/p/gwt-exporter/&lt;br /&gt;
* Document each pattern finder on the OWASP wiki.&lt;br /&gt;
* JQuery Plugin: A JQuery plugin that will let a web site use either the passfault applet or a passfault JSON Service to analyze a password.&lt;br /&gt;
* Wordlists:  We can always use better word lists.  Contact us on the mailing list if you want to help.&lt;br /&gt;
&lt;br /&gt;
For current bugs and smaller tasks see the issues list on github: https://github.com/c-a-m/passfault/issues?state=open&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=189915</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=189915"/>
				<updated>2015-02-18T17:02:53Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Acknowledgements */&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:Passfault-header.png|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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 &amp;quot;Your Passwords don't Suck, its your Policies&amp;quot; - ZDNet]]&lt;br /&gt;
&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength &amp;quot;Redefining Password Strength and Creation&amp;quot; - MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ &amp;quot;How long would it take to crack your password&amp;quot; - Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
*https://www.ohloh.net/p/passfault&lt;br /&gt;
&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:Owasp-incubator-trans-85.png|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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* New Jersey Institute of Technology students contributed to release 0.8 (Highlander):&lt;br /&gt;
** Michael Glassman&lt;br /&gt;
** Georgina Matias&lt;br /&gt;
** Scott Sands &lt;br /&gt;
** Brandon Lyew &lt;br /&gt;
** Kevin Sealy &lt;br /&gt;
** Llina Ljoljevski&lt;br /&gt;
* University of Florida Students contibuted to release 0.7 (Gator):&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault&lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=189906</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=189906"/>
				<updated>2015-02-18T16:38:00Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* 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:Passfault-header.png|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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 &amp;quot;Your Passwords don't Suck, its your Policies&amp;quot; - ZDNet]]&lt;br /&gt;
&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength &amp;quot;Redefining Password Strength and Creation&amp;quot; - MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ &amp;quot;How long would it take to crack your password&amp;quot; - Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
*https://www.ohloh.net/p/passfault&lt;br /&gt;
&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:Owasp-incubator-trans-85.png|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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
* GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
* passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
* the memory is cleared as soon as analysis is complete.&lt;br /&gt;
* HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* University of Florida Students:&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault  &lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=188994</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=188994"/>
				<updated>2015-02-03T23:58:20Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: /* Articles */&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:Passfault-header.png|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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 &amp;quot;Your Passwords don't Suck, its your Policies&amp;quot; - ZDNet]]&lt;br /&gt;
&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength &amp;quot;Redefining Password Strength and Creation&amp;quot; - MidsizeInsider, IBM]]&lt;br /&gt;
&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ &amp;quot;How long would it take to crack your password&amp;quot; - Naked Security, Sophos]]&lt;br /&gt;
&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/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
*https://www.ohloh.net/p/passfault&lt;br /&gt;
&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:Owasp-incubator-trans-85.png|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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
** GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
** passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
** the memory is cleared as soon as analysis is complete.&lt;br /&gt;
** HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* University of Florida Students:&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault  &lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=178590</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=178590"/>
				<updated>2014-07-11T23:42:31Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: &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:Passfault-header.png|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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=https://www.youtube.com/watch?v=LPTUpGGgKLk]]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 &amp;quot;Your Passwords don't Suck, its your Policies&amp;quot; - ZDNet]]&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength &amp;quot;Redefining Password Strength and Creation&amp;quot; - MidsizeInsider, IBM]]&lt;br /&gt;
[[https://turnlevel.com/2012/05/09/for-better-password-policies-owasp-passfault/ &amp;quot;For Better Password Policies&amp;quot; - Turnlevel, Partnet]]&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ &amp;quot;How long would it take to crack your password&amp;quot; - Naked Security, Sophos]]&lt;br /&gt;
&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;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
[[https://github.com/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ohloh ==&lt;br /&gt;
&lt;br /&gt;
*https://www.ohloh.net/p/passfault&lt;br /&gt;
&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:Owasp-incubator-trans-85.png|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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
** GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
** passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
** the memory is cleared as soon as analysis is complete.&lt;br /&gt;
** HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* University of Florida Students:&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault  &lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Roadmap&amp;diff=170058</id>
		<title>Projects/OWASP Passfault/Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Projects/OWASP_Passfault/Roadmap&amp;diff=170058"/>
				<updated>2014-03-13T21:57:58Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Release 0.8 ==&lt;br /&gt;
Goal: preparation for ESAPI&lt;br /&gt;
* More meaningful word lists&lt;br /&gt;
** Frequency lists: build lists of the most common words, names&lt;br /&gt;
* ESAPI Authenticator Decorator&lt;br /&gt;
** Implement an ESAPI Authenticator that will enhance an existing authenticator with passfault implementing the &amp;quot;verifyPasswordStrength&amp;quot; method.&lt;br /&gt;
** A volunteer force from university of Florida has built this.  All that remains is to get it into ESAPI.&lt;br /&gt;
 &lt;br /&gt;
== Release 1.0 ==&lt;br /&gt;
Goal: Enterprise Ready, working with ESAPI&lt;br /&gt;
&lt;br /&gt;
== Other Important Goals ==&lt;br /&gt;
* Javascript library generated by GWT and GWT Export.  Do you know GWT?  Please help us build a javascript version of passfault using GWT Exporter: https://code.google.com/p/gwt-exporter/&lt;br /&gt;
* Document each pattern finder on the OWASP wiki.&lt;br /&gt;
* JQuery Plugin: A JQuery plugin that will let a web site use either the passfault applet or a passfault JSON Service to analyze a password.&lt;br /&gt;
* Wordlists:  We can always use better word lists.  Contact us on the mailing list if you want to help.&lt;br /&gt;
&lt;br /&gt;
For current bugs and smaller tasks see the issues list on github: https://github.com/c-a-m/passfault/issues?state=open&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Cam_Morris&amp;diff=170003</id>
		<title>User:Cam Morris</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Cam_Morris&amp;diff=170003"/>
				<updated>2014-03-12T21:46:15Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project leader for OWASP Passfault, Software Security Specialist, and Java Programmer&lt;br /&gt;
&lt;br /&gt;
G+  https://plus.google.com/+CamMorris/posts&amp;lt;br&amp;gt;&lt;br /&gt;
LinkedIn http://www.linkedin.com/in/cammer/&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Cam_Morris&amp;diff=170002</id>
		<title>User:Cam Morris</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Cam_Morris&amp;diff=170002"/>
				<updated>2014-03-12T21:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project leader for OWASP Passfault&lt;br /&gt;
 Software Security Specialist and Java Programmer&lt;br /&gt;
&lt;br /&gt;
G+  https://plus.google.com/+CamMorris/posts&amp;lt;br&amp;gt;&lt;br /&gt;
LinkedIn http://www.linkedin.com/in/cammer/&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=File:Passfault-header.png&amp;diff=167312</id>
		<title>File:Passfault-header.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=File:Passfault-header.png&amp;diff=167312"/>
				<updated>2014-02-04T16:13:13Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: Cam Morris uploaded a new version of &amp;amp;quot;File:Passfault-header.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Header for OWASP Passfault front page&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=167297</id>
		<title>OWASP Passfault</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Passfault&amp;diff=167297"/>
				<updated>2014-02-04T15:50:07Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: changed banner image&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:Passfault-header.png|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 Passfault==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault evaluates the strength of passwords accurately enough to predict the time to crack. It makes creating passwords and password policies significantly more intuitive and simple.  Passwords don't have to be annoying!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
OWASP Passfault is more ...&lt;br /&gt;
; Accurate : Measures the size of password patterns and identifies more weak passwords, yet allows strong passwords that don't match traditional password policies&lt;br /&gt;
; Informative : Provides detailed analysis of the password and sub patterns within the password, so users quickly learn how to make strong passwords without training.&lt;br /&gt;
; Simple : Presents the password strength as the &amp;quot;time to crack&amp;quot; to help communicate the risk of poor paswords, providing the incentive to create stronger passwords.&lt;br /&gt;
; Powerful : Empowers administrators to know and control the strength and risk of the organization's passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
When setting a password, OWASP Passfault examines the password, looking for common patterns. It than measures the ''size of the patterns and combinations of patterns''. The end result is a more academic and accurate measurement of password strength.&lt;br /&gt;
&lt;br /&gt;
When setting a password policy, OWASP Passfault simplifies configuration to one simple meaningful measurement: '''the number of passwords found in the password patterns'''.  This measurement is made more intuitive and meaningful with an estimated time to crack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
OWASP Passfault is free to use. It is licensed under the [[http://www.apache.org/licenses/LICENSE-2.0 Apache License version 2.0]] .&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;
== What is Passfault? ==&lt;br /&gt;
&lt;br /&gt;
OWASP Passfault provides:&lt;br /&gt;
&lt;br /&gt;
* Password Strength Evaluation&lt;br /&gt;
* Password Policy Replacement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Presentation ==&lt;br /&gt;
&lt;br /&gt;
Presentation given at OWASP SnowFROC 2012 in Denver:&lt;br /&gt;
[[File:Passfault-prezi-thumbnail.png|link=http://prezi.com/erdwjqhjyngm/owasp-passfault-better-password-policies/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.zdnet.com/blog/identity/your-passwords-dont-suck-its-your-policies/482 &amp;quot;Your Passwords don't Suck, its your Policies&amp;quot; - ZDNet]]&lt;br /&gt;
[[http://midsizeinsider.com/en-us/article/passfault-redefining-password-strength &amp;quot;Redefining Password Strength and Creation&amp;quot; - MidsizeInsider, IBM]]&lt;br /&gt;
[[https://turnlevel.com/2012/05/09/for-better-password-policies-owasp-passfault/ &amp;quot;For Better Password Policies&amp;quot; - Turnlevel, Partnet]]&lt;br /&gt;
[[http://nakedsecurity.sophos.com/2012/05/25/how-long-would-it-take-to-crack-your-password/ &amp;quot;How long would it take to crack your password&amp;quot; - Naked Security, Sophos]]&lt;br /&gt;
&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;
== Quick Download ==&lt;br /&gt;
&lt;br /&gt;
[[https://github.com/c-a-m/passfault/releases downloads]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Demo Page ==&lt;br /&gt;
[[https://passfault.appspot.com/password_strength.html demo site]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Project Leader ==&lt;br /&gt;
&lt;br /&gt;
[[User:Cam_Morris|Cam Morris]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Password_Storage_Cheat_Sheet]]&lt;br /&gt;
&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:Owasp-incubator-trans-85.png|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:Apache-feather-small.gif|link=http://www.apache.org/licenses/LICENSE-2.0.html]]&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=https://github.com/c-a-m/passfault]]&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=FAQs=&lt;br /&gt;
&lt;br /&gt;
==Demo Site==&lt;br /&gt;
; Does the Demo Site capture or log passwords?&lt;br /&gt;
: No, of course not&lt;br /&gt;
&lt;br /&gt;
; How can I be sure the Demo Site doesn't capture or log passwords?&lt;br /&gt;
: You can't, There is no way to verify what is uploaded to appspot (google is hosting the demo site) However, you can look at the code: https://github.com/c-a-m/passfault/blob/master/jsonService/src/main/java/org/owasp/passfault/web/PassfaultServlet.java We took the following steps to ensure the passwords don't get logged:&lt;br /&gt;
** GETs are blocked so no urls will have accidental passwords stored in the logs&lt;br /&gt;
** passwords are read directly from the input stream to prevent parsing into Java Strings&lt;br /&gt;
** the memory is cleared as soon as analysis is complete.&lt;br /&gt;
** HTTPS is required on this URL (using the appspot domain)&lt;br /&gt;
To be extra cautious, download the code and execute it locally. (See the readme) https://github.com/c-a-m/passfault/blob/master/README.txt&lt;br /&gt;
&lt;br /&gt;
= Acknowledgements =&lt;br /&gt;
==Volunteers==&lt;br /&gt;
OWASP Passfault is developed by a worldwide team of volunteers. The primary contributors to date have been:&lt;br /&gt;
&lt;br /&gt;
* Cam Morris&lt;br /&gt;
* University of Florida Students:&lt;br /&gt;
** Neeti Pathak&lt;br /&gt;
** Carlos Vasquez&lt;br /&gt;
** Chelsea Metcalf&lt;br /&gt;
** Yang Ou&lt;br /&gt;
&lt;br /&gt;
==Others==&lt;br /&gt;
* Partnet Inc. has donated paid labor on OWASP Passfault  &lt;br /&gt;
&lt;br /&gt;
= Road Map and Getting Involved =&lt;br /&gt;
{{:Projects/OWASP_Passfault/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Project About=&lt;br /&gt;
{{:Projects/OWASP_Passfault}} &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>Cam Morris</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=File:Passfault-header.png&amp;diff=167295</id>
		<title>File:Passfault-header.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=File:Passfault-header.png&amp;diff=167295"/>
				<updated>2014-02-04T15:48:13Z</updated>
		
		<summary type="html">&lt;p&gt;Cam Morris: Header for OWASP Passfault front page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Header for OWASP Passfault front page&lt;/div&gt;</summary>
		<author><name>Cam Morris</name></author>	</entry>

	</feed>