URL چیست (یک منبع یاب)؟

هنگامی که یک آدرس را در مرورگر وب خود تایپ میکنید، چیزهای زیادی در پشت صحنه اتفاق می افتند. و بیشتر آن قسمت های مختلفی از نشانی اینترنتی که تایپ کرده اید تعیین می شود. اجازه دهید نگاهی دقیق تر داشته باشیم.

یک URL می تواند از یک دسته از قسمت های مختلف تشکیل شده باشد. یک نام میزبان وجود دارد که به آدرس آی پی یک منبع خاص در اینترنت می پردازد و مقدار زیادی از اطلاعات اضافی را که به مرورگر و سرور شما می گوید که چگونه کار می کند. شما می توانید یک آدرس IP را به عنوان چیزی شبیه یک شماره تلفن فکر کنید. نام میزبان مانند نام فردی است که شماره تلفنش را می خواهید جستجو کنید. و یک استاندارد نامیده می شود سیستم نام دامنه (DNS) در پس زمینه مانند یک دفترچه تلفن کار می کند، نام های میزبان انسانی را به آدرس های آی پی که شبکه ها برای ردیابی ترافیک استفاده می کنند، ترجمه می کنند.

با در نظر داشتن این قیاس، نگاهی به ساختار یک URL و نحوه کار آن برای به دست آوردن شما در جایی که می خواهید بروید.

نحوه ساخت یک URL

ساختار یک URL ابتدا توسط Sir Tim Berners-Lee تعریف شده است – مردی که ایجاد کرد وب و اولین مرورگر وب در سال 1994. URL ها اساسا ایده نام دامنه را با ایده استفاده از مسیر فایل برای شناسایی یک پوشه و ساختار فایل خاص ترکیب می کنند. بنابراین، شبیه به استفاده از یک مسیر مانند C: Documents Personal myfile.txt در ویندوز است، اما با ابتکار برخی از چیزهای اضافی برای پیدا کردن سرور مناسب در اینترنت که این مسیر وجود دارد و پروتکل استفاده شده برای دسترسی به اطلاعات

یک URL شامل چندین قسمت مختلف است. برای مثال، یک URL اصلی مانند یک نشان داده شده در تصویر زیر را وارد کنید.

این آدرس ساده به دو قسمت اصلی اصلی تقسیم می شود: طرح و مجوز

Scheme

بسیاری از مردم یک URL را فقط یک آدرس وب می دانند، اما این کاملا ساده نیست. آدرس وب URL است، اما تمام آدرس ها آدرس های وب نیستند. سایر خدماتی که می توانید در اینترنت مانند FTP یا حتی محلی مانند MAILTO دسترسی داشته باشید، نیز URL هستند. بخش طرح یک URL (آن حروف که به دنبال یک کولون است) پروتکل است که با آن برنامه (مانند مرورگر وب شما) و سرور ارتباط برقرار می کند.

آدرس های وب رایج ترین URL هستند، اما دیگران وجود دارند. بنابراین، شما ممکن است طرح هایی مانند:

  • پروتکل انتقال HyperText (HTTP): این پروتکل پایه وب است و تعیین می کند که چه عملکرد وب سرور ها و مرورگر ها باید در پاسخ به برخی از دستورات باید انجام دهد.
  • HTTP Secure (HTTPS) : این یک فرم از HTTP است که بیش از یک لایه امن و رمزگذاری شده برای انتقال اطلاعات امن تر کار میکند.
  • پروتکل انتقال فایل (FTP): این پروتکل اغلب برای انتقال فایلها از طریق اینترنت استفاده می شود.

در مرورگرهای مدرن ، این طرح از نظر فنی به عنوان بخشی از URL نیست. اگر شما یک وبسایت مانند www.howtogeek.com را وارد کنید، مرورگر شما به طور خودکار پروتکل مناسب برای استفاده را تعیین می کند. با این حال، برخی از برنامه ها (و پروتکل های دیگر) نیاز به استفاده از یک طرح دارند.

Authority

قسمت مجاز URL (که قبل از آن دو ستاره است) خود به یک دسته از قطعات تقسیم می شود. شروع کنیم با یک URL بسیار ساده – نوعی که شما را به صفحه اصلی یک وب سایت می برد.

