Google Dorking: A Beginner's Guide to Google Dorks (2026)

Penetration Testing
16 min read
Google Dorking: A Beginner's Guide to Google Dorks (2026)
On this page
  1. What Is Google Dorking?
  2. The Google Search Operators That Matter
    1. The Ones Google Actually Documents
    2. Operators That Are Dead in 2026
  3. Combining Operators: Your First Real Dorks
    1. Three Patterns Worth Memorizing
  4. A Google Dorks Cheat Sheet You Can Trust
  5. The Google Hacking Database
  6. Google Dorking in CTFs and Bug Bounty Recon
  7. How to Check What Google Knows About Your Site
    1. The robots.txt Trap
  8. Legal and Ethical Considerations
    1. Where You Are Clearly Fine
    2. Where People Get Themselves in Trouble
  9. Frequently Asked Questions
  10. Your Next Steps

Google dorking is the closest thing security work has to a free lunch. You type a search query, Google hands back spreadsheets, login portals, and configuration files that nobody meant to publish, and you have not sent a single packet to the target. The technique is older than most people practicing it: researcher Johnny Long started collecting these queries in 2002 and called them googleDorks. More than twenty years later, Google dorks are still the opening move in most penetration testing engagements and in nearly every OSINT-flavored CTF challenge you will meet.

This guide covers the operators that still work in 2026, and flags the ones that popular cheat sheets keep listing years after Google killed them. You will learn how to chain operators into queries that actually surface something, how the Google Hacking Database fits in, and exactly where the legal line sits. If you would rather learn by doing, the Google dorking chapter of our OSINT course runs these techniques as guided exercises in the browser.

TL;DR: Google dorking means using advanced search operators such as site:, filetype:, intitle:, and inurl: to find information that is publicly indexed but was never meant to be found. It is passive reconnaissance: you query Google, not the target. The skill is not memorizing dorks, it is combining three or four operators to cut a million results down to the twenty worth reading.

What Is Google Dorking?

Google dorking is the practice of using advanced search operators to find information a search engine has indexed but that its owner never intended to publish. A dork is one of those queries. Instead of asking Google what a page is about, you ask it for pages with a specific file type, a specific word in the URL, or a specific phrase in the title, and you let the misconfigurations rise to the top.

The name comes from Johnny Long, who began cataloging queries that exposed sensitive systems in 2002 and organized them into the Google Hacking Database (GHDB) in 2004. He presented the research at Black Hat in 2004 and published Google Hacking for Penetration Testers in 2005. Since 2010 the GHDB has been maintained by OffSec as part of the Exploit Database.

Here is the part beginners usually get wrong. Dorking does not exploit anything in Google. Google is doing its job perfectly: it crawled a public URL and indexed what it found. The vulnerability is on the other side, where somebody left directory listing enabled, pushed a .env file into a web root, or put an internal report on a server with no authentication and a link pointing at it. Dorking just gives you a query language for finding that class of mistake at scale.

MITRE tracks this under the Reconnaissance tactic as T1593.002, Search Engines, describing how adversaries use "specialized queries to look for spillages/leaks of sensitive information such as network details or credentials." Real attackers use it, which is exactly why defenders need to know it.

The Google Search Operators That Matter

There are dozens of operators floating around in blog posts. Eight of them do almost all the work. Learn these and you can build any dork you will ever need.

OperatorExampleWhat it does
site:site:example.comRestricts results to one domain or subdomain
filetype: / ext:filetype:pdfReturns only that file extension
intitle:intitle:"index of"Word or phrase in the page title
inurl:inurl:adminString anywhere in the URL
intext:intext:passwordWord or phrase in the page body
"...""internal use only"Exact phrase, no synonyms or stemming
--site:blog.example.comExcludes whatever follows it
OR or |filetype:xls OR filetype:csvMatches either side

The Ones Google Actually Documents

Worth knowing which of these Google supports on the record. Its official search refinement page documents only exact-phrase quotes, site:, the minus sign for exclusion, filetype:, and the date operators before: and after:. Everything else in the table above is undocumented.

Undocumented does not mean broken. intitle:, inurl:, and intext: have worked for two decades and show no sign of going anywhere. It does mean Google owes you nothing if one of them changes behavior next Tuesday, which is a real thing that happens.

The prefixed variants are worth a line each. allintitle: and allinurl: require every following word to match instead of just one, which is occasionally handy but combines badly with other operators. In practice you will use plain intitle: twice rather than reaching for allintitle: once.

