Testing: Spidering and googling

[Up]

Brief Summary
Web spiders are probably one of the most useful tools ever developed for the Internet. After all, with millions of separate and different sites out there today, how else can you gather all that information?

A spider does one thing - it goes out on the web and collects information. The way a typical spider (like Google) works is by looking at one page and finding the relevant information (email address, meta-tags, hidden form data, URL information, links and more) and then it follows all the links in that page, collecting relevant information in each following page, and so on. Pretty soon, you'll end up with thousands of pages and bits of information in your database. This web of paths is where the term 'spider' comes from.

The Google search engine found at http://www.google.com offers many features, including language and document translation; web, image, newsgroups, catalog, and news searches; and more. These features offer obvious benefits to even the most uninitiated web surfer, but these same features offer far more nefarious possibilities to the most malicious Internet users, including hackers, computer criminals, identity thieves, and even terrorists. This article outlines the more harmful applications of the Google search engine, techniques that have collectively been termed "Google Hacking."

Description of the Issue
In 1992, there was about 15,000 websites, now in 2006 the number has exceeded 100 million. What if a simply query to a search engine such as Google such as "Hackable Websites w/ Credit Card Information" produced a list of websites that contained customer credit card data of thousands of customers per company.

If the attacker was aware of a web application that perhaps utilized a clear text password file in a directory and wanted to gather these targets you could search on "intitle:"Index of" .mysql_history" and found on any of the 100 million websites will provide you with a list of the database usernames and passwords OR maybe the attacker has a new method to attack a Lotus Notes web server and he wants to simply see how many targets are on the Internet, he could search "inurl:domcfg.nsf". Apply the same logic to a worm looking for its new victim.

 ADVANCED SEARCH 101 w/Google

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 space follows 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 a syntax such as the following:

operator:search_term

Notice that there's no space between the operator, the colon, and the search term.

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: operator instructs Google to search for a term within the title of a document.

The inurl: operator instructs Google to search only within the URL (web address) of a document. The search term must follow the colon.

Site Mapping

To find every web page Google has crawled for a specific site, use the site: operator. Consider the following query: site:http://www.owasp.org or if you wanted to see who links to the OWASP webpage you could do a link:http://www.owasp.org

Black Box testing and example
Testing for Topic X vulnerabilities: Social Engineering combined with a Spider/Google search - In Progress

Result Expected: ...

Gray Box testing and example
Testing for Topic X vulnerabilities: -INPROGRESS PLACEHOLDER ... Result Expected: ...