Difference between revisions of "Testing: Conduct search engine discovery/reconnaissance for information leakage (OTG-INFO-001)"

From OWASP
Jump to: navigation, search
(1st Draft - OWASP Testing Guide v3)
(1st Draft - OWASP Testing Guide v3)
Line 19: Line 19:
 
<br>
 
<br>
  
== Black Box testing and example ==
+
== Black Box Testing==
'''Description and goal'''
+
The Advanced "site:" Search Operator of Google restricts its Search Results to a specific domain.
  
The scope of this activity is to find information about a single web site published on the internet or to find a specific kind of application such as Webmin or VNC.
+
Google provides the Advanced "cache:" Search Operator but this is the equivalent of clicking the "Cached" link of individual Google Search Results. Hence, the use of the Advanced "site:" Search Operator is advocated.
There are tools available that can assist with this technique, for example googlegath, but it is also possibile to perform this operation manually using Google's web site search facilities.  This operation does not require specialist technical skills and is a good way to collect information about a web target.
+
  
 +
== Example ==
  
'''Useful Google Advanced Search techniques '''
+
To find the web content of http://www.owasp.org indexed by Google Cache the following Google Search Query is issued:
 
+
* Use the plus sign (+) to force a search for an overly common word. Use the minus sign (-) to exclude a term from a search. No spaces follow these signs.
+
* To search for a phrase, supply the phrase surrounded by double quotes (" ").
+
* A period (.) serves as a single-character wildcard.
+
* An asterisk (*) represents any word —- not the completion of a word, as is traditionally used.
+
 
+
Google advanced operators help refine searches. Advanced operators use the following syntax: operator:search_term . Notice that there is no space between the operator, the colon, and the search term. A list of operators and search terms follows:
+
* The ''site'' operator instructs Google to restrict a search to a specific web site or domain. The web site to search must be supplied after the colon.
+
* The ''filetype'' operator instructs Google to search only within the text of a particular type of file. The file type to search must be supplied after the colon. Don't include a period before the file extension.
+
* The ''link'' operator instructs Google to search within hyperlinks for a search term.
+
* The ''cache'' operator displays the version of a web page as it appeared when Google crawled the site. The URL of the site must be supplied after the colon.
+
* The ''intitle'', ''allintitle'' operator instructs Google to search for a term within the title of a document.
+
* The ''inurl'', ''allinurl'' operator instructs Google to search only within the URL (web address) of a document. The search term must follow the colon.
+
* The ''info'' operator instructs Google to search only within the summary information of a site
+
* The ''phonebook'' operator instructs Google to search business or residential phone listing.
+
* The ''stocks'' operator instructs Google to search for stock market information about a company.
+
* The ''bphonebook'' operator instructs Google to search business phone listing only.
+
The following are a set googling examples (for a complete list look at [1]):
+
 
+
'''Test:'''
+
 
+
 
<pre>
 
<pre>
site:www.xxxxx.ca AND intitle:"index.of" "backup"
+
site:owasp.org
 
</pre>
 
</pre>
  
'''Result:'''
+
== Remediation ==
  
The operator site: restricts a search in a specific domain, while the intitle: operator makes it possibile to find the pages that contain "index of backup" as a link title of the Google output.<br>
+
If the removal is not urgent then simply modifying the robots.txt file to "Disallow:" this content will result in its removal from the index once Googlebot has completed crawling the web site.
The AND boolean operator is used to combine more conditions in the same query.
+
  
<pre>
+
For urgent removal, Google provide the "URL Removal" function as part of their "Google Webmaster Tools" service.
Index of /backup/
+
 
+
Name                    Last modified      Size  Description
+
 
+
Parent Directory        21-Jul-2004 17:48      - 
+
</pre>
+
 
+
'''Test:'''
+
 
+
<pre>
+
"Login to Webmin" inurl:10000
+
</pre>
+
 
+
'''Result:'''
+
 