در این مثال ساده، قسمت "www.example.com" نامیده می شود نام میزبان، و آن را به یک آدرس IP حل و فصل. شما همچنین می توانید آدرس IP خود را در نوار آدرس مرورگر خود به جای نام میزبان وارد کنید اگر می دانستید که آن را می دانید

اما هنگام تجزیه نام میزبان آن را کمک می کند تا آن را بخوانید تا متوجه شود چه اتفاقی می افتد.

  • دامنه سطح بالا: در مثال زیر، "com" دامنه سطح بالا است. اینها بالاترین سطح در سلسله مراتب Domain Name System (DNS) هستند که برای ترجمه آدرس های IP به آدرس های ساده زبان مورد استفاده قرار می گیرند که برای ما انسان ها به یاد می آورند. این دامنه های سطح بالا ایجاد شده و مدیریت شده توسط شرکت اینترنتی برای اسامی اختصاص داده شده و شماره (ICANN) است. سه دامنه برتر در سطح بالا، .com، .net، و .gov هستند. اکثر کشورها دارای دامنه سطح بالای دو حرفی خود هستند، بنابراین شما می توانید دامنه هایی مانند .us (ایالات متحده)، .uk (بریتانیا)، .ca (کانادا) و بسیاری دیگر را مشاهده کنید. همچنین برخی از دامنه های سطح بالا اضافی (مانند .museum) وجود دارد که توسط سازمان های خصوصی حمایت و مدیریت می شوند. علاوه بر این، برخی از دامنه های سطح عمومی نیز وجود دارد (مانند .club، .life و .news).
  • Subdomain: از آنجا که DNS یک سیستم سلسله مراتبی است، هر دو "www" و مثال "مثال" از URL نمونه ما به عنوان زیر دامنه در نظر گرفته شده است. قسمت "www" یک زیر دامنه دامنه سطح بالا "com" است و قسمت "www" یک زیر دامنه دامنه "example" است. به همین دلیل شما اغلب یک شرکت با یک نام ثبت شده مانند "google.com" را به عنوان زیر دامنه های جداگانه ای مانند "www.google.com"، "news.google.com"، "mail.google.com" و به همین ترتیب.

این ساده ترین نمونه از قسمت مجاز URL است، اما چیزهایی می توانند پیچیده تر شوند. دو بخش دیگر وجود دارد که بخش مجوز آن می تواند باشد:

  • اطلاعات کاربر: بخش مجوز همچنین می تواند نام کاربری و رمز عبور سایت شما را داشته باشد. امروزه این ساختار در URL ها معمول نیست، اما ممکن است رخ دهد. در صورت وجود، بخش اطلاعات کاربر قبل از نام میزبان می آید و با علامت @ دنبال می شود. بنابراین، اگر اطلاعات شامل اطلاعات کاربر باشد، ممکن است چیزی شبیه "//username: [email protected]" را ببینید.
  • شماره پورت: دستگاه های شبکه از آدرس های IP برای دریافت اطلاعات به سمت راست استفاده می کنند کامپیوتر در یک شبکه هنگامی که این ترافیک وارد می شود، یک شماره پورت به برنامه کاربردی که برای آن ترافیک در نظر گرفته شده است، به رایانه می گوید. شماره پورت یک عنصر دیگر است که شما اغلب در هنگام مرور وب نمی بینید، اما ممکن است آن را در برنامه های شبکه (مانند بازی ها) مشاهده کنید که نیاز به وارد کردن یک URL دارند. اگر URL شامل یک شماره پورت باشد، بعد از نام میزبان می آید و توسط کولون پیش می آید. این چیزی شبیه به این خواهد بود: "//www.example.com:8080."

بنابراین، این بخش طرح و مجوز URL است، اما شما ممکن است حدس بزنید پس از بررسی تعداد زیادی از URL ها در هنگام مرور وب، آنها می توانند مطالب بیشتری را شامل شوند.

مسیرها، پرس و جوها و فاکتورها