Operators That Are Dead in 2026

This is where most cheat sheets fall apart. If an article still lists these, it was copied rather than tested:

  • cache: - gone. Google retired its public page store in February 2024 and removed the operator with it. Search Liaison confirmed the removal publicly. Google added links to the Internet Archive in search results in September 2024 as a partial replacement.
  • link: - deprecated in 2017. It still returns something, but the sample is so heavily filtered that the output is not usable for anything.
  • info: - retired. Google surfaces the equivalent page details through the "About this result" panel instead.
  • + and ~ - both dropped years ago. Use quotes for exact matching instead of +.

When you need a cached copy of a page that has since been cleaned up, go straight to the Wayback Machine. That habit is more reliable than cache: ever was, because the archive keeps history rather than a single snapshot.

💻
Practice this now: Git Exposed - a live web server that shipped its .git directory to production, exactly the kind of exposure inurl: dorks are built to find. Runs in the browser, no setup.

Combining Operators: Your First Real Dorks

One operator is a search. Three operators is a dork. The whole craft is stacking constraints until the noise is gone, and the fastest way to understand that is to build one query in stages.

Say you are testing a company and want to know what documents of theirs are sitting in Google's index. Start wide:

site:example.com

That is every indexed page on the domain, which on a real company is thousands of results and useless. Narrow it to documents rather than web pages:

site:example.com filetype:pdf

Better, but a corporate site publishes brochures and datasheets on purpose. You want the ones published by accident, so add a phrase that only appears on documents somebody meant to keep inside:

site:example.com filetype:pdf "internal use only"

Now cut the subdomain that hosts the public marketing library, because you already know what is on it:

site:example.com -site:downloads.example.com filetype:pdf "internal use only"

Four operators, and the result set went from thousands of pages to a list you can read in two minutes. That progression, wide to narrow with a subtraction at the end, is the pattern behind every good dork.

Three Patterns Worth Memorizing

Once the stacking clicks, most useful dorks fall into three shapes.

Directory listing. intitle:"index of" matches the page title Apache and nginx generate when directory browsing is left on and no index file exists. Add a keyword to aim it: intitle:"index of" "backup". This one dork is responsible for a large share of accidental exposures on the internet, and it has been for twenty years.

Login portals. inurl:admin and intitle:"login" find administrative interfaces that were never meant to face the internet. On an authorized engagement this maps your attack surface fast, and it often turns up a forgotten staging panel running two major versions behind production.

Error messages. A stack trace in the index tells you the framework, sometimes the version, and occasionally a file path from the server. Searching an exact error string with site: attached is how you find applications running in debug mode.

In practice, the operator combination matters less than the keyword you feed it. Anyone can run filetype:xlsx. The person who finds something ran filetype:xlsx with a word that only appears in the target's internal templates, and they got that word from an ordinary page on the target's own website.

A Google Dorks Cheat Sheet You Can Trust

Every dork below uses only operators confirmed working in 2026. Read the middle column before you copy the left one, because knowing why a dork works is what lets you write your own.

DorkWhy it worksTypical use
site:example.comScopes everything to one domainStart of any authorized recon
site:*.example.com -wwwWildcard subdomain, minus the main siteFinding dev and staging hosts
intitle:"index of" "parent directory"Both strings appear on generated listing pagesOpen directory browsing
filetype:env "DB_PASSWORD"Framework config files use fixed key namesLeaked application secrets
filetype:log inurl:errorLog files served as static contentPaths, versions, stack traces
filetype:sql "INSERT INTO"Every database dump contains this clauseExposed database exports
inurl:"/wp-content/uploads/" filetype:pdfWordPress puts every upload in one pathDocuments uploaded but never linked
intitle:"index of" inurl:.gitA browsable version control directorySource code and commit history
site:pastebin.com "example.com"Pasted leaks mention the victim domainCredential and dump monitoring
site:github.com "example.com" passwordHardcoded secrets survive in public reposDeveloper mistakes
intitle:"login" inurl:admin site:example.comAdmin panels title and path themselves consistentlyMapping the attack surface
site:example.com after:2026-01-01Filters by last update dateSpotting recently changed pages

Two habits will save you time. First, run the same dork on Bing and DuckDuckGo when Google comes back empty, because the three engines index different corners of the web and Bing in particular supports ip: for reverse IP lookups. Second, expect a CAPTCHA if you fire off twenty dorks in a row. That is Google rate limiting you, not blocking you, and slowing down fixes it. Automation tools that spray hundreds of queries per minute get your IP into a much longer timeout.

