Google Dorking یکی از تکنیکهای شناختهشده در جستوجوی پیشرفته است که به پژوهشگران امنیت، تیمهای دفاعی و شکارچیان باگ کمک میکند ردپاهای افشاشده از سرویسهای وب را سریعتر پیدا کنند. این روش به جای جستوجوی معمولی، از اپراتورها و الگوهای دقیق برای یافتن محتوای ایندکسشده استفاده میکند؛ محتوایی که گاهی به اشتباه عمومی شده، مانند فایلهای تنظیمات، اسناد داخلی، گزارشها، یا مسیرهای مدیریتی. در فضای باگبانتی، هدف اصلی این تکنیک باید افزایش آگاهی امنیتی و کشف دادههای نشتکرده در دامنههای مجاز باشد، نه سوءاستفاده از سامانههای دیگران.
Google Dorking به استفاده از قابلیتهای جستوجوی پیشرفته موتورهای جستوجو برای پیدا کردن اطلاعات خاص گفته میشود. وقتی یک وبسایت یا سرور فایلهایی را بهاشتباه در دسترس عموم قرار میدهد، ممکن است آن محتوا توسط موتورهای جستوجو ایندکس شود. در این حالت، جستوجوی دقیق میتواند آن نشانهها را آشکار کند. برای مثال، فایلهای پیکربندی، اسناد قابل دانلود، پوشههای فهرستشده، گزارش خطا، یا مسیرهای مدیریت، همگی از مواردی هستند که در یک ارزیابی امنیتی باید بررسی شوند.
در باگبانتی، بسیاری از ضعفها از جنس آسیبپذیریهای پیچیده نیستند؛ بلکه نتیجه پیکربندی اشتباه یا افشای ناخواسته اطلاعات هستند. Google Dorking دقیقاً برای کشف همین دسته از مشکلات مفید است. یک فایل .env، یک backup دیتابیس، یا یک گزارش خطا ممکن است حاوی توکن، نام کاربری، کلید API یا اطلاعات ساختار داخلی سیستم باشد. چنین دادههایی میتوانند زنجیرهای از ریسکها ایجاد کنند و زمینهساز دسترسی غیرمجاز یا حملات ثانویه شوند.
با هدف کشف آسیبپذیریهای متنوع در وباپلیکیشنها
هدف: کشف ساختار پوشهها و فایلهای فاش شده
site: intitle:"index of" | intitle:"directory listing" | intitle:"file index" | intitle:"apache/htdocs" | intitle:"nginx/html" | intitle:"webroot"
inurl:index.of | inurl:directory.listing | inurl:htdocs | inurl:www | inurl:webroot
هدف: کشف فایلهای تنظیمات که ممکن است اطلاعات محرمانه را فاش کنند
site: ext:xml | ext:conf | ext:cnf | ext:reg | ext:inf | ext:cfg | ext:txt | ext:ora | ext:ini | ext:yaml | ext:yml | ext:env | ext:json
inurl:config | inurl:settings | inurl:properties | inurl:etc | inurl:appsettings
هدف: دسترسی به پایگاههای داده که ممکن است حاوی اطلاعات کاربران یا حساس باشند
site: ext:sql | ext:dbf | ext:mdb | ext:sqlite | ext:bak | ext:dump | ext:backup | ext:ldf | ext:mdf
inurl:database | inurl:db | inurl:backup | inurl:archive
هدف: کشف نقاط ضعف رایج در وردپرس، قالبها و افزونهها
site: inurl:wp-admin | inurl:wp-login | inurl:wp-content | inurl:wp-includes | inurl:plugins | inurl:themes | inurl:uploads | inurl:download | inurl:user-profile
intitle:"wp-config.php" | intitle:"wordpress database error" | filetype:php inurl:wp-content/plugins
هدف: بررسی لاگهای سرور برای یافتن خطاها، اطلاعات کاربران یا فعالیتهای مشکوک
site: ext:log | ext:txt
inurl:logs | inurl:error.log | inurl:access.log | inurl:debug.log | inurl:apache | inurl:nginx
هدف: کشف نسخههای قدیمی یا پشتیبان فایلها که ممکن است حاوی اطلاعات حساس یا کد آسیبپذیر باشند
site: ext:bkf | ext:bkp | ext:bak | ext:old | ext:backup | ext:tar | ext:gz | ext:zip | ext:rar | ext:7z | ext:sql.gz | ext:tar.gz
inurl:backup | inurl:backups | inurl:archive | inurl:old | inurl:prev
هدف: یافتن فرمهای ورود برای تست احراز هویت و حملات Brute Force
site: inurl:login | inurl:signin | inurl:logon | inurl:admin | inurl:auth | inurl:account
intitle:"login" | intitle:"sign in" | intitle:"administration" | intitle:"user login" | intitle:"access denied"
هدف: شناسایی برنامههایی که به خطاهای SQL حساس هستند و احتمال تزریق SQL وجود دارد
site: intext:"sql syntax near" | intext:"syntax error has occurred" | intext:"incorrect syntax near" | intext:"unexpected end of SQL command" | intext:"Warning: mysql_connect()" | intext:"Warning: mysql_query()" | intext:"Warning: pg_connect()" | intext:"ORA-" | intext:"microsoft ole db provider" | intext:"odbc driver"
filetype:php intext:"mysqli_connect" | filetype:php intext:"mysql_connect" | filetype:php intext:"PDO::__construct"
هدف: کشف اسناد حساس مانند گزارشها، صورتحسابها، یا اطلاعات محرمانه
site: ext:doc | ext:docx | ext:odt | ext:pdf | ext:rtf | ext:sxw | ext:psw | ext:ppt | ext:pptx | ext:pps | ext:csv | ext:xls | ext:xlsx | ext:xlsm
inurl:documents | inurl:reports | inurl:archive | inurl:download | inurl:public
هدف: کشف اطلاعات حساس سرور و PHP که از فایل phpinfo.php فاش میشود
site: ext:php intitle:phpinfo "published by the PHP Group" | intitle:"phpinfo()"
inurl:phpinfo.php | inurl:info.php
هدف: یافتن وبشِلها یا دربهای پشتی که برای دسترسی غیرمجاز نصب شدهاند
site: inurl:shell | inurl:backdoor | inurl:wso | inurl:cmd | inurl:c99 | inurl:r57 | inurl:webadmin | inurl:adminpanel | inurl:htdocs | inurl:tmp
intext:shadow | intext:passwd | intext:boot.ini | intext:cmd.exe
هدف: یافتن نقاطی که وبسایت کاربر را به سایتهای مخرب هدایت میکند
site: inurl:redir | inurl:url | inurl:redirect | inurl:return | inurl:src=http | inurl:r=http | inurl:redirect_uri | inurl:target=http | inurl:next=http
site: inurl:wp-content/uploads | inurl:wp-content/themes | inurl:wp-content/plugins | inurl:wp-includes/images | inurl:wp-includes/js
هدف: بازیابی کد منبع از مخازن Git که به اشتباه در دسترس عموم قرار گرفتهاند
inurl:"/.git/" -github -gitlab -bitbucket -stackoverflow -codepen -pastebin -gist
filetype:git
هدف: یافتن فایلهای SWF قدیمی که ممکن است حاوی آسیبپذیریهای Client-Side باشند
site: inurl:ext:swf | inurl:swf | ext:swf
intitle:"flash file"
# هدف: کشف سرویسهای وب (Web Services) و API هایی که ممکن است نقاط ورودی برای حمله باشند
site: filetype:wsdl | filetype:WSDL | ext:svc | inurl:wsdl | filetype:?wsdl | inurl:asmx?wsdl | inurl:jws?wsdl | intitle:_vti_bin/sites.asmx?wsdl | inurl:_vti_bin/sites.asmx?wsdl | inurl:api.php?wsdl
site:filetype:config "apache" | filetype:conf "apache" | filetype:htaccess "apache" | inurl:apache.conf | inurl:httpd.conf
هدف: یافتن فایلهای نصب برنامهها که ممکن است حاوی آسیبپذیری یا اطلاعات پیشفرض باشند
site: inurl:readme | inurl:license | inurl:install | inurl:setup | inurl:config | inurl:DEFAULT.PHP | inurl:INSTALL.TXT | inurl:INSTALL.PHP
هدف: کشف برنامههایی که از Apache Struts استفاده میکنند و احتمال وجود RCE (Remote Code Execution)
site: ext:action | ext:struts | ext:do | ext:xhtml | ext:jsp
inurl:/struts/ | inurl:/execute.action
هدف: یافتن پیکربندیهای حساس سرور و اطلاعات PHP
site: inurl:"/phpinfo.php" | inurl:".htaccess" | filetype:htaccess
هدف: کشف زیردامنهای یک سازمان که ممکن است کمتر محافظت شده باشند
site: . -site:www. -site:mail. -site:ftp. -site:blog. -site:dev. -site:staging. -site:test. -site:uat.
inurl:www. | inurl:mail. | inurl:ftp. | inurl:blog. | inurl:dev. | inurl:staging. | inurl:test. | inurl:uat.
هدف: کشف API های قابل دسترس و مستندات آنها برای یافتن آسیبپذیریها
site: inurl:apidocs | inurl:api-docs | inurl:swagger | inurl:api-explorer | inurl:swagger-ui | inurl:redoc | inurl:api.php | inurl:api.js | inurl:api.json
filetype:yaml | filetype:json | filetype:yml inurl:swagger
هدف: کشف فایلها یا تنظیمات مرتبط با سرویسهای ابری که ممکن است اطلاعات حساسی را فاش کنند
site: ext:json | ext:yml | ext:yaml inurl:aws | inurl:azure | inurl:gcp | inurl:cloud
intitle:"aws credentials" | intitle:"azure config" | intitle:"gcp settings"
هدف: یافتن نقاط ورودی GraphQL که ممکن است فاقد محدودیت باشند
site: inurl:graphql | inurl:/graphql | inurl:/graphiql | inurl:api/graphql
intitle:"graphql" | filetype:json intext:"graphql"
هدف: یافتن URLهایی که ممکن است درخواستهای سمت سرور را پردازش کنند
site: inurl:url=http | inurl:redirect_url=http | inurl:target_url=http | inurl:source=http | inurl:import=http | inurl:callback=http | inurl:webhook=http
filetype:php intext:"curl_exec" | filetype:php intext:"file_get_contents" | filetype:php intext:"stream_socket_client"
هدف: کشف فایلهای XML که ممکن است پیکربندی یا دادههای حساس را در خود جای دهند
site: ext:xml
inurl:config.xml | inurl:settings.xml | inurl:data.xml | inurl:feed.xml | inurl:catalog.xml
site: intitle:"Adminer" | inurl:adminer.php | intitle:"phpMyAdmin" | inurl:phpmyadmin | intitle:"Admin Panel" | inurl:adminpanel | inurl:dashboard
هدف: یافتن پنلهای مدیریت رایج که ممکن است به دلیل پیکربندی نادرست، آسیبپذیر باشند
هدف: یافتن فایلهایی که ممکن است حاوی متادیتای حساس باشند (مانند EXIF در تصاویر)
site: ext:jpg | ext:jpeg | ext:png | ext:gif ext:pdf filetype:pdf
inurl:metadata | inurl:exif
site: filetype:yml | filetype:yaml | filetype:json | filetype:xml | filetype:ini
inurl:config | inurl:settings | inurl:defaults | inurl:prod | inurl:dev | inurl:staging
filetype:yml inurl:laravel | filetype:yml inurl:symfony | filetype:json inurl:django | filetype:json inurl:react
هدف: استفاده از منابع کد باز برای یافتن API های احتمالی
site: github.com intext:api.url | intext:endpoint | intext:url | intext:host | intext:base_url | intext:service_url
filetype:js | filetype:json | filetype:yml | filetype:yaml | filetype:xml
فایلهای لاگ شده توسط ابزارهای امنیتی (مثلا Nessus, Burp Suite)
site: ext:log | ext:txt
inurl:nessus | inurl:burp | inurl:scanner | inurl:vulnerability | inurl:report
این بخش روی مواردی تمرکز دارد که معمولاً نباید عمومی باشند: فایلهای تنظیمات، فایلهای لاگ، فایلهای دیتابیس و دایرکتوریهای باز. اهمیت این بخش در آن است که بسیاری از سازمانها بدون قصد، نسخه پشتیبان، خروجی لاگ، یا فایلهای پیکربندی را روی وب قرار میدهند. چنین مواردی اغلب نقطه شروع یک ارزیابی امنیتی هستند.
سیستمهایی مثل وردپرس به دلیل استفاده گسترده، هدف رایج خطاهای پیکربندی و افشای فایل هستند. بررسی مسیرهای مدیریتی، فایلهای پیکربندی و پوشههای افزونهها از نظر دفاعی کمک میکند بفهمیم آیا داراییهای حیاتی بهدرستی محافظت شدهاند یا نه.
صفحات ورود، پیامهای خطای پایگاه داده، و مسیرهای برنامههای وب، اغلب نشانههایی از ضعفهای منطقی یا پیکربندی دارند. تحلیل این نشانهها در محیط مجاز به تیم امنیت کمک میکند سطح حمله را بهتر بشناسد.
اسناد PDF، DOCX، XLSX و فایلهای آرشیوی در صورت انتشار اشتباه میتوانند اطلاعات عملیاتی بسیار حساسی را لو بدهند. این بخش از Dorking بیشتر برای شناسایی دادههای نشتکرده و آمادهسازی اقدامات اصلاحی کاربرد دارد.
گاهی نسخههای قدیمی سایت، مسیرهای قدیمی، یا مخازن بهجا مانده از پروژههای پیشین هنوز در نتایج جستوجو دیده میشوند. این داراییهای فراموششده یکی از منابع رایج ریسک امنیتی هستند.
استفاده حرفهای از Google Dorking یعنی:
فقط روی برنامههای دارای مجوز کار کنی،
از یافتهها برای گزارش مسئولانه استفاده کنی،
و بهجای تلاش برای دسترسی غیرمجاز، روی شواهد نشت اطلاعات و اثر امنیتی آن تمرکز کنی.
یک گزارش خوب در این حوزه باید شامل:
URL یا منبع مشاهدهشده،
نوع داده افشاشده،
اثر احتمالی،
سطح حساسیت،
و پیشنهاد اصلاحی باشد.
از نگاه دفاعی، جلوگیری از آسیب ناشی از Dorking شامل این اقدامات است:
جلوگیری از ایندکس شدن مسیرهای حساس،
حذف فایلهای پشتیبان و تست از وبسرور،
محدودسازی دسترسی به لاگها و تنظیمات،
بررسی دورهای داراییهای عمومی،
و پایش موتورهای جستوجو برای کشف افشاهای ناخواسته.
Google Dorking ابزاری قدرتمند در دستان یک پژوهشگر امنیت مسئول است. در باگبانتی، ارزش اصلی آن در کشف نشت اطلاعات، پیکربندیهای اشتباه، و داراییهای فراموششده است. فایل شما هم دقیقاً همین نگاه را دارد: یک لیست کاربردی برای شناسایی سطوح حمله، اما باید در چارچوب اخلاقی و مجاز استفاده شود. اگر این روش با دقت، مستندسازی درست و رعایت محدوده مجاز به کار گرفته شود، میتواند یکی از مؤثرترین مراحل ریکان امنیتی باشد.