سه قسمت اضافی از یک URL وجود دارد که ممکن است بعد از قسمت مجوز دیده شود: مسیرها، نمایش ها و قطعات. در اینجا نحوه کار آنها است.

مسیر

قسمت اختیاری یک URL، مرورگر شما (یا هر برنامه دیگری) را به سرور مناسب در شبکه می برد. مسیری که به دنبال آن است – که درست مانند یک مسیر در ویندوز، macOS و یا لینوکس کار می کند، شما را به پوشه یا فایل مناسب در آن سرور می برد. مسیر قبل از یک علامت است و یک علامت بین هر دایرکتوری و زیر شاخه وجود دارد، مثل این:

 www.example.com/folder/subfolder/filename.html 

آخرین قطعه نام فایل است که هنگامی که به وب سایت دسترسی دارید باز می شود. اگر چه ممکن است آن را در نوار آدرس مشاهده نکنید، اما به این معنا نیست که آن وجود ندارد. برخی از زبان های مورد استفاده برای ایجاد صفحات وب پنهان کردن نام فایل و برنامه افزودنی شما در حال مشاهده است. این باعث می شود تا URL ساده تر به یاد بیاورد و تایپ شود، و به نظر پاکیزه تر می دهد.

Query

بخش پرس و جو از یک URL برای شناسایی مواردی که بخشی از ساختار مسیر سخت نیستند استفاده می شود. اغلب اوقات هنگامی که شما یک جستجو انجام می دهید یا زمانی که یک صفحه وب داده ها را از طریق یک فرم ارائه می دهد، آنها را می بینید. بخش پرس و جو قبل از یک علامت سوال پیش می آید و بعد از مسیر (یا بعد از نام میزبان، اگر یک مسیر در آن گنجانده نشده باشد)

به عنوان مثال، این نشانی اینترنتی ارائه شده است زمانی که ما آمازون را برای کلمات کلیدی "wi-fi extender ":

 https://www.amazon.com/s/ref=nb_sb_noss_2؟url=search-alias٪3Daps&field-keywords=wi-fi+extender 

فرم جستجو اطلاعات را به موتور جستجوی آمازون منتقل کرد. به دنبال علامت سوال، می توانید ببینید که دو قسمت برای پرس و جو وجود دارد: یک URL برای جستجو (که قسمت "url = search-alias٪ 3Daps & field" است) و کلمات کلیدی که ما تایپ کردیم (یعنی "keywords = wi-fi + Extender "part).

این یک نمونه نسبتا ساده است و شما اغلب URL ها را با متغیرهای اضافی (و پیچیده تر) خواهید دید. به عنوان مثال، در اینجا URL زمانی که ما Google را برای کلمه کلیدی "howtogeek" جستجو کردیم:

 https://www.google.com/search؟q=howtogeek&rlz=1C1GCEA_enUS751US751&oq=howtogeek&aqs=chrome..69i57j69i60l4j0.1839j1j4&sourceid=chrome&ie=UTF -8 

همانگونه که می بینید، اطلاعات مختلف وجود دارد. در این مورد، می توانید ببینید که اطلاعات اضافی نشان دهنده زبان جستجو، مرورگر ما (Chrome) و حتی شماره نسخه مرورگر است.

قطعه