+
The query produces an output with every Webmin authentication interface collected by Google during the spidering process.
+
 
+
'''Test:'''
+
 
+
<pre>
+
site:www.xxxx.org AND filetype:wsdl wsdl
+
</pre>
+
 
+
'''Result:'''
+
 
+
The filetype operator is used to find specific kind of files on the web-site.
+
 
+
'''How can you prevent Google hacking?'''
+
+
Make sure you are comfortable with sharing everything in your public Web folder with the whole world, because Google will share it, whether you like it or not. Also, in order to prevent attackers from easily figuring out what server software you are running, change the default error messages and other identifiers. Often, when a "404 Not Found" error is detected, servers will return a page like that says something like:
+
 
+
<pre>
+
Not Found
+
The requested URL /cgi-bin/xxxxxx was not found on this server.
+
Apache/1.3.27 Server at your web site Port 80
+
</pre>
+
 
+
The only information that the legimitate user really needs is a message that says "Page Not found." Restricting the other information will prevent your page from turning up in an attacker's search for a specific flavor of server.
+
Google periodically purges it's cache, but until then your sensitive files are still being offered to the public. If you realize that the search engine has cached files that you want to be unavailable to be viewed you can go to  http://www.google.com/remove.html  and follow the instructions on how to remove your page, or parts of your page, from their database.
+
 
+
'''Using a search engine to discover virtual hosts'''
+
 
+
Live.com, another well-known search engine (see link at the bottom of the page), provides the "ip" operator, which returns all the pages that are known to belong to a certain IP address. This is a very useful technique to find out which virtual hosts are configured on the tested server. For instance, the following query will return all indexed pages belonging to the domain owasp.org:
+
<pre>
+
ip:216.48.3.18
+
</pre>
+
  
 
== Gray Box testing and example ==  
 
== Gray Box testing and example ==  

Revision as of 02:34, 19 July 2008

OWASP Testing Guide v3 Table of Contents

This article is part of the OWASP Testing Guide v3. The entire OWASP Testing Guide v3 can be downloaded here.

OWASP at the moment is working at the OWASP Testing Guide v4: you can browse the Guide here

Contents


This is a draft of a section of the new Testing Guide v3

Brief Summary


This section describes how to retrieve and remove the web content stored by the Google Cache of the application being tested.

This procedure is applicable to other Search Engines such as Live, Yahoo!, etc.

Description of the Issue


When web content is indexed by Google their Crawler referred to as "Googlebot" refers to the robots.txt file in the web root directory.

If the robots.txt file is not revised during changes to web content, then it is possible for web content not intended to be included in Google's Search Results to be indexed by Google.

Therefore, this web content must be removed from the Google Cache.

Black Box Testing

The Advanced "site:" Search Operator of Google restricts its Search Results to a specific domain.

Google provides the Advanced "cache:" Search Operator but this is the equivalent of clicking the "Cached" link of individual Google Search Results. Hence, the use of the Advanced "site:" Search Operator is advocated.

Example

To find the web content of http://www.owasp.org indexed by Google Cache the following Google Search Query is issued:

site:owasp.org

Remediation

If the removal is not urgent then simply modifying the robots.txt file to "Disallow:" this content will result in its removal from the index once Googlebot has completed crawling the web site.

For urgent removal, Google provide the "URL Removal" function as part of their "Google Webmaster Tools" service.

Gray Box testing and example

Grey Box testing is the same as Black Box testing above

References

Whitepapers
"Against the System: Rise of the Robots" - Michal Zalewski - http://www.phrack.org/issues.html?issue=57&id=10#article

Tools
Google SOAP Search API - http://code.google.com/apis/soapsearch/
Google Hacking Database (GHDB) - http://johnny.ihackstuff.com/ghdb.php
GHDB Tool from GNUCITIZEN - http://www.gnucitizen.org/ghdb
Goolag from cDC - http://www.goolag.org/download.html