<?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=Eduardo+Castellanos+Najera</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=Eduardo+Castellanos+Najera"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php/Special:Contributions/Eduardo_Castellanos_Najera"/>
		<updated>2026-04-25T20:09:49Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Testing_for_Web_Application_Fingerprint_(OWASP-IG-004)&amp;diff=204257</id>
		<title>Testing for Web Application Fingerprint (OWASP-IG-004)</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Testing_for_Web_Application_Fingerprint_(OWASP-IG-004)&amp;diff=204257"/>
				<updated>2015-12-02T11:12:48Z</updated>
		
		<summary type="html">&lt;p&gt;Eduardo Castellanos Najera: Removed desenmascara.me since it is no longer relevant.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:OWASP Testing Guide v4}}&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Web server fingerprinting is a critical task for the Penetration tester. Knowing the version and type of a running web server allows testers to determine known vulnerabilities and the appropriate exploits to use during testing.&lt;br /&gt;
&lt;br /&gt;
There are several different vendors and versions of web servers on the market today. Knowing the type of web server that you are testing significantly helps in the testing process, and will also change the course of the test. This information can be derived by sending the web server specific commands and analyzing the output, as each version of web server software may respond differently to these commands. By knowing how each type of web server responds to specific commands and keeping this information in a web server fingerprint database, a penetration tester can send these commands to the web server, analyze the response, and compare it to the database of known signatures. Please note that it usually takes several different commands to accurately identify the web server, as different versions may react similarly to the same command. Rarely, however, different versions react the same to all HTTP commands. So, by sending several different commands, you increase the accuracy of your guess.&lt;br /&gt;
&lt;br /&gt;
== Test Objectives ==&lt;br /&gt;
&lt;br /&gt;
== How to Test ==&lt;br /&gt;
&lt;br /&gt;
=== Black Box testing and example ===&lt;br /&gt;
The simplest and most basic form of identifying a Web server is to look at the Server field in the HTTP response header. For our experiments we use netcat. &lt;br /&gt;
Consider the following HTTP Request-Response: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc 202.41.76.251 80&lt;br /&gt;
HEAD / HTTP/1.0&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Date: Mon, 16 Jun 2003 02:53:29 GMT&lt;br /&gt;
Server: Apache/1.3.3 (Unix)  (Red Hat/Linux)&lt;br /&gt;
Last-Modified: Wed, 07 Oct 1998 11:18:14 GMT&lt;br /&gt;
ETag: &amp;quot;1813-49b-361b4df6&amp;quot;&lt;br /&gt;
Accept-Ranges: bytes&lt;br /&gt;
Content-Length: 1179&lt;br /&gt;
Connection: close&lt;br /&gt;
Content-Type: text/html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From the ''Server'' field, we understand that the server is likely Apache, version 1.3.3, running on Linux operating system.&lt;br /&gt;
&lt;br /&gt;
Four examples of the HTTP response headers are shown below.&lt;br /&gt;
&lt;br /&gt;
From an '''Apache 1.3.23''' server: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Date: Sun, 15 Jun 2003 17:10: 49 GMT &lt;br /&gt;
Server: Apache/1.3.23 &lt;br /&gt;
Last-Modified: Thu, 27 Feb 2003 03:48: 19 GMT &lt;br /&gt;
ETag: 32417-c4-3e5d8a83 &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Content-Length: 196 &lt;br /&gt;
Connection: close &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From a '''Microsoft IIS 5.0''' server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Server: Microsoft-IIS/5.0 &lt;br /&gt;
Expires: Yours, 17 Jun 2003 01:41: 33 GMT &lt;br /&gt;
Date: Mon, 16 Jun 2003 01:41: 33 GMT &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Last-Modified: Wed, 28 May 2003 15:32: 21 GMT &lt;br /&gt;
ETag: b0aac0542e25c31: 89d &lt;br /&gt;
Content-Length: 7369 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From a '''Netscape Enterprise 4.1''' server: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Server: Netscape-Enterprise/4.1 &lt;br /&gt;
Date: Mon, 16 Jun 2003 06:19: 04 GMT &lt;br /&gt;
Content-type: text/HTML &lt;br /&gt;
Last-modified: Wed, 31 Jul 2002 15:37: 56 GMT &lt;br /&gt;
Content-length: 57 &lt;br /&gt;
Accept-ranges: bytes &lt;br /&gt;
Connection: close &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From a '''SunONE 6.1''' server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Server: Sun-ONE-Web-Server/6.1&lt;br /&gt;
Date: Tue, 16 Jan 2007 14:53:45 GMT&lt;br /&gt;
Content-length: 1186&lt;br /&gt;
Content-type: text/html&lt;br /&gt;
Date: Tue, 16 Jan 2007 14:50:31 GMT&lt;br /&gt;
Last-Modified: Wed, 10 Jan 2007 09:58:26 GMT&lt;br /&gt;
Accept-Ranges: bytes&lt;br /&gt;
Connection: close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
However, this testing methodology is not so good. There are several techniques that allow a web site to obfuscate or to modify the server banner string.&lt;br /&gt;
For example we could obtain the following answer:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
403 HTTP/1.1 Forbidden &lt;br /&gt;
Date: Mon, 16 Jun 2003 02:41: 27 GMT &lt;br /&gt;
Server: Unknown-Webserver/1.0 &lt;br /&gt;
Connection: close &lt;br /&gt;
Content-Type: text/HTML; charset=iso-8859-1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, the server field of that response is obfuscated: we cannot know what type of web server is running.&lt;br /&gt;
&lt;br /&gt;
==== Protocol behaviour ====&lt;br /&gt;
More refined techniques take in consideration various characteristics of the several web servers available on the market. We will list some methodologies that allow us to deduce the type of web server in use.&lt;br /&gt;
&lt;br /&gt;
'''HTTP header field ordering'''&lt;br /&gt;
&lt;br /&gt;
The first method consists of observing the ordering of the several headers in the response. Every web server has an inner ordering of the header. We consider the following answers as an example:&lt;br /&gt;
&lt;br /&gt;
Response from '''Apache 1.3.23''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc apache.example.com 80 &lt;br /&gt;
HEAD / HTTP/1.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Date: Sun, 15 Jun 2003 17:10: 49 GMT &lt;br /&gt;
Server: Apache/1.3.23 &lt;br /&gt;
Last-Modified: Thu, 27 Feb 2003 03:48: 19 GMT &lt;br /&gt;
ETag: 32417-c4-3e5d8a83 &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Content-Length: 196 &lt;br /&gt;
Connection: close &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''IIS 5.0''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc iis.example.com 80 &lt;br /&gt;
HEAD / HTTP/1.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Server: Microsoft-IIS/5.0 &lt;br /&gt;
Content-Location: http://iis.example.com/Default.htm &lt;br /&gt;
Date: Fri, 01 Jan 1999 20:13: 52 GMT &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Last-Modified: Fri, 01 Jan 1999 20:13: 52 GMT &lt;br /&gt;
ETag: W/e0d362a4c335be1: ae1 &lt;br /&gt;
Content-Length: 133 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''Netscape Enterprise 4.1''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc netscape.example.com 80 &lt;br /&gt;
HEAD / HTTP/1.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Server: Netscape-Enterprise/4.1 &lt;br /&gt;
Date: Mon, 16 Jun 2003 06:01: 40 GMT &lt;br /&gt;
Content-type: text/HTML &lt;br /&gt;
Last-modified: Wed, 31 Jul 2002 15:37: 56 GMT &lt;br /&gt;
Content-length: 57 &lt;br /&gt;
Accept-ranges: bytes &lt;br /&gt;
Connection: close &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from a '''SunONE 6.1'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc sunone.example.com 80 &lt;br /&gt;
HEAD / HTTP/1.0&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Server: Sun-ONE-Web-Server/6.1&lt;br /&gt;
Date: Tue, 16 Jan 2007 15:23:37 GMT&lt;br /&gt;
Content-length: 0&lt;br /&gt;
Content-type: text/html&lt;br /&gt;
Date: Tue, 16 Jan 2007 15:20:26 GMT&lt;br /&gt;
Last-Modified: Wed, 10 Jan 2007 09:58:26 GMT&lt;br /&gt;
Connection: close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
We can notice that the ordering of the ''Date'' field and the ''Server'' field differs between Apache, Netscape Enterprise, and IIS.&lt;br /&gt;
&lt;br /&gt;
'''Malformed requests test''' &lt;br /&gt;
&lt;br /&gt;
Another useful test to execute involves sending malformed requests or requests of nonexistent pages to the server.&lt;br /&gt;
Consider the following HTTP responses. &lt;br /&gt;
&lt;br /&gt;
Response from '''Apache 1.3.23'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc apache.example.com 80 &lt;br /&gt;
GET / HTTP/3.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 400 Bad Request &lt;br /&gt;
Date: Sun, 15 Jun 2003 17:12: 37 GMT &lt;br /&gt;
Server: Apache/1.3.23 &lt;br /&gt;
Connection: close &lt;br /&gt;
Transfer: chunked &lt;br /&gt;
Content-Type: text/HTML; charset=iso-8859-1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''IIS 5.0''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc iis.example.com 80 &lt;br /&gt;
GET / HTTP/3.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Server: Microsoft-IIS/5.0 &lt;br /&gt;
Content-Location: http://iis.example.com/Default.htm &lt;br /&gt;
Date: Fri, 01 Jan 1999 20:14: 02 GMT &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Last-Modified: Fri, 01 Jan 1999 20:14: 02 GMT &lt;br /&gt;
ETag: W/e0d362a4c335be1: ae1 &lt;br /&gt;
Content-Length: 133 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''Netscape Enterprise 4.1''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc netscape.example.com 80 &lt;br /&gt;
GET / HTTP/3.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 505 HTTP Version Not Supported &lt;br /&gt;
Server: Netscape-Enterprise/4.1 &lt;br /&gt;
Date: Mon, 16 Jun 2003 06:04: 04 GMT &lt;br /&gt;
Content-length: 140 &lt;br /&gt;
Content-type: text/HTML &lt;br /&gt;
Connection: close &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from a '''SunONE 6.1'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc sunone.example.com 80 &lt;br /&gt;
GET / HTTP/3.0&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 400 Bad request&lt;br /&gt;
Server: Sun-ONE-Web-Server/6.1&lt;br /&gt;
Date: Tue, 16 Jan 2007 15:25:00 GMT&lt;br /&gt;
Content-length: 0&lt;br /&gt;
Content-type: text/html&lt;br /&gt;
Connection: close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
We notice that every server answers in a different way. The answer also differs in the version of the server. Similar observations can be done we create requests with a non-existent protocol. Consider the following responses: &lt;br /&gt;
&lt;br /&gt;
Response from '''Apache 1.3.23''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc apache.example.com 80 &lt;br /&gt;
GET / JUNK/1.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Date: Sun, 15 Jun 2003 17:17: 47 GMT &lt;br /&gt;
Server: Apache/1.3.23 &lt;br /&gt;
Last-Modified: Thu, 27 Feb 2003 03:48: 19 GMT &lt;br /&gt;
ETag: 32417-c4-3e5d8a83 &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Content-Length: 196 &lt;br /&gt;
Connection: close &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''IIS 5.0''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc iis.example.com 80 &lt;br /&gt;
GET / JUNK/1.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 400 Bad Request &lt;br /&gt;
Server: Microsoft-IIS/5.0 &lt;br /&gt;
Date: Fri, 01 Jan 1999 20:14: 34 GMT &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
Content-Length: 87 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''Netscape Enterprise 4.1''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc netscape.example.com 80 &lt;br /&gt;
GET / JUNK/1.0 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;Bad request&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt; &lt;br /&gt;
&amp;lt;BODY&amp;gt;&amp;lt;H1&amp;gt;Bad request&amp;lt;/H1&amp;gt; &lt;br /&gt;
Your browser sent to query this server could not understand. &lt;br /&gt;
&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from a '''SunONE 6.1'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc sunone.example.com 80 &lt;br /&gt;
GET / JUNK/1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;Bad request&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&lt;br /&gt;
&amp;lt;BODY&amp;gt;&amp;lt;H1&amp;gt;Bad request&amp;lt;/H1&amp;gt;&lt;br /&gt;
Your browser sent a query this server could not understand.&lt;br /&gt;
&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* httprint - http://net-square.com/httprint.html&lt;br /&gt;
* httprecon - http://www.computec.ch/projekte/httprecon/&lt;br /&gt;
* Netcraft - http://www.netcraft.com&lt;br /&gt;
* Shodan - http://www.shodanhq.com&lt;br /&gt;
* Nmap - http://nmap.org&lt;br /&gt;
&lt;br /&gt;
=== Automated Testing ===&lt;br /&gt;
Rather than rely on manual bannering and analysis of the web server headers, a tester can use automated tools to achieve the same purpose. The tests to carry out in order to accurately fingerprint a web server can be many. Luckily, there are tools that automate these tests. &amp;quot;''httprint''&amp;quot; is one of such tools. httprint has a signature dictionary that allows one to recognize the type and the version of the web server in use.&amp;lt;br&amp;gt;&lt;br /&gt;
An example of running httprint is shown below:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:httprint.jpg |800px|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.nmap.org Nmap] version detection offers a lot of advanced features that can help in determining services that are running on a given host, it obtains all data by connecting to open ports and interrogating them by using probes that the specific services understand, the following example shows how Nmap connected to port 80 in order to fingerprint the service and its current version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
localhost$ nmap -sV example.com&lt;br /&gt;
Starting Nmap 6.40 ( http://nmap.org ) at 2013-09-21 13:20 GST&lt;br /&gt;
Nmap scan report for example.com (127.0.0.1)&lt;br /&gt;
Host is up (0.028s latency).&lt;br /&gt;
Not shown: 997 filtered ports&lt;br /&gt;
PORT     STATE  SERVICE    VERSION&lt;br /&gt;
80/tcp   open   http       Microsoft IIS httpd 6.0&lt;br /&gt;
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Online Testing === &lt;br /&gt;
Online tools can be used if the tester wishes to test more stealthily and doesn't wish to directly connect to the target website. An example of online tool that often delivers a lot of information on target Web Server, are [http://www.netcraft.com Netcraft] and [http://www.shodanhq.com SHODAN]&lt;br /&gt;
&lt;br /&gt;
With [http://www.netcraft.com Netcraft] we can retrieve information about operating system, web server used, Server Uptime, Netblock Owner, history of change related to Web server and O.S.&amp;lt;br&amp;gt; An example is shown below:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:netcraft2.png |800px|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SHODAN combines an HTTP port scanner with a search engine index of the HTTP responses, making it trivial to find specific web servers. Shodan collects data mostly on web servers at the moment (HTTP port 80), but there is also some data from FTP (21), SSH (22) Telnet (23), SNMP (161) and SIP (5060) services. &amp;lt;br&amp;gt; An example is shown below:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Shodan.png |800px|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[OWASP Unmaskme Project]] expect becomes another online tool to do fingerprinting in any website with an overall interpretation of all the [[Web-metadata]] extracted. The idea behind this project is that anyone in charge of a website could test the metadata their site is showing to the world and assess it from a security point of view.&lt;br /&gt;
While this project is being developed, you can test a [http://desenmascara.me/ Spanish Proof of Concept of this idea].&lt;br /&gt;
&lt;br /&gt;
== Vulnerability References ==&lt;br /&gt;
'''Whitepapers'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Saumil Shah: &amp;quot;An Introduction to HTTP fingerprinting&amp;quot; - http://www.net-square.com/httprint_paper.html&lt;br /&gt;
* Anant Shrivastava : &amp;quot;Web Application Finger Printing&amp;quot; - http://anantshri.info/articles/web_app_finger_printing.html&lt;br /&gt;
* Nmap &amp;quot;Service and Application Version Detection&amp;quot; - http://nmap.org/book/vscan.html&lt;br /&gt;
&lt;br /&gt;
== Remediation ==&lt;br /&gt;
&lt;br /&gt;
Protect the presentation layer web server behind a hardened reverse proxy.&lt;br /&gt;
&lt;br /&gt;
Obfuscate the presentation layer web server headers.&lt;br /&gt;
* Apache&lt;br /&gt;
* IIS&lt;/div&gt;</summary>
		<author><name>Eduardo Castellanos Najera</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Fingerprint_Web_Server_(OTG-INFO-002)&amp;diff=204256</id>
		<title>Fingerprint Web Server (OTG-INFO-002)</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Fingerprint_Web_Server_(OTG-INFO-002)&amp;diff=204256"/>
				<updated>2015-12-02T11:11:26Z</updated>
		
		<summary type="html">&lt;p&gt;Eduardo Castellanos Najera: Removed desenmascara.me since it is no longer relevant.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:OWASP Testing Guide v4}}&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
Web server fingerprinting is a critical task for the penetration tester. Knowing the version and type of a running web server allows testers to determine known vulnerabilities and the appropriate exploits to use during testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are several different vendors and versions of web servers on the market today. Knowing the type of web server that is being tested significantly helps in the testing process and can also change the course of the test. This information can be derived by sending the web server specific commands and analyzing the output, as each version of web server software may respond differently to these commands. By knowing how each type of web server responds to specific commands and keeping this information in a web server fingerprint database, a penetration tester can send these commands to the web server, analyze the response, and compare it to the database of known signatures. Please note that it usually takes several different commands to accurately identify the web server, as different versions may react similarly to the same command. Rarely do different versions react the same to all HTTP commands. So by sending several different commands, the tester can increase the accuracy of their guess.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Objectives ==&lt;br /&gt;
Find the version and type of a running web server to determine known vulnerabilities and the appropriate exploits to use during testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Test ==&lt;br /&gt;
&lt;br /&gt;
=== Black Box testing ===&lt;br /&gt;
The simplest and most basic form of identifying a web server is to look at the Server field in the HTTP response header. Netcat is used in this experiment. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consider the following HTTP Request-Response: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc 202.41.76.251 80&lt;br /&gt;
HEAD / HTTP/1.0&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Date: Mon, 16 Jun 2003 02:53:29 GMT&lt;br /&gt;
Server: Apache/1.3.3 (Unix)  (Red Hat/Linux)&lt;br /&gt;
Last-Modified: Wed, 07 Oct 1998 11:18:14 GMT&lt;br /&gt;
ETag: &amp;quot;1813-49b-361b4df6&amp;quot;&lt;br /&gt;
Accept-Ranges: bytes&lt;br /&gt;
Content-Length: 1179&lt;br /&gt;
Connection: close&lt;br /&gt;
Content-Type: text/html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From the ''Server'' field, one can understand that the server is likely Apache, version 1.3.3, running on Linux operating system.&lt;br /&gt;
&lt;br /&gt;
Four examples of the HTTP response headers are shown below.&lt;br /&gt;
&lt;br /&gt;
From an '''Apache 1.3.23''' server: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Date: Sun, 15 Jun 2003 17:10: 49 GMT &lt;br /&gt;
Server: Apache/1.3.23 &lt;br /&gt;
Last-Modified: Thu, 27 Feb 2003 03:48: 19 GMT &lt;br /&gt;
ETag: 32417-c4-3e5d8a83 &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Content-Length: 196 &lt;br /&gt;
Connection: close &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From a '''Microsoft IIS 5.0''' server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Server: Microsoft-IIS/5.0 &lt;br /&gt;
Expires: Yours, 17 Jun 2003 01:41: 33 GMT &lt;br /&gt;
Date: Mon, 16 Jun 2003 01:41: 33 GMT &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Last-Modified: Wed, 28 May 2003 15:32: 21 GMT &lt;br /&gt;
ETag: b0aac0542e25c31: 89d &lt;br /&gt;
Content-Length: 7369 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From a '''Netscape Enterprise 4.1''' server: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Server: Netscape-Enterprise/4.1 &lt;br /&gt;
Date: Mon, 16 Jun 2003 06:19: 04 GMT &lt;br /&gt;
Content-type: text/HTML &lt;br /&gt;
Last-modified: Wed, 31 Jul 2002 15:37: 56 GMT &lt;br /&gt;
Content-length: 57 &lt;br /&gt;
Accept-ranges: bytes &lt;br /&gt;
Connection: close &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From a '''SunONE 6.1''' server:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Server: Sun-ONE-Web-Server/6.1&lt;br /&gt;
Date: Tue, 16 Jan 2007 14:53:45 GMT&lt;br /&gt;
Content-length: 1186&lt;br /&gt;
Content-type: text/html&lt;br /&gt;
Date: Tue, 16 Jan 2007 14:50:31 GMT&lt;br /&gt;
Last-Modified: Wed, 10 Jan 2007 09:58:26 GMT&lt;br /&gt;
Accept-Ranges: bytes&lt;br /&gt;
Connection: close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, this testing methodology is limited in accuracy. There are several techniques that allow a web site to obfuscate or to modify the server banner string. For example one could obtain the following answer:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
403 HTTP/1.1 Forbidden &lt;br /&gt;
Date: Mon, 16 Jun 2003 02:41: 27 GMT &lt;br /&gt;
Server: Unknown-Webserver/1.0 &lt;br /&gt;
Connection: close &lt;br /&gt;
Content-Type: text/HTML; charset=iso-8859-1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this case, the server field of that response is obfuscated. The tester cannot know what type of web server is running based on such information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Protocol Behavior ====&lt;br /&gt;
More refined techniques take in consideration various characteristics of the several web servers available on the market. Below is a list of some methodologies that allow testers to deduce the type of web server in use.&lt;br /&gt;
&lt;br /&gt;
'''HTTP header field ordering'''&lt;br /&gt;
&lt;br /&gt;
The first method consists of observing the ordering of the several headers in the response. Every web server has an inner ordering of the header. Consider the following answers as an example:&lt;br /&gt;
&lt;br /&gt;
Response from '''Apache 1.3.23''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc apache.example.com 80 &lt;br /&gt;
HEAD / HTTP/1.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Date: Sun, 15 Jun 2003 17:10: 49 GMT &lt;br /&gt;
Server: Apache/1.3.23 &lt;br /&gt;
Last-Modified: Thu, 27 Feb 2003 03:48: 19 GMT &lt;br /&gt;
ETag: 32417-c4-3e5d8a83 &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Content-Length: 196 &lt;br /&gt;
Connection: close &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''IIS 5.0''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc iis.example.com 80 &lt;br /&gt;
HEAD / HTTP/1.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Server: Microsoft-IIS/5.0 &lt;br /&gt;
Content-Location: http://iis.example.com/Default.htm &lt;br /&gt;
Date: Fri, 01 Jan 1999 20:13: 52 GMT &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Last-Modified: Fri, 01 Jan 1999 20:13: 52 GMT &lt;br /&gt;
ETag: W/e0d362a4c335be1: ae1 &lt;br /&gt;
Content-Length: 133 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''Netscape Enterprise 4.1''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc netscape.example.com 80 &lt;br /&gt;
HEAD / HTTP/1.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Server: Netscape-Enterprise/4.1 &lt;br /&gt;
Date: Mon, 16 Jun 2003 06:01: 40 GMT &lt;br /&gt;
Content-type: text/HTML &lt;br /&gt;
Last-modified: Wed, 31 Jul 2002 15:37: 56 GMT &lt;br /&gt;
Content-length: 57 &lt;br /&gt;
Accept-ranges: bytes &lt;br /&gt;
Connection: close &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from a '''SunONE 6.1'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc sunone.example.com 80 &lt;br /&gt;
HEAD / HTTP/1.0&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Server: Sun-ONE-Web-Server/6.1&lt;br /&gt;
Date: Tue, 16 Jan 2007 15:23:37 GMT&lt;br /&gt;
Content-length: 0&lt;br /&gt;
Content-type: text/html&lt;br /&gt;
Date: Tue, 16 Jan 2007 15:20:26 GMT&lt;br /&gt;
Last-Modified: Wed, 10 Jan 2007 09:58:26 GMT&lt;br /&gt;
Connection: close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can notice that the ordering of the ''Date'' field and the ''Server'' field differs between Apache, Netscape Enterprise, and IIS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Malformed requests test''' &lt;br /&gt;
&lt;br /&gt;
Another useful test to execute involves sending malformed requests or requests of nonexistent pages to the server.&lt;br /&gt;
Consider the following HTTP responses. &lt;br /&gt;
&lt;br /&gt;
Response from '''Apache 1.3.23'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc apache.example.com 80 &lt;br /&gt;
GET / HTTP/3.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 400 Bad Request &lt;br /&gt;
Date: Sun, 15 Jun 2003 17:12: 37 GMT &lt;br /&gt;
Server: Apache/1.3.23 &lt;br /&gt;
Connection: close &lt;br /&gt;
Transfer: chunked &lt;br /&gt;
Content-Type: text/HTML; charset=iso-8859-1 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''IIS 5.0''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc iis.example.com 80 &lt;br /&gt;
GET / HTTP/3.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Server: Microsoft-IIS/5.0 &lt;br /&gt;
Content-Location: http://iis.example.com/Default.htm &lt;br /&gt;
Date: Fri, 01 Jan 1999 20:14: 02 GMT &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Last-Modified: Fri, 01 Jan 1999 20:14: 02 GMT &lt;br /&gt;
ETag: W/e0d362a4c335be1: ae1 &lt;br /&gt;
Content-Length: 133 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''Netscape Enterprise 4.1''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc netscape.example.com 80 &lt;br /&gt;
GET / HTTP/3.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 505 HTTP Version Not Supported &lt;br /&gt;
Server: Netscape-Enterprise/4.1 &lt;br /&gt;
Date: Mon, 16 Jun 2003 06:04: 04 GMT &lt;br /&gt;
Content-length: 140 &lt;br /&gt;
Content-type: text/HTML &lt;br /&gt;
Connection: close &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from a '''SunONE 6.1'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc sunone.example.com 80 &lt;br /&gt;
GET / HTTP/3.0&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 400 Bad request&lt;br /&gt;
Server: Sun-ONE-Web-Server/6.1&lt;br /&gt;
Date: Tue, 16 Jan 2007 15:25:00 GMT&lt;br /&gt;
Content-length: 0&lt;br /&gt;
Content-type: text/html&lt;br /&gt;
Connection: close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We notice that every server answers in a different way. The answer also differs in the version of the server. Similar observations can be done we create requests with a non-existent HTTP method/verb. Consider the following responses: &lt;br /&gt;
&lt;br /&gt;
Response from '''Apache 1.3.23''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc apache.example.com 80 &lt;br /&gt;
GET / JUNK/1.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK &lt;br /&gt;
Date: Sun, 15 Jun 2003 17:17: 47 GMT &lt;br /&gt;
Server: Apache/1.3.23 &lt;br /&gt;
Last-Modified: Thu, 27 Feb 2003 03:48: 19 GMT &lt;br /&gt;
ETag: 32417-c4-3e5d8a83 &lt;br /&gt;
Accept-Ranges: bytes &lt;br /&gt;
Content-Length: 196 &lt;br /&gt;
Connection: close &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''IIS 5.0''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc iis.example.com 80 &lt;br /&gt;
GET / JUNK/1.0 &lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 400 Bad Request &lt;br /&gt;
Server: Microsoft-IIS/5.0 &lt;br /&gt;
Date: Fri, 01 Jan 1999 20:14: 34 GMT &lt;br /&gt;
Content-Type: text/HTML &lt;br /&gt;
Content-Length: 87 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from '''Netscape Enterprise 4.1''' &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc netscape.example.com 80 &lt;br /&gt;
GET / JUNK/1.0 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;Bad request&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt; &lt;br /&gt;
&amp;lt;BODY&amp;gt;&amp;lt;H1&amp;gt;Bad request&amp;lt;/H1&amp;gt; &lt;br /&gt;
Your browser sent to query this server could not understand. &lt;br /&gt;
&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Response from a '''SunONE 6.1'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc sunone.example.com 80 &lt;br /&gt;
GET / JUNK/1.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;HTML&amp;gt;&amp;lt;HEAD&amp;gt;&amp;lt;TITLE&amp;gt;Bad request&amp;lt;/TITLE&amp;gt;&amp;lt;/HEAD&amp;gt;&lt;br /&gt;
&amp;lt;BODY&amp;gt;&amp;lt;H1&amp;gt;Bad request&amp;lt;/H1&amp;gt;&lt;br /&gt;
Your browser sent a query this server could not understand.&lt;br /&gt;
&amp;lt;/BODY&amp;gt;&amp;lt;/HTML&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* httprint - http://net-square.com/httprint.html&lt;br /&gt;
* httprecon - http://www.computec.ch/projekte/httprecon/&lt;br /&gt;
* Netcraft - http://www.netcraft.com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Automated Testing ===&lt;br /&gt;
Rather than rely on manual banner grabbing and analysis of the web server headers, a tester can use automated tools to achieve the same results. There are many tests to carry out in order to accurately fingerprint a web server. Luckily, there are tools that automate these tests. &amp;quot;''httprint''&amp;quot; is one of such tools. httprint uses a signature dictionary that allows it to recognize the type and the version of the web server in use.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example of running httprint is shown below:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:httprint.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Online Testing === &lt;br /&gt;
Online tools can be used if the tester wishes to test more stealthily and doesn't wish to directly connect to the target website. An example of an online tool that often delivers a lot of information about target Web Servers, is [http://www.netcraft.com Netcraft]. With this tool we can retrieve information about operating system, web server used, Server Uptime, Netblock Owner, history of change related to Web server and O.S.&amp;lt;br&amp;gt;&lt;br /&gt;
An example is shown below:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:netcraft2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[OWASP Unmaskme Project]] is expected to become another online tool to do fingerprinting of any website with an overall interpretation of all the [[Web-metadata]] extracted. The idea behind this project is that anyone in charge of a website could test the metadata the site is showing to the world and assess it from a security point of view.&lt;br /&gt;
&lt;br /&gt;
While this project is still being developed, you can test a [http://desenmascara.me/ Spanish Proof of Concept of this idea].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
'''Whitepapers'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Saumil Shah: &amp;quot;An Introduction to HTTP fingerprinting&amp;quot; - http://www.net-square.com/httprint_paper.html&lt;br /&gt;
* Anant Shrivastava : &amp;quot;Web Application Finger Printing&amp;quot; - http://anantshri.info/articles/web_app_finger_printing.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remediation ==&lt;br /&gt;
&lt;br /&gt;
Protect the presentation layer web server behind a hardened reverse proxy.&lt;br /&gt;
&lt;br /&gt;
Obfuscate the presentation layer web server headers.&lt;br /&gt;
* Apache&lt;br /&gt;
* IIS&lt;/div&gt;</summary>
		<author><name>Eduardo Castellanos Najera</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Fingerprint_Web_Application_Framework_(OTG-INFO-008)&amp;diff=204255</id>
		<title>Fingerprint Web Application Framework (OTG-INFO-008)</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Fingerprint_Web_Application_Framework_(OTG-INFO-008)&amp;diff=204255"/>
				<updated>2015-12-02T10:58:51Z</updated>
		
		<summary type="html">&lt;p&gt;Eduardo Castellanos Najera: Undo previous revision. Referenced OWASP project has no releases and is inactive.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:OWASP Testing Guide v4}}&lt;br /&gt;
== Summary ==&lt;br /&gt;
Web framework[*] fingerprinting is an important subtask of the information gathering process. Knowing the type of framework can automatically give a great advantage if such a framework has already been tested by the penetration tester. It is not only the known vulnerabilities in unpatched versions but specific misconfigurations in the framework and known file structure that makes the fingerprinting process so important.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Several different vendors and versions of web frameworks are widely used. Information about it significantly helps in the testing process, and can also help in changing the course of the test. Such information can be derived by careful analysis of certain common locations. Most of the web frameworks have several markers in those locations which help an attacker to spot them. This is basically what all automatic tools do, they look for a marker from a predefined location and then compare it to the database of known signatures. For better accuracy several markers are usually used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[*] Please note that this article makes no differentiation between Web Application Frameworks (WAF) and Content Management Systems (CMS). This has been done to make it convenient to fingerprint both of them in one chapter. Furthermore, both categories are referenced as web frameworks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test Objectives ==&lt;br /&gt;
To define type of used web framework so as to have a better understanding of the security testing methodology.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to Test ==&lt;br /&gt;
&lt;br /&gt;
=== Black Box testing ===&lt;br /&gt;
There are several most common locations to look in in order to define the current framework:&lt;br /&gt;
*HTTP headers&lt;br /&gt;
*Cookies&lt;br /&gt;
*HTML source code&lt;br /&gt;
*Specific files and folders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== HTTP headers ====&lt;br /&gt;
The most basic form of identifying a web framework is to look at the ''X-Powered-By'' field in the HTTP response header. Many tools can be used to fingerprint a target. The simplest one is netcat utility. &lt;br /&gt;
&lt;br /&gt;
Consider the following HTTP Request-Response: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ nc 127.0.0.1 80&lt;br /&gt;
HEAD / HTTP/1.0&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Server: nginx/1.0.14&lt;br /&gt;
Date: Sat, 07 Sep 2013 08:19:15 GMT&lt;br /&gt;
Content-Type: text/html;charset=ISO-8859-1&lt;br /&gt;
Connection: close&lt;br /&gt;
Vary: Accept-Encoding&lt;br /&gt;
X-Powered-By: Mono&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From the ''X-Powered-By'' field, we understand that the web application framework is likely to be Mono. However, although this approach is simple and quick, this methodology doesn't work in 100% of cases. It is possible to easily disable ''X-Powered-By'' header by a proper configuration. There are also several techniques that allow a web site to obfuscate HTTP headers (see an example in [[#Remediation]] chapter).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So in the same example the tester could either miss the ''X-Powered-By'' header or obtain an answer like the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Server: nginx/1.0.14&lt;br /&gt;
Date: Sat, 07 Sep 2013 08:19:15 GMT&lt;br /&gt;
Content-Type: text/html;charset=ISO-8859-1&lt;br /&gt;
Connection: close&lt;br /&gt;
Vary: Accept-Encoding&lt;br /&gt;
X-Powered-By: Blood, sweat and tears&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sometimes there are more HTTP-headers that point at a certain web framework. In the following example, according to the information from HTTP-request, one can see that ''X-Powered-By'' header contains PHP version. However, the ''X-Generator'' header points out the used framework is actually Swiftlet, which helps a penetration tester to expand his attack vectors. When performing fingerprinting, always carefully inspect every HTTP-header for such leaks.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Server: nginx/1.4.1&lt;br /&gt;
Date: Sat, 07 Sep 2013 09:22:52 GMT&lt;br /&gt;
Content-Type: text/html&lt;br /&gt;
Connection: keep-alive&lt;br /&gt;
Vary: Accept-Encoding&lt;br /&gt;
X-Powered-By: PHP/5.4.16-1~dotdeb.1&lt;br /&gt;
Expires: Thu, 19 Nov 1981 08:52:00 GMT&lt;br /&gt;
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0&lt;br /&gt;
Pragma: no-cache&lt;br /&gt;
X-Generator: Swiftlet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cookies ====&lt;br /&gt;
Another similar and somehow more reliable way to determine the current web framework are framework-specific cookies.&lt;br /&gt;
&lt;br /&gt;
Consider the following HTTP-request:&lt;br /&gt;
&lt;br /&gt;
[[Image:Cakephp_cookie.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The cookie ''CAKEPHP'' has automatically been set, which gives information about the framework being used. List of common cookies names is presented in chapter [[#Cookies_2]]. Limitations are the same - it is possible to change the name of the cookie. For example, for the selected ''CakePHP'' framework this could be done by the following configuration (excerpt from core.php):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
* The name of CakePHP's session cookie.&lt;br /&gt;
*&lt;br /&gt;
* Note the guidelines for Session names states: &amp;quot;The session name references&lt;br /&gt;
* the session id in cookies and URLs. It should contain only alphanumeric&lt;br /&gt;
* characters.&amp;quot;&lt;br /&gt;
* @link http://php.net/session_name&lt;br /&gt;
*/&lt;br /&gt;
Configure::write('Session.cookie', 'CAKEPHP');&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, these changes are less likely to be made than changes to the ''X-Powered-By'' header, so this approach can be considered as more reliable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== HTML source code ====&lt;br /&gt;
This technique is based on finding certain patterns in the HTML page source code. Often one can find a lot of information which helps a tester to recognize a specific web framework. One of the common markers are HTML comments that directly lead to framework disclosure. More often certain framework-specific paths can be found, i.e. links to framework-specific css and/or js folders. Finally, specific script variables might also point to a certain framework.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From the screenshot below one can easily learn the used framework and its version by the mentioned markers. The comment, specific paths and script variables can all help an attacker to quickly determine an instance of ZK framework.&lt;br /&gt;
&lt;br /&gt;
[[Image:Zk_html_source.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More frequently such information is placed between &amp;lt;head&amp;gt;&amp;lt;/head&amp;gt; tags, in &amp;lt;meta&amp;gt; tags or at the end of the page. Nevertheless, it is recommended to check the whole document since it can be useful for other purposes such as inspection of other useful comments and hidden fields. Sometimes, web developers do not care much about hiding information about the framework used. It is still possible to stumble upon something like this at the bottom of the page:&lt;br /&gt;
&lt;br /&gt;
[[Image:banshee_bottom_page.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Common frameworks ==&lt;br /&gt;
=== Cookies ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Framework !! Cookie name&lt;br /&gt;
|-&lt;br /&gt;
| Zope || zope3&lt;br /&gt;
|-&lt;br /&gt;
| CakePHP || cakephp&lt;br /&gt;
|-&lt;br /&gt;
| Kohana || kohanasession&lt;br /&gt;
|-&lt;br /&gt;
| Laravel || laravel_session&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== HTML source code ===&lt;br /&gt;
==== General markers ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| %framework_name%&lt;br /&gt;
|-&lt;br /&gt;
| powered by&lt;br /&gt;
|-&lt;br /&gt;
| built upon&lt;br /&gt;
|-&lt;br /&gt;
| running&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Specific markers ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Framework !! Keyword&lt;br /&gt;
|-&lt;br /&gt;
| Adobe ColdFusion || &amp;amp;lt;!-- START headerTags.cfm&lt;br /&gt;
|-&lt;br /&gt;
| Microsoft ASP.NET || __VIEWSTATE&lt;br /&gt;
|-&lt;br /&gt;
| ZK || &amp;amp;lt;!-- ZK&lt;br /&gt;
|-&lt;br /&gt;
| Business Catalyst || &amp;amp;lt;!-- BC_OBNW --&amp;amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Indexhibit || ndxz-studio&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Specific files and folders ===&lt;br /&gt;
Specific files and folders are different for each specific framework. It is recommended to install the corresponding framework during penetration tests in order to have better understanding of what infrastructure is presented and what files might be left on the server. However, several good file lists already exist and one good example is FuzzDB wordlists of predictable files/folders (http://code.google.com/p/fuzzdb/).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
A list of general and well-known tools is presented below. There are also a lot of other utilities, as well as framework-based fingerprinting tools.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
=== WhatWeb ===&lt;br /&gt;
Website:  http://www.morningstarsecurity.com/research/whatweb &amp;lt;br&amp;gt;&lt;br /&gt;
Currently one of the best fingerprinting tools on the market. Included in a default [[Kali Linux]] build.&lt;br /&gt;
Language: Ruby&lt;br /&gt;
Matches for fingerprinting are made with:&lt;br /&gt;
* Text strings (case sensitive)&lt;br /&gt;
* Regular expressions&lt;br /&gt;
* Google Hack Database queries (limited set of keywords)&lt;br /&gt;
* MD5 hashes&lt;br /&gt;
* URL recognition&lt;br /&gt;
* HTML tag patterns&lt;br /&gt;
* Custom ruby code for passive and aggressive operations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sample output is presented on a screenshot below:&lt;br /&gt;
&lt;br /&gt;
[[Image:whatweb-sample.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== BlindElephant === &lt;br /&gt;
Website: https://community.qualys.com/community/blindelephant &amp;lt;br&amp;gt;&lt;br /&gt;
This great tool works on the principle of static file checksum based version difference thus providing a very high quality of fingerprinting.&lt;br /&gt;
Language: Python&lt;br /&gt;
&lt;br /&gt;
Sample output of a successful fingerprint:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pentester$ python BlindElephant.py http://my_target drupal&lt;br /&gt;
Loaded /Library/Python/2.7/site-packages/blindelephant/dbs/drupal.pkl with 145 versions, 478 differentiating paths, and 434 version groups.&lt;br /&gt;
Starting BlindElephant fingerprint for version of drupal at http://my_target &lt;br /&gt;
&lt;br /&gt;
Hit http://my_target/CHANGELOG.txt&lt;br /&gt;
File produced no match. Error: Retrieved file doesn't match known fingerprint. 527b085a3717bd691d47713dff74acf4 &lt;br /&gt;
&lt;br /&gt;
Hit http://my_target/INSTALL.txt&lt;br /&gt;
File produced no match. Error: Retrieved file doesn't match known fingerprint. 14dfc133e4101be6f0ef5c64566da4a4 &lt;br /&gt;
&lt;br /&gt;
Hit http://my_target/misc/drupal.js&lt;br /&gt;
Possible versions based on result: 7.12, 7.13, 7.14&lt;br /&gt;
&lt;br /&gt;
Hit http://my_target/MAINTAINERS.txt&lt;br /&gt;
File produced no match. Error: Retrieved file doesn't match known fingerprint. 36b740941a19912f3fdbfcca7caa08ca &lt;br /&gt;
&lt;br /&gt;
Hit http://my_target/themes/garland/style.css&lt;br /&gt;
Possible versions based on result: 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 7.10, 7.11, 7.12, 7.13, 7.14&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Fingerprinting resulted in:&lt;br /&gt;
7.14&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Best Guess: 7.14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wappalyzer ===&lt;br /&gt;
Website: http://wappalyzer.com &amp;lt;br&amp;gt;&lt;br /&gt;
Wapplyzer is a Firefox Chrome plug-in. It works only on regular expression matching and doesn't need anything other than the page to be loaded on browser. It works completely at the browser level and gives results in the form of icons. Although sometimes it has false positives, this is very handy to have notion of what technologies were used to construct a target website immediately after browsing a page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sample output of a plug-in is presented on a screenshot below.&lt;br /&gt;
&lt;br /&gt;
[[Image:Owasp-wappalyzer.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
'''Whitepapers'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Saumil Shah: &amp;quot;An Introduction to HTTP fingerprinting&amp;quot; - http://www.net-square.com/httprint_paper.html&lt;br /&gt;
* Anant Shrivastava : &amp;quot;Web Application Finger Printing&amp;quot; - http://anantshri.info/articles/web_app_finger_printing.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Remediation ==&lt;br /&gt;
The general advice is to use several of the tools described above and check logs to better understand what exactly helps an attacker to disclose the web framework. By performing multiple scans after changes have been made to hide framework tracks, it's possible to achieve a better level of security and to make sure of the framework can not be detected by automatic scans. Below are some specific recommendations by framework marker location and some additional interesting approaches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== HTTP headers ====&lt;br /&gt;
Check the configuration and disable or obfuscate all HTTP-headers that disclose information the technologies used. Here is an interesting article about HTTP-headers obfuscation using Netscaler:&lt;br /&gt;
http://grahamhosking.blogspot.ru/2013/07/obfuscating-http-header-using-netscaler.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Cookies ====&lt;br /&gt;
It is recommended to change cookie names by making changes in the corresponding configuration files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== HTML source code ====&lt;br /&gt;
Manually check the contents of the HTML code and remove everything that explicitly points to the framework.&lt;br /&gt;
&lt;br /&gt;
General guidelines:&lt;br /&gt;
*Make sure there are no visual markers disclosing the framework&lt;br /&gt;
*Remove any unnecessary comments (copyrights, bug information, specific framework comments)&lt;br /&gt;
*Remove META and generator tags&lt;br /&gt;
*Use the companies own css or js files and do not store those in a framework-specific folders&lt;br /&gt;
*Do not use default scripts on the page or obfuscate them if they must be used. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Specific files and folders ====&lt;br /&gt;
General guidelines:&lt;br /&gt;
*Remove any unnecessary or unused files on the server. This implies text files disclosing information about versions and installation too.&lt;br /&gt;
*Restrict access to other files in order to achieve 404-response when accessing them from outside. This can be done, for example, by modifying htaccess file and adding RewriteCond or RewriteRule there. An example of such restriction for two common WordPress folders is presented below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RewriteCond %{REQUEST_URI} /wp-login\.php$ [OR]&lt;br /&gt;
RewriteCond %{REQUEST_URI} /wp-admin/$&lt;br /&gt;
RewriteRule $ /http://your_website [R=404,L]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, these are not the only ways to restrict access. In order to automate this process, certain framework-specific plugins exist. One example for WordPress is StealthLogin (http://wordpress.org/plugins/stealth-login-page).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Additional approaches ====&lt;br /&gt;
General guidelines:&lt;br /&gt;
*Checksum management &lt;br /&gt;
*:The purpose of this approach is to beat checksum-based scanners and not let them disclose files by their hashes. Generally, there are two approaches in checksum management:&lt;br /&gt;
*:*Change the location of where those files are placed (i.e. move them to another folder, or rename the existing folder)&lt;br /&gt;
*:*Modify the contents - even slight modification results in a completely different hash sum, so adding a single byte in the end of the file should not be a big problem.&lt;br /&gt;
*Controlled chaos&lt;br /&gt;
*:A funny and effective method that involves adding bogus files and folders from other frameworks in order to fool scanners and confuse an attacker. But be careful not to overwrite existing files and folders and to break the current framework!&lt;/div&gt;</summary>
		<author><name>Eduardo Castellanos Najera</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Day_Guatemala_2011&amp;diff=118991</id>
		<title>OWASP Day Guatemala 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Day_Guatemala_2011&amp;diff=118991"/>
				<updated>2011-10-13T02:35:12Z</updated>
		
		<summary type="html">&lt;p&gt;Eduardo Castellanos Najera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El Intecap junto con OWASP Guatemala invitan a participar de la Primer Jornada de Seguridad en aplicaciones WEB “OWASP Day Guatemala”, que se realizará el próximo viernes 19 de agosto en el auditorio del Intecap ubicado en el Centro TICS Calle del Estadio Mateo Flores 8-79 Zona 5. &lt;br /&gt;
&lt;br /&gt;
==== Resumen ====&lt;br /&gt;
&lt;br /&gt;
'''Objetivos de la jornada:'''&lt;br /&gt;
&lt;br /&gt;
El paradigma de desarrollo de los sistemas de información esta en constante cambio. La aparición de las tecnologías Web 2.0 permitió la amplia implantación y uso de aplicaciones basadas en web debido a su fácil escalabilidad y flexibilidad.&lt;br /&gt;
Como resultado de este cambio de paradigma, los requisitos de seguridad también han cambiado. Estos sistemas de información basados en web tienen requisitos de seguridad diferentes en comparación con los sistemas tradicionales. Asimismo, se han evidenciado importantes cuestiones de seguridad y protección de la privacidad que deben ser resueltas.&lt;br /&gt;
Esta jornada pretende reunir a expertos de seguridad de aplicaciones investigadores, educadores, profesionales de la industria, la academia y comunidades internacionales como OWASP, a fin de discutir dichos problemas y abrir nuevas soluciones en seguridad de aplicaciones.&lt;br /&gt;
&lt;br /&gt;
'''A quien esta dirigido:'''&lt;br /&gt;
&lt;br /&gt;
La charla está especialmente dirigida a Desarrolladores,  Analistas de Software, Analistas de Seguridad, Gerentes de Proyectos IT,  Responsables de la seguridad IT.&lt;br /&gt;
&lt;br /&gt;
=== Programa del Evento ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=4%&amp;gt;14:30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#BCA57A&amp;quot; width=*&amp;gt;&amp;lt;b&amp;gt;Registro de Asistentes&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;15.00h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt; Presentación OWASP Chapter Guatemala&amp;lt;/b&amp;gt;    [http://tinyurl.com/3hmtojy Ver la Presentación] &amp;lt;br&amp;gt;Camilo Fernandez&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;15.30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#b9c2dc&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Las diez vulnerabilidades Web mas relevantes&amp;lt;/b&amp;gt;    [http://www.slideshare.net/tabai/owasp-top-10 Ver la Presentación] &amp;lt;br&amp;gt;Eduardo Castellanos&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;16.00h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt;MySQL: SQL injection utilizando Bit Shifting&amp;lt;/b&amp;gt;      [http://bit.ly/p2lZB3 Ver la Presentación]&amp;lt;br&amp;gt;Luis Cordon&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;16.30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#b9c2dc&amp;quot;&amp;gt;&amp;lt;b&amp;gt;PHP: Eliminando SQL injection utilizando data objects&amp;lt;/b&amp;gt;      [http://slidesha.re/nxsNBC Ver la Presentación]&amp;lt;br&amp;gt;Stuardo Rodriguez&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;17.00h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Intervalo - Coffee Break&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;17.30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#b9c2dc&amp;quot;&amp;gt;&amp;lt;b&amp;gt;.NET: Sanitizar input automáticamente&amp;lt;/b&amp;gt;      [http://tinyurl.com/3ap5g3l Ver la Presentación]&amp;lt;br&amp;gt;Mario Guzman&amp;lt;br&amp;gt;[https://github.com/MarioFGC/Owasp.SQL Codigo SQL]&amp;lt;br&amp;gt;[https://github.com/MarioFGC/Owasp.Passwords Codigo Passwords]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;18.00h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt;JAVA: Java security vrs. frameworks de seguridad&amp;lt;/b&amp;gt;      [http://www.slideshare.net/tuxtor/java-security-vs-frameworks Ver la Presentación]&amp;lt;br&amp;gt;Victor Orozco&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;18.30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#b9c2dc&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Móviles: Modelo de seguridad de Android&amp;lt;/b&amp;gt;      [http://bit.ly/owaspAndroid Ver la Presentación]&amp;lt;br&amp;gt;Adrian Catalan&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;19.00h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Mitigando amenazas desde la fase de diseño&amp;lt;/b&amp;gt;      [http://tinyurl.com/3jgh78d Ver la Presentación]&amp;lt;br&amp;gt;Camilo Fernandez&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;19.30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#BCA57A&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Cierre del Evento y Rifas&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Lugar y Fecha ====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Fecha''': Viernes 19 de Agosto de 15:00 a 19:00 hs&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Lugar''': Auditorio del Intecap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Parqueo''': Q 10.00 por todo el evento en el parqueo del Intecap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Registro ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
La Conferencia es libre y abierta al publico de forma gratuita bajo previo registro.&lt;br /&gt;
Para garantízar un evento organizado, los que no esten registrados no se les permitirá el acceso.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IMPORTANTE: Hay 130 Vacantes, luego de su inscripción debe esperar la confirmación de la organización.&lt;br /&gt;
'''Parqueo''': &amp;lt;h2&amp;gt;Q 10.00 por todo el evento en el parqueo del Intecap.&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
Para inscribirse:&lt;br /&gt;
&lt;br /&gt;
'''Registro Cerrado''' &amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Afiche ====&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:OWASP_Guatemala.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;headertabs/&amp;gt;&lt;br /&gt;
[[Category:Latin America]]&lt;/div&gt;</summary>
		<author><name>Eduardo Castellanos Najera</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Guatemala&amp;diff=118990</id>
		<title>Guatemala</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Guatemala&amp;diff=118990"/>
				<updated>2011-10-13T02:34:40Z</updated>
		
		<summary type="html">&lt;p&gt;Eduardo Castellanos Najera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Chapter Template|chaptername=OWASP-Guatemala|extra=The chapter leader is [mailto:cfernandez@develsecurity.com Camilo Fernandez] (CISM, CISA, CISSP, MCSE:Security, CHFI, CEH, CEPT, ISO27001 LEAD AUDITOR, Security+)|mailinglistsite=http://lists.owasp.org/mailman/listinfo/owasp-Guatemala|emailarchives=http://lists.owasp.org/pipermail/owasp-Guatemala}} &lt;br /&gt;
&lt;br /&gt;
== Patrocinios  ==&lt;br /&gt;
&lt;br /&gt;
Hay muchas formas de colaborar y contribuir con el capitulo OWASP Guatemala.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Participando en cualquiera de los proyectos actualmente activos (documentación y herramientas). &lt;br /&gt;
*Proponiendo nuevos proyectos. &lt;br /&gt;
*Participando y aportando ideas en nuestra lista de correo. &lt;br /&gt;
*Asistiendo a las conferencias y reuniones. &lt;br /&gt;
*Promoviendo y dando soporte al proyecto OWASP en general.&lt;br /&gt;
*Coffee Breaks y rifas en nuestros eventos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Noticias del Capitulo  ==&lt;br /&gt;
&lt;br /&gt;
'''2010''':&amp;amp;nbsp;Este año, fuimos a nuestro país hermano de República Dominicana, a impulsar el proyecto OWASP. En este evento dimos las charlas que anteriormente habíamos brindando en nuestro Local Chapter, si desean leer una reseña de nuestras actividades por haya, les dejo el link de la noticia de una de las universidades donde brindamos la charla: [http://www.pucmm.edu.do/STI/campus/Facultades/ingenierias/departamentos/sistemas/Actividades/Paginas/CharlasobreSeguridadInformaticaAmenazas.aspx Ver Noticia]&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''2009''':&amp;amp;nbsp;El año pasado tuvimos nuestro primer evento OWASP, en Guatemala. Tuvimos el privilegio de brindar dos charlas una en la universidad Galileo y la otra en la universidad del valle en Guatemala. A continuación les dejo una breve descripción de las charlas que se llevaron a cabo. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*'''Introducción a la Seguridad Informática''':&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El objetivo de esta charla fue enseñar el campo de la seguridad informática en el mundo actual, esta rama de la informática es bastante reciente, si no totalmente en países latinoamericanos. La meta fue enseñar al alumno diferentes estadísticas adquiridas de los reportes anuales de empresas dentro del “Top 500”, en la rama de seguridad informática, dando a conocer las amenazas, inversiones, productos y tendencias dentro de esta especialidad, adicionalmente se explico que es la seguridad informática y su diferencia con la seguridad de la información, así como las diferentes especializaciones que uno puede aplicar dentro de este campo e instruir que esta es una especialidad adicional la cual los alumnos pueden adoptar luego de estar egresados como por ejemplo las especialidades conocidas de desarrollo de software, infraestructura, redes, etc. &amp;lt;br&amp;gt;[http://www.owasp.org/images/8/89/Introduccion_a_Seguridad_Informatica.pdf Descarga la Presentación] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*'''Introducción a la OWASP''':&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En esta charla se explico que es la organización OWASP (Open Web Application Security Project), así como los proyectos más famosos que han surgido de la misma, Entrando un poco en profundidad en el “Top 10 Security Risks” definidos por profesionales de seguridad de varias industrias alrededor del mundo, adicionalmente entramos a ver la “Testing Guide 3.0”, metodología para la generación de auditorías de seguridad para aplicaciones en línea, la cual se ha vuelto un pilar en metodologías de pruebas de intrusión, también vimos algunos otros proyectos que se están desarrollando internamente así como algunas herramientas que han surgido. &amp;lt;br&amp;gt;[http://www.owasp.org/images/2/21/Introduccion_a_la_OWASP.pdf Descarga la Presentación] &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; Adicionalmente dimos una charla técnica sobre un tema relacionado en seguridad. Si deseas ver los vídeos de las charlas o los comentarios de los alumnos que participaron en la actividad, puedes dirigirte al siguiente link: [http://chitiore.com/2009/09/01/conferencia-de-seguridad-informatica-por-camilo-fernandez-en-la-uvg/ Ver Noticia] &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Reuniones ==&lt;br /&gt;
&lt;br /&gt;
Se proponen reuniones trimestrales y grupos de estudio a formarse relacionados en temas de Seguridad Informatica. Se nombran alguno de ellos:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Análisis de las nuevas tecnologías de la información y las comunicaciones.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Análisis de productos (Software &amp;amp; Appliances).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Investigación de fallas y vulnerabilidades.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Desarrollo de programas y técnicas de exploit relacionadas.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Documentación de soluciones de seguridad.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Desarrollo de herramientas de seguridad.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Demostraciones. Debates y desarrollo investigativo.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beneficios para miembros ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td bgcolor=&amp;quot;#BCA57A&amp;quot; width=*&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt;[[File:Logo_ds.jpg]] [http://www.develsecurity.com DevelSecurity]&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;10% de descuento en el curso de DEEP Hacking: [http://develsecurity.com/capacitacion.html DEEP Hacking] (Aclaracion: No es una actividad oficial de OWASP Fundation) &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td bgcolor=&amp;quot;#BCA57A&amp;quot;&amp;gt;&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Próximos Eventos  ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''OWASP University Tour'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Proximamente estaremos realizando un visita por las universidades tecnologicas de Guatemala, llevando el desarrollo seguro a estudiantes y participantes de forma gratuita.&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* '''[[OWASP Day Guatemala 2011]]'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
El Intecap junto con OWASP Guatemala invitan a participar de la Primer Jornada de Seguridad en aplicaciones WEB “OWASP Day Guatemala”, que se realizará el próximo viernes 19 de agosto en el auditorio del Intecap ubicado en el Centro TICS Calle del Estadio Mateo Flores 8-79 Zona 5. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Latin America]]&lt;/div&gt;</summary>
		<author><name>Eduardo Castellanos Najera</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Day_Guatemala_2011&amp;diff=118989</id>
		<title>OWASP Day Guatemala 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Day_Guatemala_2011&amp;diff=118989"/>
				<updated>2011-10-13T02:33:44Z</updated>
		
		<summary type="html">&lt;p&gt;Eduardo Castellanos Najera: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Resumen ====&lt;br /&gt;
&lt;br /&gt;
'''Objetivos de la jornada:'''&lt;br /&gt;
&lt;br /&gt;
El paradigma de desarrollo de los sistemas de información esta en constante cambio. La aparición de las tecnologías Web 2.0 permitió la amplia implantación y uso de aplicaciones basadas en web debido a su fácil escalabilidad y flexibilidad.&lt;br /&gt;
Como resultado de este cambio de paradigma, los requisitos de seguridad también han cambiado. Estos sistemas de información basados en web tienen requisitos de seguridad diferentes en comparación con los sistemas tradicionales. Asimismo, se han evidenciado importantes cuestiones de seguridad y protección de la privacidad que deben ser resueltas.&lt;br /&gt;
Esta jornada pretende reunir a expertos de seguridad de aplicaciones investigadores, educadores, profesionales de la industria, la academia y comunidades internacionales como OWASP, a fin de discutir dichos problemas y abrir nuevas soluciones en seguridad de aplicaciones.&lt;br /&gt;
&lt;br /&gt;
'''A quien esta dirigido:'''&lt;br /&gt;
&lt;br /&gt;
La charla está especialmente dirigida a Desarrolladores,  Analistas de Software, Analistas de Seguridad, Gerentes de Proyectos IT,  Responsables de la seguridad IT.&lt;br /&gt;
&lt;br /&gt;
=== Programa del Evento ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;80%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=4%&amp;gt;14:30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#BCA57A&amp;quot; width=*&amp;gt;&amp;lt;b&amp;gt;Registro de Asistentes&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;15.00h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt; Presentación OWASP Chapter Guatemala&amp;lt;/b&amp;gt;    [http://tinyurl.com/3hmtojy Ver la Presentación] &amp;lt;br&amp;gt;Camilo Fernandez&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;15.30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#b9c2dc&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Las diez vulnerabilidades Web mas relevantes&amp;lt;/b&amp;gt;    [http://www.slideshare.net/tabai/owasp-top-10 Ver la Presentación] &amp;lt;br&amp;gt;Eduardo Castellanos&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;16.00h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt;MySQL: SQL injection utilizando Bit Shifting&amp;lt;/b&amp;gt;      [http://bit.ly/p2lZB3 Ver la Presentación]&amp;lt;br&amp;gt;Luis Cordon&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;16.30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#b9c2dc&amp;quot;&amp;gt;&amp;lt;b&amp;gt;PHP: Eliminando SQL injection utilizando data objects&amp;lt;/b&amp;gt;      [http://slidesha.re/nxsNBC Ver la Presentación]&amp;lt;br&amp;gt;Stuardo Rodriguez&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;17.00h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Intervalo - Coffee Break&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;17.30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#b9c2dc&amp;quot;&amp;gt;&amp;lt;b&amp;gt;.NET: Sanitizar input automáticamente&amp;lt;/b&amp;gt;      [http://tinyurl.com/3ap5g3l Ver la Presentación]&amp;lt;br&amp;gt;Mario Guzman&amp;lt;br&amp;gt;[https://github.com/MarioFGC/Owasp.SQL Codigo SQL]&amp;lt;br&amp;gt;[https://github.com/MarioFGC/Owasp.Passwords Codigo Passwords]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;18.00h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt;JAVA: Java security vrs. frameworks de seguridad&amp;lt;/b&amp;gt;      [http://www.slideshare.net/tuxtor/java-security-vs-frameworks Ver la Presentación]&amp;lt;br&amp;gt;Victor Orozco&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;18.30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#b9c2dc&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Móviles: Modelo de seguridad de Android&amp;lt;/b&amp;gt;      [http://bit.ly/owaspAndroid Ver la Presentación]&amp;lt;br&amp;gt;Adrian Catalan&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;19.00h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#eeeeee&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Mitigando amenazas desde la fase de diseño&amp;lt;/b&amp;gt;      [http://tinyurl.com/3jgh78d Ver la Presentación]&amp;lt;br&amp;gt;Camilo Fernandez&amp;lt;br&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td valign=top&amp;gt;19.30h&amp;lt;/td&amp;gt;&amp;lt;td bgcolor=&amp;quot;#BCA57A&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Cierre del Evento y Rifas&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Lugar y Fecha ====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Fecha''': Viernes 19 de Agosto de 15:00 a 19:00 hs&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Lugar''': Auditorio del Intecap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Parqueo''': Q 10.00 por todo el evento en el parqueo del Intecap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Registro ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
La Conferencia es libre y abierta al publico de forma gratuita bajo previo registro.&lt;br /&gt;
Para garantízar un evento organizado, los que no esten registrados no se les permitirá el acceso.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IMPORTANTE: Hay 130 Vacantes, luego de su inscripción debe esperar la confirmación de la organización.&lt;br /&gt;
'''Parqueo''': &amp;lt;h2&amp;gt;Q 10.00 por todo el evento en el parqueo del Intecap.&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
Para inscribirse:&lt;br /&gt;
&lt;br /&gt;
'''Registro Cerrado''' &amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Afiche ====&lt;br /&gt;
&amp;lt;center&amp;gt;[[File:OWASP_Guatemala.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;headertabs/&amp;gt;&lt;br /&gt;
[[Category:Latin America]]&lt;/div&gt;</summary>
		<author><name>Eduardo Castellanos Najera</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=OWASP_Day_Guatemala_2011&amp;diff=118988</id>
		<title>OWASP Day Guatemala 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=OWASP_Day_Guatemala_2011&amp;diff=118988"/>
				<updated>2011-10-13T02:21:48Z</updated>
		
		<summary type="html">&lt;p&gt;Eduardo Castellanos Najera: Created page with &amp;quot;==== Bienvenidos ==== El paradigma de desarrollo de los sistemas de información esta en constante cambio. La aparición de las tecnologías Web 2.0 permitió la amplia implantac...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Bienvenidos ====&lt;br /&gt;
El paradigma de desarrollo de los sistemas de información esta en constante cambio. La aparición de las tecnologías Web 2.0 permitió la amplia implantación y uso de aplicaciones basadas en web debido a su fácil escalabilidad y flexibilidad.&lt;br /&gt;
Como resultado de este cambio de paradigma, los requisitos de seguridad también han cambiado. Estos sistemas de información basados en web tienen requisitos de seguridad diferentes en comparación con los sistemas tradicionales. Asimismo, se han evidenciado importantes cuestiones de seguridad y protección de la privacidad que deben ser resueltas.&lt;br /&gt;
Esta jornada pretende reunir a expertos de seguridad de aplicaciones investigadores, educadores, profesionales de la industria, la academia y comunidades internacionales como OWASP, a fin de discutir dichos problemas y abrir nuevas soluciones en seguridad de aplicaciones.&lt;/div&gt;</summary>
		<author><name>Eduardo Castellanos Najera</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=User_talk:Eduardo_Castellanos_Najera&amp;diff=118986</id>
		<title>User talk:Eduardo Castellanos Najera</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=User_talk:Eduardo_Castellanos_Najera&amp;diff=118986"/>
				<updated>2011-10-13T02:09:44Z</updated>
		
		<summary type="html">&lt;p&gt;Eduardo Castellanos Najera: Replaced content with &amp;quot;Security Analyst&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Security Analyst&lt;/div&gt;</summary>
		<author><name>Eduardo Castellanos Najera</name></author>	</entry>

	</feed>