به نام خدا
در این مطلب آموزشی قصد داریم شما دوستان رو با مبحث مهم رمزگذاری در وب آشنا کنیم.
برنامه های کاربردی تحت وب یا سیستم ها تحت وب، از چندین رمزگذار گوناگون برای ارسال یا دریافت داده ها استفاده میکنند.
در زمان حمله به برنامه های کاربردی وب ، گاهی پیش از ارسال داده ها ممکن است که نیاز به رمزگذاری داده ها داشته باشید ; در ادامه این مطلب با رایج ترین روش های رمزگذاری آشنا خواهید شد.
1) URL-Encoding :
در این روش از رمزگذاری ، url ها تنها به وسیله مجموعه کاراکتر های ASCII میتوانند روی بستر اینترنت ، فرستاده شوند.
آن دسته از کاراکتر هایی که خارح از مجموعه ASCII هستند را با نماد % به همراه 2 رقم در مبنای هگزا دسیمال (Hex) جایگزین میکنند
چند نمونه از کاراکتر های مهمی که در url ها رمزگذاری میشوند
; << %3b
; << %3b% << %25
# << %23= << %3d
%0a
یا به فرض :
http://site.com/news.php?id=64%20union%20all%20select%201,2,3,4,5,6,7%23
برای مشاهده کد های بیشتر میتونید به سایت های زیر مراجعه کنید:
http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
http://en.wikipedia.org/wiki/Percent-encoding
www.tutorialspoint.com/html/html_url_encoding.html
www.rapidtables.com/code/text/ascii-table.html
www.branah.com/ascii-converter www.ascii.cl/htmlcodes.htm
2) Unicode-Encoding :
این روش یک استاندارد رمزگذاری کاراکتری است که هدفش پشتیبانی از بیشتر زبان های دنیا هست. یونی – کد میتواند توسط رمزگذاری کارکتری گوناگونی پیاده شازی شود. پرکاربرد ترین رمزگذار ها عبارتند از utf-8 و utf-16
3) Base64-Encoding :
از این روش رمزگذاری بیشتر در مواقعی استفاده میشود که داده ها باینری باشند. معمولا از base64 برای رمزگذاری پیوست های ایمیل ، عکس ها و اعتبار نامه کاربران در احراز هویت عمومی ( برای نمونه : استفاده از مکانیزم Basic ) در پروتکل HTTP استفاده میشود. یکی از روش های تشخیص اینکه آیا از این روش استفاده شده است یا خیر ، نگاه کردن به انتهای فرم رمزگذاری شده و کشف یک تا 3 کاراکتر = است : برای مثال :
قبل از رمزگذاری :
learn Hack & Security = Netyaran.ir
بعد از رمزگذاری :
bGVhcm4gSGFjayAmIFNlY3VyaXR5ID0gTmV0eWFyYW4uaXI=
4) HTML-Encoding :
در این روش ، این رمزگذار کاراکتر وبژه ای مانند <،>، & ، ” که در رشته های درون اسناد HTML استفاده میشوند را به اصطلاح
escape میکند تا از تداخل المان های HTML با رشته ها جلوگیری کند. همین که بدانید نوع رمزگذار اعمال شده روی رشته ها چیست کفایت میکند.
قبل رمز گذاری :
<center> netyaran.ir </center>
بعد رمز گذاری :
<center> netyaran.ir </center>
5) Hex-Encoding :
در این رمزگذاری برای حملات sqli بسیار استفاده میشود گاهی بین 2 کاراکتر هگز یک کاراکتر 0x میبینید که این 0x بیانگر هگز بودن هست :
قبل از رمزگذاری :
netyaran.ir hack & Security
بعد از رمزگذاری :
6e6574796172616e2e6972206861636b202620536563757269747920
با 0x
0x6e6574796172616e2e6972206861636b202620536563757269747920
روش های پیشرفته تری هم در سال های خیر پیدا شده که با هزینه و با الگوریتم های خاص رمزگذاری انجام میشود
امید واریم این مطلب مفید بوده باشه.
منتظر نظرات شما هستیم
کانال نت یاران : netyaraan@ کلیک کنید! 🙂