×
اطلاعات بیشتر باشه، مرسی برای ارائه بهترین تجربه کاربری به شما، ما از کوکی ها استفاده میکنیم

gegli

i love you

× خوشحال ميشم هر كه از وب لاگ من ديدن كند و نظراتش را در مورد من بگوييد.مرسي
×

آدرس وبلاگ من

alikeraker.goohardasht.com

آدرس صفحه گوهردشت من

goohardasht.com/alikeraker

اطلاعاتي در مورد نفوذ گران وب سايت

شمشير نفوذگران وب URL

Meta-Characters
كاراكترهايي مانند * ، ; ، | و ` در برنامه هاي كاربردي و اسكريپت ها معني مخصوصي دارند . اين
تاثيري ندارند اما ممكن است در پايان باعث شوند كه نحوه اجراي URL كاراكترها به هيچ عنواني روي
برنامه كاربردي تغيير پيدا كند و معني ورودي ها را براي برنامه كاربردي عوض كند و بعضي مواقع
باعث ايجاد سوراخهاي امنيتي براي اينگونه برنامه ها مي شود!
ها به صورتهاي مختلف در سرورهاي مختلف تفسير مي شوند . اگر Meta-Character بيشتر
ها كاراكترهاي قابل نمايش و يا غير Meta-Character بخواهيم به صورت واضح تري بيان كنيم
قابل نمايشي هستند كه روي رفتار دستورات زبانهاي برنامه نويسي اثر مي گذارن د به خصوص در
هاي ساخته شده براي يك پايگاه داده . البته بسته به نوع سيستم عامل، زبان Query برنامه ها و يا
برنامه نويسي و نوع پايگاه داده معاني اينگونه كاراكترها تغيير پيدا مي كند.
ها و تفسير آنها را بيان مي كند. Meta-character جدول ١ انواع
جدول شماره ١
نشانه توضيحات
; براي توضيحات اضافي در يك زبان استفده مي شود.
براي دستورات اجرايي استفاده مي شود. Pipe | كاراكتر
& استفاده در دستورات اجرايي
ها و ديگر نام ها به كار مي رود. URL %20 به عنوان يك فضاي خالي در
%00 كاراكتر تهي ١ براي انتهاي يك رشته و يا انتهاي نام يك فايل به كار مي رود.
%04 انتهاي يك فايل براي آلوده كردن پايان فايل ها.
%0 ايجاد خط جديد براي نوشتن دستورات جديد اجرايي. براي آلوده كردن ميلها و محتواي فايل ها a
%0 ايجاد خط جديد براي نوشتن دستورات جديد اجرايي. براي آلوده كردن ميلها و محتواي فايل ها d
هاي پايگاه داده استفاده مي شود . و از كاراكترهايي مي باشد كه در يكي Query در بعضي از
به كار مي رود. SQL Injection از زيباترين تكنيك هاي هك كردن وب به نام

� مانند كاراكتر � مي باشد.
هاي پايگاه داده استفاده مي شود. Query - در تركيبات بعضي از
هاي پايگاه داده استفاده مي شود. Query % * در تركيبات بعضي از
هاي پايگاه داده استفاده مي شود. Query / براي آلوده كردن مسير ها و بعضي از
هاي پايگاه داده استفاده مي شود. Query \ براي آلوده كردن مسير ها و بعضي از
براي نوشتن بعضي از زبانهاي اسكريپتي داخل يك فايل درون يك سرور وب استفاده مي
شود!!
< >
$ ? بسته به نوع زبان برنامه نويسي معاني مختلفي دارند.
@ :
{([])}
1 -Nullbytes
شمشير نفوذگران وب URL
URL مشخص كردن كاراكترهاي مخصوص در يك رشته
سوالي كه حالا به وجود مي آيد اين است كه چگونه مي توان از كاراكترهايي مانند % ، ? ، و يا + بدون
آنكه معني مخصوصي بدهند استفاده كرد؟ براي مثال اگر بخواهيم پارامترهاي
به يك برنامه ارجاع دهيم URL را به وسيله shipping=snailmail و book=pride&prejudice
به صورت زير مي شود:
http://mycheapbookshop.com/purchase.cgi?book=pride&predjudice&shipping
=snailmail
اي مي URL دو پهلو مي باشد زيرا دو نشانه & در آن قرار دارد و خيلي شبيه URL كه نتيجه آن يك
و prejudice= ، book=pride ، باشد كه مي خواهد سه پارامتر را ارجاع دهد
!! shipping=snailmail
اگر مي بخواهيم كه نشان ه & را به عنوان جزيي از ارزش يك پارامتر ارجاع دهيم مي توانيم آن را به
وسيله كاراكتر مخصوصي كه در دو رقم هگزادسيمال مي باشد ، بيان كرد كه به آن شكل رمزگذاري
اسكي مي گويند كه هميشه با پيشوند % مي باشد مانند زير:
%XX (%00 - %FF) - همه كاراكترهاي رمز شده هگز
%00 - %1F - %7F - كاراكترهاي كنترلي
%80 - %FF - كاراكترهاي بالاي ٨ بيت
- كاراكتر جاي خالي 20 % يا +
%0d Carriage return -
%0a Line feed -
در مثال قبل ، ارزش اسكي نشانه & ، ٣٨ مي باشد كه ٢٦ هگزا دسيمال مي شود . بنابراين اگر مي
بخواهيم از كاركتر & به عنوان ارزش يك پارامتر استفاده كنيم بايد از كد 26 % استفاده كنيم.
http://mycheapbookshop.com/purchase.cgi?book=pride%26prejudice&shippin
g=snailmail
URL سواستفاده از روزهاي
ايجاد شود تا بعضي از كاراكترهاي غير الفبايي URL باعث شد كه رمزگذاري Http معماري پروتكل
به صورت كاراكترهاي الفبايي در بيايند تا بتوان از آنها استفاده كرد. بعضي مواقع URL در رشته هاي
URL سرورهاي وب به وسيله روشهاي استفاده غير متعارف از كاراكترهاي رمز شده در رشته هاي
فريب مي خورند . دو تا از مهمترين آسيب پذيري هاي سرورهاي وب كه گزارش شده است در
ها مي باشد ! URL رمزگشايي
Unicode آسيب پذيريهاي
كشف شد كه به موجب آن با استفاده � unicode bug� در اكتبر سال ٢٠٠٠ يك آسيب پذيري به نام
از خطايي كه در رمزگشايي كاراكتر / به وجود مي آمد به يك كاربر اجازه مي داد كه از دايركتوري
شمشير نفوذگران وب URL
كنترل كل cmd.exe اسناد وب به دايركتوري سيس تم ويندوز پرش كرده و با استفاده از فراخواني
زير توجه كنيد: URL سيستم را به دست بگيرد! به عنوان مثال به
http://192.168.7.21/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+d:\
در مرورگر شما نمايش D باعث مي شود كه ليست كليه فايلها و دايركتوريها درون دراي و URL اين
داده شود!
غير مجاز مي باشد كه در اصل كاراكتر / را Unicode يك %c0%af ؟ اما اين حمله چگونه كار مي كند
را به / تعبير كند و باعث %c0%af باعث مي شود كه سرور وب رشته URL نشان مي دهد . اين
بارگذاري آن به فيلتر كننده سرور وب شود و موجب مي ش ود كه به دو دايركتوري قبل از دايركتوري
برود (يعني به صورت معمول دايركتوري ريشه ! ) و بعد از آن به /Scripts/
معمولا در موقعيت /Scripts/ دسترسي پيدا مي كند ! دايركتوري /winnt/system32/cmd.exe
به URL قرار دارد . در شرايط معمولي، سرورهاي وب اجازه نم ي دهند كه يك C:\inetpub\Scripts
بنابراين . ( C:\inetpub موقعيتي خارج از دايركتوريهاي اسناد وب دسترسي پيدا كند ( در اين مورد
..%c0%af../ وقتي كه سرور كاراكتر / را تشخيص مي دهد خود به خود آن را در نظر نمي گيرد . اما
بالا را به صورت زير ترجمه URL به / .. / .. تعبير مي شود و همين امر باعث مي شود كه سرور وب
كند :
http://192.168.7.21/scripts/../../winnt/system32/cmd.exe?/c+dir+d:\
به وسيله آن : cmd.exe كه در اصل يعني اجراي خط فرمان
http://192.168.7.21/winnt/system32/cmd.exe
به / تعبير مي شود؟ %c0%af اما در اينجا حتما اين سوال به ذهن شما رسيده است كه چگونه
نامشروع ساخته مي شود. Unicode در ابتدا بايد اين را بيان كنيم كه چگونه يك
2 مي باشد كه به صورت باينري 00101111 مي شود . رمز F كد اسكي كاراكتر / به هگزادسيمال
كاراكترهاي بالاتر از 256 و يا آنهاي ي كه از ٨ بيت بيشتر مي UTF- و يا واضح تر 8 Unicode كننده
2 مي باشد . اگر چه F همان شكل UTF- 2 در 8 F شوند را مجاز تشخيص مي دهد . راه صحيح نمايش
نشان داد . كاراكتر / را مي توان به UTF- 2 را مي توان به صورت چندين نوع نمايش 8 F نمايش
در زير UTF- صورت يك بايتي ، دوبايتي و يا حتي سه بايتي نشان داد كه درشكلهاي رمز شده 8
نمايش داده شده اند:
Used �/� Binary Decimal Hex
1 byte 0xxxxxxx 00101111 47 2F
2 byte 110xxxxx 10xxxxx 11000000 10101111 49327 C0 AF
3 byte 1110xxxx 10xxxxxx 10xxxxxx 11100000 10000000 10101111 14713007 E0 80 AF
ها همان الگوي كاراكتر رمز شده از راست به چپ مي باشند . بنابراين نمايش كاراكتر / به x كه در اصل
ما به صورت دو كاركتر رمز URL مي باشد كه در C0 AF همان UTF- صورت دو بايتي در 8
سه بايتي UTF- نشان داده شده است ! همان حمله حتي در استف اده از رمزگذاري 8 %c0%af شده
اين حمله مي باشد: URL زير نشان دهنده شكل نمايش URL كار مي كند
http://192.168.7.21/scripts/..%e0%80%af../winnt/system32/cmd.exe?/c+dir+d:\
شمشير نفوذگران وب URL
آسيب پذيري رمزگشايي دوباره ٢ و يا رمزگشايي زايد ٣
وقتي كه مايكروسافت در صدد به دست آور دن حيثيت دوباره خود در آسيب پذيري به وجود آمده ،
بود ؛ آسيب پذيري ديگري در مي سال ٢٠٠١ كشف شد ! كه به رمزگشايي دوباره و رمزگشايي
اضافه معروف شده بود. و از همين جا درگيريهاي آنها با آسيب پذيريهاي به وجود آمده شروع شد.
اي به شكل زير بهره برداري كرد: URL از آسيب پذيري رمزگشايي دوباره مي توان به صورت
http://192.168.7.21/scripts/..%25%32%66../winnt/system32/cmd.exe?/c+dir+d:\
در رمزگشايي اول به صورت زير URL 25 % جايگزين مي شود . نمايش %32% كاراكتر / به جاي رشته 66
مي شود:
http://192.168.7.21/scripts/..%2F../winnt/system32/cmd.exe?/c+dir+d:\
%25 = � % �
%32 = � 2 �
%66 = � F �
فوق يك بار ديگر رمزگشايي شود به صورت زير مي شود: URL اگر
http://192.168.7.21/scripts/../../winnt/system32/cmd.exe?/c+dir+d:\
در جدول زير تركيبات بيشتري از اينگونه رشته ها را مي بينيد كه امكان ترجمه ديگري از خود را دارند:
Encoded Pattern Hex Representation ASCII Character
%25%32%63 %5c � \ �
%25%35f %2f � / �
%252f %2f � / �
%252F %2F � / �
%255C %5C � \ �
تهيه كننده:
[email protected]، علي كيخوانژاد


سه شنبه 28 تیر 1390 - 11:17:35 PM

ورود مرا به خاطر بسپار
عضویت در گوهردشت
رمز عبورم را فراموش کردم

آخرین مطالب


اطلاعاتي در مورد نفوذ گران وب سايت


نمایش سایر مطالب قبلی

پیوند های وبلاگ

آمار وبلاگ

9534 بازدید

1 بازدید امروز

0 بازدید دیروز

1 بازدید یک هفته گذشته

Powered by Gegli Social Network (Gohardasht.com)

آخرين وبلاگهاي بروز شده

Rss Feed

Advertisements