💻
Practice this now: Backup Hunter - find the leftover backup file a developer forgot to delete and read what it leaks, the same payoff a filetype: dork gives you. Free to start, no credit card required.

The Google Hacking Database

The Google Hacking Database is a categorized public index of search queries that expose sensitive information or vulnerable systems. It has been running since 2004 and lives on Exploit-DB, where every entry is tagged, dated, and credited to whoever submitted it.

Entries are grouped by what they find, and the category names tell you a lot about how systems fail:

  • Files Containing Passwords, Files Containing Usernames, Files Containing Juicy Info
  • Sensitive Directories, Vulnerable Files, Vulnerable Servers
  • Pages Containing Login Portals, Various Online Devices
  • Error Messages, Web Server Detection, Footholds
  • Advisories and Vulnerabilities, Network or Vulnerability Data, Sensitive Online Shopping Info

Use the GHDB as a source of ideas rather than a list to run. Many older entries target software that no longer exists, and Google has quietly stopped matching some of the syntax. The value is in the pattern: read ten entries under "Vulnerable Servers" and you will start noticing which strings a given product always puts in its titles, which is knowledge you can point at whatever you are actually testing.

A strong opinion, since somebody should say it: ignore the "1000 best Google dorks" listicles. They are copies of copies of the GHDB with the dead operators left in, and working through one teaches you nothing except how to paste. Eight operators and the reasoning behind them will take you further than a thousand queries you did not write.

Google Dorking in CTFs and Bug Bounty Recon

For a CTF player, dorking shows up in two places. OSINT challenges hand you a name, a handle, or a photo and expect you to find the rest, and a well-aimed site: query on the platforms where people leak things about themselves will beat any tool. Web challenges sometimes hide a hint or an old version of a page outside the challenge box entirely, and the Wayback Machine plus a site: dork gets you there.

Bug bounty recon is where dorking earns real money. The workflow that works looks like this:

  1. Read the program scope and write down every domain and wildcard you are allowed to touch.
  2. Run site:*.target.com -www to enumerate subdomains Google already knows about, for free, before you resolve a single DNS record.
  3. Hunt for file types nobody publishes on purpose: filetype:env, filetype:sql, filetype:log, filetype:bak.
  4. Search the code hosts: site:github.com "target.com" paired with words like api_key, token, or the company's internal project names.
  5. Check what an old version of the site exposed, then verify whether the path is still live.

Notice what that list does not include: touching the target. Everything above queries a third party, which is why dorking is classified as passive reconnaissance and why it is safe to run before an engagement window opens. The moment you fetch one of those URLs directly, or start brute-forcing paths with a tool like Gobuster, you have crossed into active testing and the rules change completely.

Dorking pairs naturally with the rest of a recon toolkit rather than replacing it. Our roundup of free OSINT tools covers where subdomain enumeration, breach lookups, and metadata extraction take over once Google has given you everything it has.

How to Check What Google Knows About Your Site

The defensive half of this skill takes ten minutes and is the single highest-value thing in this article for anyone who runs a website. Run these against your own domain right now:

site:yourdomain.com intitle:"index of"
site:yourdomain.com filetype:env
site:yourdomain.com filetype:sql OR filetype:bak OR filetype:log
site:yourdomain.com inurl:admin OR inurl:login
site:yourdomain.com "confidential" OR "internal use only"

Anything that comes back is already public. It has been crawled, indexed, and served to anybody who asked, and no amount of deleting it today changes who read it yesterday.

The DHS, FBI, and NCTC issued a joint bulletin on this in July 2014, titled "Malicious Cyber Actors Use Advanced Search Techniques". It documents an October 2013 case where attackers dorked for sites running a vulnerable message board product, then compromised 35,000 websites and created administrator accounts on them. The bulletin's own advice was to minimize what goes online, self-audit using the GHDB, and remove indexed content through Search Console.

The robots.txt Trap

The instinct is to add the sensitive path to robots.txt. Do not. Two problems, and both are worse than the thing you were fixing.

First, robots.txt controls crawling, not indexing. A URL that is disallowed can still appear in Google's results if anything anywhere links to it, because Google never had to crawl the page to know it exists. Google's own documentation says plainly that robots.txt is not a mechanism for keeping a page out of search results.

Second, robots.txt is a public file. Every hacker's first request on a new target is /robots.txt, precisely because administrators helpfully list their most sensitive directories in it. You have written a map to the treasure and left it at the front door.

