برای بهبود امنیت وبسایت میبایست راههای هک شدن را مسدود کرد و یکی از روشهای شناسایی آسیبپذیری، Dork یا دورک گوگل است. البته شاید عجیب به نظر برسد که یکی از ابزارهای شناسایی دسترسیهای باز به سایتها، موتور جستجوی گوگل است! کارشناسان امنیت و هکرها معمولاً با استفاده از گوگل، متوجه میشوند که کدام صفحات و آدرسهای حساس و مهم یک وبسایت، از نظر دسترسی باز است و میتوان راه نفوذ برای هک کردن پیدا کرد.
در ادامهی این مقاله به این موضوع میپردازیم که دورک گوگل چیست و چطور به هکرها و کارشناسان امنیت وبسایت کمک میکند و همینطور نمونههایی از کاربرد عملی دورک را بررسی میکنیم. برای اطلاعات بیشتر در خصوص حفظ امنیت سایت و مقابله با هک، میتوانید مقالات آموزشی سایت فرادرس را مطالعه فرمایید. با سیارهی آیتی همراه شوید.
هک کردن سایتها به کمک گوگل چطور انجام میشود؟
زمانی که میخواهید امنیت سایتی را افزایش دهید و نفوذپذیریهای آن را شناسایی کنید و همینطور زمانی که میخواهید سایتی را هک کنید، قدم نخست این است که تمام صفحات سایت را بررسی کنید. معمولاً تعداد صفحات سایتها زیاد است و باز کردن تکتک صفحات، راهکار خوبی محسوب نمیشود. به علاوه ممکن است برخی از مسیرها و آدرسهای مهم را از قلم بیاندازید. بهتر است از ابزاری مثل موتور سرچ گوگل استفاده کنید که یکی از سرویسهای بسیار مهم گوگل است.
نکتهی جالب این است که گوگل معمولاً تمام صفحات سایتها را اسکن و بررسی میکند و فهرستی از آدرسها و فایلها میسازد و مرتباً آن را بروزرسانی میکند. به این کار ایندکس کردن گفته میشود. گوگل همه چیز را ایندکس میکند مگر آنکه مانعی در باز کردن فایلها یا ایندکس کردن صفحات در برابر آن وجود داشته باشد.
ایندکس کردن توسط رباتهای گوگل انجام میشود. اگر با رباتهای خزنده یا Crawler گوگل و روش جلوگیری از ایندکس کردن صفحات سایتها آشنا نیستید، بهتر است مقالهی زیر را مطالعه فرمایید:
بد نیست مثالی ساده بزنیم تا توانمندی گوگل که شبیه شمشیر دو لبه است، روشن شود: ممکن است یک فایل متنی ساده نظیر فایلهای XML روی سایت شما موجود باشد و از طرفی به دلیل سهلانگاری یا عدم اطلاع طراح وبسایت، دسترسی به آن باز باشد. فرض کنید که در این فایل، نام کاربری و رمز عبور، اطلاعات مرتبط با دیتابیس سایت یا هر نوع اطلاعات حساس دیگری قرار داشته باشد. ممکن است هکری این فایل را با استفاده از توانمندی گوگل، پیدا کرده و باز کند. در این صورت راه نفوذ به سایت و خرابکاری در آن هموار خواهد بود!
با توجه به توضیحات فوق، لازم است راههای نفوذ را شناسایی کنید و پس از شناسایی، برای جلوگیری از نفوذ اقدام کنید.
شاید این موضوع عجیب به نظر برسد که چرا گوگل مانع نمیشود. مسأله این است که هر کسی که دورک میکند، لزوماً یک مجرم سایبری و هکر نیست. ممکن است فرد موردبحث، طراح یا کارشناس امنیت یک وبسایت باشد و بخواهد نفوذپذیریها را چک کند. گوگل برای احتیاط بیشتر، هر از گاهی حین اجرا کردن دورکها، کپچا نمایش میدهد تا اطمینان حاصل کند که برنامه و رباتی خودکار، به صورت پیوسته مشغول دورک کردن خودکار نیست.
برای اطلاعات بیشتر و آموزشهای جالب در خصوص امنیت وب و شبکه، به آموزشهای سایت فرادرس توجه فرمایید:
مجموعه آموزش امنیت شبکه (Network Security)
آشنایی با دورک کردن یا گوگل دورک
با توجه به توضیحاتی که دادیم، باز بودن دسترسی به هر فایل حساس، یک خطر بزرگ امنیتی است. برای پیدا کردن این فایلها میتوان از گوگل استفاده کرد و به این کار، گوگل دورک یا اصطلاحاً دورک کردن گفته میشود. هر دورک یک عبارت و یا دستور ساده است و هر کاربری میتواند دورک انجام دهد! به عنوان مثال اگر بخواهید فایلهای XLS (اکسل) که روی سرور سایت سیارهی آیتی قرار گرفته و البته دسترسی به آن و ایندکس کردن آن توسط گوگل مجاز است را پیدا کنید، کافی است عبارت زیر را در گوگل جستجو کنید:
site:it-planet.ir filetype:xls
در عبارت فوق، به دو واژهی site و filetype، دورک گفته میشود. دورک نه تنها برای هکرها بلکه برای کاربران عادی که از موتور جستجوی گوگل استفاده میکنند هم بسیار مفید است و در حقیقت ترفندهای جستجوی بهینه و حرفهای توسط گوگل، سرعت یافتن مطالب و فایلهای موردنیاز را به مراتب بیشتر میکند. متأسفانه بسیاری از کاربران وب با دورکها و ترفندهای سرچ آشنایی ندارند. بد نیست مطالب آموزشی فرادرس در حوزهی سرچ کردن توسط گوگل را مطالعه فرمایید:
انواع مهم دورک
اما لیست دورکهای گوگل:
- site: همانطور که در مثال فوق اشاره شد، این دورک برای جستجو کردن صفحات و فایلهای موجود روی یک وبسایت است که البته گوگل مجاز بوده ایندکس کند.
- filetype: این دورک نیز در مثال فوق ذکر شده و برای پیدا کردن فایلهایی با فرمت مشخص است. به عنوان مثال عبارت زیر، فایلهای pdf موجود در سایتهای مختلف که موضوع یا تیترشان سوالات کنکور است را در اختیار شما قرار میدهد:
نمونه سوال کنکور filetype:pdf
همانطور که در تصویر زیر مشاهده میکنید، لینک فایلهای PDF در سایتهای مختلف لیست شده و با کلیک روی لینکها، فایل پیدیاف دانلود میشود! به همین سادگی.
- cache: این دورک نسخهی کش شدهی صفحات سایتها که روی سرورهای گوگل ذخیره شده را نمایش میدهد. به عنوان مثال اگر بخواهید آخرین نسخهی کش شده از صفحهی اصلی سایت سیارهی آیتی که گوگل کش کرده را ببینید، میبایست عبارت زیر را سرچ کنید:
cache:it-planet.ir
همانطور که در تصویر زیر مشاهده میکنید، تاریخ و ساعت کش کردن صفحه نیز در بالای صفحه ذکر میشود:
میتوانید کلمات موردنظر در نسخهی کش شده را نیز به صورت هایلایت شده ببینید. به عنوان مثال اگر عبارت زیر را سرچ کنید:
cache:it-planet.ir لینوکس
کلمهی لینوکس هایلایت میشود:
- link: این دورک صفحاتی که لینک به سایت خاصی دارند را لیست میکند. به عنوان مثال اگر بخواهید صفحاتی از سایت سیارهی آیتی که به سایت گوگل لینک دادهاند را پیدا کنید، میتوانید عبارت زیر را سرچ کنید:
site:it-planet.ir link:google.com
- allintitle: این دورک برای پیدا کردن صفحاتی از سایتها که کلمه یا عبارت خاصی در عنوانشان موجود است، به کار میرود. به عنوان مثال اگر بخواهید مطالبی از سایتهای مختلف که هر دو کلمهی لایه و فتوشاپ در عنوان دارند را پیدا کنید میتوانید عبارت زیر را جستجو کنید:
allintitle:فتوشاپ لایه
- intitle: این دورک مشابه دورک قبلی است با این تفاوت که لازم نیست همهی کلمات در عنوان صفحه وجود داشته باشد بلکه کافی است سایر کلمات در بخشهای دیگر صفحه وجود داشته باشد. به این ترتیب نتایج گستردهتری پیدا میشود.
- Intext: با این دورک میتوانید صفحاتی که کلمه یا عبارت خاصی در متن آن به کار رفته را پیدا کنید.
- allinurl و inurl: این دو دورک هم مشابه موارد قبلی است با این تفاوت که کلمات را در لینک یا آدرس صفحات جستجو میکند. دورک inurl صرفاً به دنبال یکی از کلمات در لینک صفحه میگردد و دورک allinurl فقط صفحاتی که تمام کلمات ذکر شده در آدرسشان موجود است را لیست میکند.
- Inanchor: اگر بخواهید صفحاتی که لینک حاوی کلمه یا عبارت خاصی دارند را پیدا کنید، میتوانید از این دورک استفاده کنید.
به عنوان مثال اگر بخواهید صفحاتی از وبسایتهای مختلف که هر دو کلمهی هک و گوگل در آن وجود دارد را پیدا کنید، میتوانید عبارت زیر را سرچ کنید:
allinurl: هک گوگل
یا مثالی دیگر: اگر بخواهیم لینک صفحات مدیریتی سایتی را پیدا کنیم، میتوانیم کلماتی نظیر admin را در لینکها جستجو کنیم:
inurl:admin
دقت کنید که گوگل به محل کلمات و معنی کلمات توجه نمیکند و کافی است کلمهی ذکر شده، بخشی از لینک باشد.
- related: این دورک صفحات مشابه یک صفحه را لیست میکند. به عنوان مثال برای یافتن صفحات مشابه صفحهی اصلی سایت گوگل، میبایست عبارت زیر را سرچ کنید:
related:www.google.com
- info: این دورک برای دریافت اطلاعات پیرامون صفحه و سایت موردنظر کاربرد دارد. مثال:
info:it-planet.ir
- define: دورک define برای درک کردن مفهوم کلمات به کار میرود و در واقع گوگل با توجه به اطلاعات موجود در سایتها و دیکشنریهای آنلاین، تعریفی از کلمهی موردنظر به شما ارایه میکند و در واقع دورکی که مورداستفادهی هکرها باشد، نیست. میتوانید تعریف یک کلمه را ببنید و یا تعریف یک عبارت شامل چند کلمه را ببنید. به عنوان مثال اگر بخواهید معنی ضربالمثل فقط پارس میکند و گاز نمیگیرد (All bark No bite را بفهمید، میتوانید عبارت زیر را سرچ کنید:
define:all bark no bite
و گوگل به شما میگوید که منظور کسی است که فقط حرف و تهدید دارد و در عمل کاری انجام نمیدهد:
برای اطلاعات بیشتر در خصوص انواع دورک و بررسی مثالهای بیشتر به مقالهای از سایت فرادرس توجه فرمایید:
دورک چیست و گوگل دورک چگونه استفاده می شود؟ — از صفر تا صد
ترکیب کردن دورکها با عبارتهای منطقی
شاید برایتان سوال شده که آیا میتوان همزمان از دو یا چند دورک استفاده کرد. به عنوان مثال اگر بخواهید صفحاتی که کلمهی خاصی در عنوان صفحه، کلمهی خاصی در متن و همینطور لینک خاصی در متن دارند را پیدا کنید. در این صورت چه باید کرد؟
برای این موارد میتوانید چند دورک را با عبارتهای نظیر یا و و ترکیب کنید:
- | به معنی یا: اگر بین کلمات از علامت | استفاده کنید، گوگل صفحاتی که حاوی حداقل یکی از کلمات باشند را لیست میکند. به عنوان مثال اگر عبارت زیر را جستجو کنید:
intext:faradars طراحی وب
گوگل صفحاتی که لااقل یکی از سه کلمه را داشته باشند، لیست میکند.
به همین ترتیب میتوانید بین دورکها از علامت یا استفاده کنید. به عنوان مثال:
intext:سیارهی آیتی | intext:it-planet
نتیجهی جستجوی فوق، صفحاتی حاوی حداقل یکی از عبارتهای سیارهی آیتی و it-planet است.
- & به معنی و: عملگر منطقی AND با کاراکتر & تعریف میشود. زمانی که میخواهید صفحاتی را با استفاده از دو یا چند دورک پیدا کنید و همهی شرایط موردنظر برقرار باشد، میتوانید بین دورکها از & استفاده کنید. به عنوان مثال برای یافتن صفحاتی حاوی کلمهی سیارهی آیتی و همینطور کلمهی فتوشاپ، میبایست عبارت زیر را سرچ کنید:
intext:سیارهی آیتی & intext:فتوشاپ
- - به معنی حذف و فیلتر کردن نتایج: با این عملگر میتوانید نتایج را فیلتر کنید و شرطی برای فیلتر کردن در نظر بگیرید. به عنوان مثال اگر با دورک مثال قبلی، صفحاتی حاوی هر دو عبارت سیارهی آیتی و فتوشاپ را پیدا کردهاید و میخواهید مواردی که در سایت it-planet.ir موجود نیست و بلکه در سایتهای دیگر کپی شده را پیدا کنید، میتوانید عبارت site:it-planet.ir را با علامت تفریق اضافه کنید. به صورت زیر:
intext:سیارهی آیتی & intext:فتوشاپ -site:it-planet.ir
البته میتوانید با همین روش، صفحاتی که حاوی کلمهی خاصی هستند و حاوی کلمهی دیگری نیستند را هم پیدا کنید. مثل نمونهی زیر:
intext:سیارهی آیتی -intext:فتوشاپ
- ~ به معنی هممعنی: شاید به دنبال یافتن صفحاتی حاوی یک کلمه یا کلمات هممعنی آن هستید. در این صورت میتوانید قبل از کلمهی موردنظر از علامت ~ استفاده کنید. به عنوان مثال عبارت زیر برای یافتن صفحاتی با کلمهی فتوشاپ و هممعنی آن کاربرد دارد:
intext:~فتوشاپ
- *: علامت ستاره به معنی وجود هر کاراکتر دلخواهی است و به عبارت دیگر کاراکتر وایلدکارد است. به عنوان مثال اگر بخواهید صفحاتی حاوی آموزش چیزی در فتوشاپ را پیدا کنید، میتوانید به جای چیزی، از ستاره استفاده کنید:
مثال فوق در مورد یافتن کلمهای در متن صفحه است اما علامت ستاره در پیدا کردن صفحاتی با لینک و آدرس خاص، کلمهای در عنوان، عبارتی در متن و به طور کلی در استفاده از دورکهای مختلف کاربرد دارد.
کاربرد دورک برای هکرها و مثالهای کاربردی
لیستی از دورکهای مهم گوگل را بررسی کردیم اما مسأله این است که هکرها دقیقاً برای یافتن چه مواردی از دورکها استفاده میکنند؟ در ادامه به مثالهایی از آنچه هکرها جستجو میکنند، میپردازیم.
فایلهای لاگ یا گزارش
یافتن فایلهای لاگ موضوع مهم و مفیدی برای هکرها است. ممکن است در فایلهای لاگ، ارورهای برخی صفحات که نتیجهی کدنویسی اشتباه یا در نظر نگرفتن راههای نفوذ است، موجود باشد. اطلاعات دسترسی به فایلها، مسیر فایلها، و نسخهی افزونهها و نرمافزار مدیریت سایت در برخی از فایلهای لاگ نگهداری میشود. حتی برخی از فایلهای لاگ، اطلاعات ورود و خروج کاربران و مدیران را در خود دارند. هکرها با بررسی این فایلها، اطلاعات موردنیاز برای شروع کار را به دست میآورند.
برای یافتن فایلهای لاگ که معمولاً پسوند txt یا log داشته باشند، میتوان از دورک filetype استفاده کرد. میتوانید این دورک را با دورکهای intext یا inurl ترکیب کنید و به عنوان مثال فایلهای گزارش حاوی کلماتی نظیر admin و username را جستجو کنید.
allintext:username filetype:log
دسترسی به بانک داده برای تزریق SQL
یکی از راههای خرابکاری هکرها، نفوذ از طریق دستکاری بانک داده است. برای دستکاری در بانک داده دورکهایی مثل مورد زیر جستجو میشود. البته ممکن است امکان نفوذ وجود نداشته باشد.
inurl:"index.php?id="
لیست ایمیل کاربران و مدیران
یک راهکار دیگر برای خرابکاری در سایتها، ارتباط با مدیران از طریق ایمیل و همینطور استفاده از ایمیل برای ورود است. برای یافتن لیست ایمیلها که ممکن است در فایلهایی نظیر اکسل، فایل متنی ساده، فایل XML و غیره ذخیره شده باشد. به عنوان مثال میتوانید از دورک زیر استفاده کنید و فایلهای اکسل که در لینکشان کلمهی email وجود دارد را پیدا کنید:
filetype:xls inurl:"email"
سرور FTP عمومی
میتوانید با دورکهای گوگل، لینکهایی حاوی کلمهی ftp را پیدا کنید و ممکن است سرور افتیپی دسترسی آزاد و عمومی داشته باشد. البته سرور دانلود فایل برخی از سایتها، عمداً باز است تا لیست کردن فایلهایی که برای دانلود قرار داده شده، ساده شود. در این صورت مشکل امنیتی وجود ندارد اما در برخی از سایتها، باز بودن دسترسی افتیپی، یک راه نفوذ و دسترسی آسان به لیست فایل و فولدرها محسوب میشود.
intitle:"index of" inurl:ftp
در این مثال متوجه شدیم که یک سرور دولتی مهم با فضای FTP باز رها شده است. به احتمال زیاد این سرور عامدانه این گونه طراحی شده است، اما ممکن است یک مشکل امنیتی نیز باشد.
فایلهای کانفیگ نرمافزار سایت
در فایلهای کانفیگ نرمافزار مدیریت سایت، معمولاً اطلاعات حیاتی نظیر نام کاربری و رمز عبور بانک داده ذخیره میشود. لذا دسترسی داشتن عموم به این فایلها، بسیار خطرناک است. برای یافتن این نوع فایلها میتوانید از دورک filetype به همراه دورک یافتن لینک استفاده کنید. البته پسوند فایلهای کانفیگ ممکن است موارد مختلف شامل cfg و xml و php باشد.
filetype:cfg inurl:"config"
فایلهای بانک داده
در برخی سرورها و سایتها، دسترسی به فایلهای بانک داده که معمولاً پسوند sql دارند، مسدود نیست که یک خطر بزرگ محسوب میشود. ممکن است دسترسی به فایل بانک داده مسدود باشد اما دسترسی به فایل بکاپ آن که به عنوان مثال فرمت zip یا gz و غیره دارد، باز مانده باشد!
برای یافتن این نوع فایلها میتوانید عبارت زیر را جستجو کنید:
"index of" "sql.zip"
شاید تعداد دورکهای گوگل چندان زیاد نباشد، آنچه مهم است، شیوهی استفاده از دورکها برای یافتن نفوذپذیری است. روشهای بسیار متنوع است و فایلهایی که میتوان برای شروع خرابکاری در سایتها پیدا کرد، بسیار متنوع است. برای اطلاعات بیشتر در مورد دورکهای گوگل و مثالهایی از روش جستجوی هکرها و نیز راهکار مقابله با نفوذپذیریها، به آموزشهای سایت فرادرس در حوزهی امنیت وب توجه فرمایید.
آموزش تست نفوذ در وب و راه های مقابله با آن
سیارهی آیتی