جزء نهایی URL که ممکن است شما ببینید قطعه نامیده می شود. قطعه قبل از علامت هش (#) پیش می آید و برای نشان دادن یک مکان خاص در یک صفحه وب استفاده می شود. هنگام طراحی صفحه وب، طراحان می توانند لنگرهایی را برای متن خاص مانند عنوان ها ایجاد کنند. هنگامی که قطعه مناسب در انتهای URL استفاده می شود، مرورگر شما صفحه را بارگذاری می کند و سپس به آن لنگر پرش می کند. لنگرها و URL ها با قطعات معمولا برای ایجاد جداول محتوا در صفحات وب برای ایجاد ناوبری ساده تر استفاده می شود.

در اینجا یک مثال است. صفحه ویکی پدیا در رنسانس یک سند بسیار طولانی است و به 11 بخش تقسیم شده است که هر کدام دارای چند بخش هستند. اما هر عنوان در صفحه حاوی یک لنگر است و یک جدول محتویات در بالای مقاله شامل پیوندهایی است که به شما اجازه می دهد به بخش های مختلف بروید. این پیوندها با استفاده از قطعات شامل می شوند.

شما همچنین می توانید از این قطعات به طور مستقیم در نوار آدرس خود و یا به عنوان لینک های قابل استفاده استفاده کنید. بگو، برای مثال، شما می خواستید بخش دیگری از آن صفحه را که روسیه را پوشش می دهد نشان دهید. شما فقط می توانید آنها را به این لینک ارسال کنید:

 https://en.wikipedia.org/wiki/Renaissance#Russia 

بخش "#Russia" در انتهای URL، بعد از بارگیری، آنها را مستقیما به آن بخش می برد صفحه


بنابراین شما وجود دارد – بیش از شما احتمالا همیشه می خواستم بدانم که چگونه URL ها کار می کنند.

اعتبار تصویر: Pawel Horazy / Shutterstock

TLS – ارائه دهنده شبکه، مسدود کردن URL، حتی اگر اتصال به IP ساخته شده است

من امروز با یک مورد جالب روبرو شدم که با دانش محدود من من قادر به درک کار از.

من سعی کردم به لینک bit.ly دسترسی داشته باشم، اما توسط دانشگاه من مسدود شده است.

دانستن کمی از درخواست های HTTP و چیزهای شبکه های اساسی، ابتدا به یک بلوک DNS مشکوک شدم. اما حتی پس از تغییر به Google DNS، خطای صفحه مسدود شده را دریافت کردم.

من nslookup را از خط فرمان من و همچنین یک ابزار وب استفاده کردم و یکی از سرورها را به عنوان 67.199.248.10 دریافت کردم.

از کروم برای بازبینی درخواست استفاده کردم و در حقیقت دامنه به آن IP حل شد.

من حتی از ماشین محلی خود استفاده کردم و این خروجی را دریافت کردم: [$19659007] $ curl bit.ly -v
* بازسازی URL به: bit.ly/
  ٪ مجموع٪ دریافت شده٪ Xferd میانگین سرعت زمان زمان زمان فعلی
                                 Dload آپلود کل سرعت حرکت چپ
  0 0 0 0 0 0 0 0 -:::: -::::: -:::: – 0 * تلاش 67.199.248.10 …
* تنظیم TCP_NODELAY
* اتصال به bit.ly (67.199.248.10) پورت 80 (# 0)
> GET / HTTP / 1.1
> میزبان: bit.ly
> کاربر-عامل: curl / 7.56.1
> پذیرفتن: * / *
>
<HTTP / 1.1 403 ممنوع است
<Content-Type: text / html؛ charset = "utf-8"
<Content-Length: 1272
<اتصال: بستن
<
{[1272 bytes data]
100 1272 100 1272 0 0 1272 0 0:00:01 -: -: – 0:00:01 5412

نشانی اینترنتی که درخواست کرده اید مسدود شده است

 دانشگاه هنگ کنگ

نشانی اینترنتی که درخواست کرده اید مسدود شده است

صفحه وب شما درخواست کرده اید مسدود شده است، زیرا این صفحه به عنوان مواد فیشینگ گزارش شده است.
لطفا در گزارش هرزنامه HKU یا با شماره 19459026 [it19:459026] [email protected] در صورتی که درخواست بیشتری دارید

URL = bit.ly/

اکنون، من بسیار کنجکاو در مورد یک چیز است: اگر من قادر به ایجاد یک اتصال (آن را می گوید من به IP در پورت داده شده متصل)، چگونه دانشگاه در میان است؟ آیا نوعی فایروال است که می بیند:

اگر (از bit.ly IP) => {جایگزین HTML با صفحه بلوک ما} ؟

این حدس من نزدیک است، زیرا در HTTPS من گواهی نامعتبر دریافت میکنم.
فقط تعجب می کنم که چگونه آن اتفاق می افتد، پاسخ ها و یا حتی حدس ها قدردانی می شود.

به سرعت نسخه Cached از هر وب سایت را با این ترفند URL بارگذاری کنید

آیا یک صفحه خاص برای باز کردن وجود ندارد؟ فقط کافیست cache: را در مقابل URL قرار دهید و کپی ذخیره شده در گوگل آن را بلافاصله باز کنید.

نیک داگلاس، برای Lifehacker نوشت، دیروز این را ذکر کرد و این ذهن من را فریاد می زند. این در هر مرورگر کار میکند، به شرطی که گوگل به عنوان موتور جستجوی پیشفرض تنظیم شده باشد. برخی از سایت ها حافظه کش گوگل از کار را متوقف می کنند، اما غیر از آن این کار می کند.

مرتبط شده است: چگونه به صفحه وب دسترسی پیدا کنید وقتی آن را پایین می اندازید

یک سایت داده شده است، و یا حتی زمانی که یک صفحه خاص حذف شده است. در این صورت یک بار دیگر با یک خطای 404 برخورد می کنید و یا در غیر اینصورت نمیتوانید صفحاتی را که می شناسید مورد استفاده قرار دهید باز کنید. این فقط ممکن است شما را به اطلاعاتی که به دنبالش بود دسترسی داشته باشید.


جاستین پوت ویرایشگر خبر برای چگونگی ساختن Geek است. او در Hillsboro، اورگان زندگی می کند. اگر می خواهید، در توییتر و فیس بوک دنبال کنید. شما مجبور نیستید.

url – برای عدم توانایی در وب سایت خطا با realpath PHP را بررسی کنید

من یک وب سایت با یک فایل download.php پیدا کردم که می تواند مقادیر مختلفی را در پارامتر url دریافت کند (به عنوان مثال www.example.com/download.php؟url = ارزش ). هنگامی که من ../../ را به عنوان یک مقدار برای url می نویسید، خطا در این صفحه من را در صفحه می اندازد:

 هشدار: realpath () [function.realpath]: open_basedir محدودیت در
اثر فایل (/ srv) در مسیر (های) مجاز نیست:
(.: / srv / www / example.com /: / tmp /: / usr / local / php526 / lib / php /)
در /srv/www/example.com/download.php در خط 5

آسیب پذیری های PHP realpath () را در PHP 5.26 یا پایین جستجو کردم و در این مقاله یک مقاله درباره سیستم مدیریت پرونده پی اچ پی و حملات با استفاده از این روش پیدا کردم [19659004] من میخواهم به عنوان یک فایل به پوشه / etc / passwd / دسترسی پیدا کنم تا بتوانم اطلاعات بیشتری کسب کنم.
من سعی کردم با استفاده از یک URL که طولانی تر از 4096 بایت است، اما به نظر نمی رسد که کوتاه شود و هیچ اتفاقی نمی افتد.

 www.example.com/download.php؟url = .. / .. / etc / passwd /./././././././././././. /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ././././././././././././././././././././././././ ./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././././././././././././././ ./ /./././././././././././.....<...>.php

curl -head website.com بازگشت

 HTTP / 1.1 200 OK
تاریخ: Mon، Jul 30، 2018 11:39:01 GMT
سرور: آپاچی / 2.2.23 (یونیکس) mod_ssl / 2.2.23 OpenSSL / 0.9.8h
نوع محتوا: text / html

چگونه می توانم با استفاده از LFI یا Path Truncation از وبسایت استفاده کنم؟ یا بهترین روش برای استفاده از این خطا چیست؟

XSS با رمزگذاری URL – Exchange Security Stack Security Information Security

در این مثال خاص، این پارامتر به XSS آسیب پذیر نخواهد بود.

این بستگی دارد، شما بارهای اطلاعاتی را ارائه نمی دهید، اما به طور کلی، به نظر می رسد چیزی شبیه به: htmlspecialchars (htmlentities ($ input)) فوق العاده امن است.

این بدان معنا نیست که سایت SITE آسیب پذیر نیست، بلکه به این معنی است که این پارامتر به طور خاص امن است.

این هنوز هم بستگی دارد، آیا پارامتر ورودی شما را به یک لینک، iframe، تصویر و غیره تزریق می کند؟ اگر در عنصر دیگری تزریق می شود، ممکن است بدون در نظر گرفتن روش هایی مانند javascript: و داده ها: .