What to do instead: put a noindex meta tag or an X-Robots-Tag header on pages that must stay out of the index, use Search Console's removal tool for anything already indexed, and put actual authentication in front of anything genuinely sensitive. Directory listing should be off on every production web server, and a .env file should never be reachable from a web root in the first place.

Critical reminder: Reading a search results page is not a crime. Opening a document you know you were never authorized to see, or logging into an admin panel a dork handed you, absolutely can be. In the United States that is unauthorized access under the Computer Fraud and Abuse Act, and most countries have an equivalent law.

Google dorking sits in genuinely gray territory, and the honest answer is that the query is fine and what you do next might not be. The dork itself queries Google. Acting on the result touches somebody else's system.

Where You Are Clearly Fine

  • Auditing domains you own or administer
  • Engagements covered by a signed authorization that names the domain in scope
  • Bug bounty programs, within the scope and the rules the program publishes
  • CTF competitions and training labs built for practice
  • Security research where you report findings and do not download or redistribute the data

Where People Get Themselves in Trouble

  • Downloading exposed personal data "to check if it is real"
  • Logging into a portal with credentials found in an indexed file, even once, even to confirm they work
  • Publishing a dork that points at a specific unpatched organization before they have fixed it
  • Automating hundreds of queries against a domain outside any authorization

If you find something exposed and it is not yours, the right move is responsible disclosure: contact the organization, describe what is public and how you found it, do not touch the data, and give them time to fix it. For where reconnaissance sits inside a structured methodology, OWASP's Web Security Testing Guide documents the information gathering phase in detail.

Frequently Asked Questions

Is Google dorking illegal?

Running a search query is legal. Accessing systems or data you are not authorized to access is not, regardless of how you found the URL. The search itself is passive, and everything after it is judged like any other access. Stay on domains you own, are contracted to test, or that a bug bounty program has put in scope.

Do Google dorks still work in 2026?

Yes. The core operators site:, filetype:, intitle:, inurl:, and intext: all work. What changed is that cache:, link:, and info: were retired, and Google rate limits rapid-fire queries with a CAPTCHA. Dorks that target software from 2009 mostly return nothing because the software is gone, not because the technique stopped working.

What is the difference between Google dorking and Google hacking?

Nothing. They are two names for the same technique, both traced back to Johnny Long's research in the early 2000s. "Google hacking" is the older term and the one in the title of his 2005 book. "Google dorking" is what most people say now, and it is what the 2014 DHS bulletin used.

Can Google tell that I am dorking?

Google sees your queries the same way it sees any search. Very high query rates trigger a CAPTCHA or a temporary block on your IP, which is ordinary abuse prevention rather than a security flag. The site you are researching sees nothing at all, because you never contacted it. That is the defining property of passive reconnaissance.

What is the best Google dork for beginners?

site:yourdomain.com intitle:"index of" pointed at a domain you own. It teaches you two operators, it is unambiguously legal, and if it returns results you have found a real misconfiguration on your own infrastructure worth fixing today.

How do I stop my site from being found by Google dorks?

Turn off directory listing, keep configuration and backup files outside the web root, and put authentication in front of anything sensitive. Use a noindex tag or X-Robots-Tag header for pages that must stay out of the index, and Search Console's removal tool for content already indexed. Do not rely on robots.txt: it does not prevent indexing and it publicly advertises the paths you wanted hidden.

Your Next Steps

Google dorking rewards curiosity more than tooling. Eight operators, the habit of stacking them from wide to narrow, and a keyword nobody else thought to try will find more than any dork list you can download. Everything else in this article, the GHDB categories, the dead operators, the defensive audit, is context around that one skill.

Start with the safest possible target: your own domain, or a family member's site with their blessing. Run the five self-audit dorks above and see what comes back. Then take the technique somewhere it has a scoreboard. The OSINT for Hackers course puts Google dorks in the full reconnaissance workflow alongside domain recon and code search, and the Git Exposed lab lets you work a real exposed repository from discovery to the secret inside. Both run in the browser on HackerDNA's free tier, no setup and no credit card.

HackerDNA Team

HackerDNA Team

Written by the HackerDNA team - cybersecurity professionals building hands-on hacking labs and educational content to help you develop real-world security skills.

Meet the Team

Ready to put this into practice?

Stop reading, start hacking. Get hands-on experience with 170+ real-world cybersecurity labs.

Start Hacking Free
25,000+ Hackers 100+ Labs & Courses Free
Start Hacking Free