nav-right
امین مصباحی

هشدار: ضعف امنیتی برای ASP.NET 1.1 تا ASP.NET 4.0

امروز عصر، روی فید اسکات گاتری، معاون مایکروسافت در توسعه تکنولوژی دات نت، خبری مبنی بر ضعف امنیتی NET Framework. قرار گرفت… این ضعف امنیتی در کلیه نسخه های ASP.NET از 1.1 تا 4.0 موجود می باشد. این ضعف امنیتی در آخرین ساعات روز جمعه در یک کنفرانس امنیتی اعلان شده است… این ضعف امنیتی قادر به چه کاریست؟ مهاجم از طریق نرم افزارهای تولید شده توسط ASP.NETفایل هایی نظیر web.config که عموما حاوی اطلاعات مهم و محرمانه می باشد را دانلود نماید! همچنین مهاجم بوسیله این ضعف امنیتی قادر به رمزگشایی  اطلاعات رمزنگاری شده ارسال شده به سمت کلاینت نظیر viewstate خواهد بود. این ضعف امنیتی چگونه کار میکند؟ پیش از هرچیز باید با برخی واژه های علم رمزنگاری آشنا شویم. oracle: به صورت تئوری میتوان آن را یک Black Box نامید که طی پروسه رمزنگاری وظیقه پاسخ دادن رندم از بین توزیع یکنواخت دامنه خروجی را داراست. oracle موضف است به کلیه درخواست های این حوزه پاسخ دهد. حال ضعف ASP.NET در بخش oracle رمزنگاری است که اجازه می دهد تا مهاجم متن رمز شده را به سمت سرور ارسال نماید و پاسخ را پیرامون اینکه متن به درستی از حالت رمز درآمده با نه را تحت کدی که از طرف سرور برمی گردد دریافت نماید. بدین صورت مهاجم شروع به ارسال متن های مختلف به صورت آزمون و خطا خواهد کرد و بر اساس پاسخ سرور متوجه متن از رمز درامده خواهد شد. و اما راه حل مقابله با این ضعف: خیلی ساده است: اولین راهکار اینه که بخش <customErrors> را در فایل web.config تنظیم نمایید تا تمام خطاهای اتفاق افتاده کاربر را به سمت یک صفحه هدایت نماید. چرا؟ زیرا مهاجم متوجه نوع خطا و کد خطا نگردد، اگر فقط برخی خطاها موجب هدایت کاربر به سمت صفحه اعلان خطا گردد، خیلی خطاهای دیگه بدون درنظرگرفته شدن به مهاجم اعلام می شود و نمایش کد و متن خطا یکی از موهبات الهی برای مهاجم است. مثال:                                    

برچسب ها: ,

پیش نمایش CAT.NET 2.0، راهنمای مسیر امن توسعه

دپارتمان امنیت اطلاعات مایکروسافت نسخه پیش نمایش CAT.NET ویرایش دوم رو که بخشی از Assessment & Protection (A&P) خواهد بود، رونمایی کرد. کمی راجع به Assessment & Assessment & Protection (A&P) Suite: مجموعه ای از ابزارهای لازم جهت برآورد امنیت و محافظت کد در برابر حملات و ضعف های امنیتی، که شامل بخش های اصلی زیر خواهد بود: * Web Protection Library یا به اختصار WPL که منظور محافظت کد در برابر XSS, SQL Injection, SRE, CSRF و… در محیط وب به کارگرفته می شود. * CAT.NET که در ادامه به توضیح آن خواهم پرداخت * Web Application Configuration Analyzer یا به اختصار WACA. * و ابزارهای دیگری که به مرور افزوده خواهد شد. CAT.NET ابزاری است جهت بررسی، شناسایی و بر طرف سازی ضعف های کدهای تولید شده با تکنولوژی NET. نظیر آسیبپذیری های XSS, SQL Injection, SRE, CSRF, و… نسخه پیش نمایش 2 هم اکنون به صورت خط فرمان (Command Line) موجود می باشد و رابط کاربری گرافیکی ندارد ولی نسخه نهایی این محصول به عنوان یکی از بخش های ویژوال استدیو همراه را رابط کاربری گرافیکی در اختیار خواهد بود. به زودی سعی خواهم کرد تا مثالی از کاربرد CAT.NET آماده کنم… متاسفانه کمتر برنامه نویس ایرانی ای رو میبینم یا شرکت نرم افزاری که از چنین ابزارهایی استفاده کنند. http://blogs.msdn.com/securitytools

برچسب ها:

لطفا در این سایت SQL تزریق ننمایید!

پدربزرگ حملات دیتابیس ها را می توان SQL Injection یا تزریق کدهای SQL نامید. فرض کنید درون تکست باکسی که برنامه نویس عزیز انتظار نام و نام خانوادگی را می کشد به جای “حسن” و “تقی” عبارتی شبیه عبارت زیر وارد شود: ali’);—delete from students;--     Ali وارد شده و فرمان با تک کوتیشن و پرانتز و سمی کولون به پایان می رسد. ولی فرمان جدیدی از راه میرسد که کل رکوردهای جدول دانش آموزان را پاک می کند و فرامین بعدی را کامنت (چمن) می کند. گرچه امروزه این نوع حمله بسیار  احمقانه به شمار میان ولی پرداختن بهش چندان هم خالی از لطف نیست. راه حل ها: 1: استفاده از Stored Procedure 2: استفاده از پارامتر در فرامین ارسالی از سمت کاربر 3: استفاده از ابزارهای پیشگیرانه 4: استفاده از سطح دسترسی SQL Execute-only حالا برای تحلیل اینکه کد ما چه قدر خفن  و یا داغون نوشته شده، سنگ محک های زیادی وجود داره که به عنوان نمونه میشه از Microsoft Source Code Analyzer for SQL Injection tool است. لینک دانلود لینک اطلاعات بیشتر

برچسب ها: ,

وب، ASP.NET، حمله های XSS و کتابخانه Anti-XSS

یکی از رایج ترین حملات وب Cross Site Scripting هستند، کاراکتر X بیانگر Cross بوده و SS هم که مخفف Site Scripting است. حملات XSS عمدتا توسط کدهای JavaScript انجام می شوند و از طریق بخش های ورودی و یا خروجی تزریق می شوند. ابتدایی ترین روش مقابله با XSS مقابله با Dangerous characters یا کاراکترهای خطرناک است، کاراکترهایی که مقدمه ورود کدهای ویژه ی حمله هستند یعنی این ها: > < ( ) [ ] ' "  ;  : / | این کاراکترهای ملعون باید به تگ های HTML ی تبدیل شوند تا قابلیت اجراییشون رو از دست بدن به طور مثال < به gt& تبدیل شه. ابتدایی ترین شکل مبارزه با این نوع حمله در ASP.NET با دو عمل زیر شروع میشه: 1: تنظیم validateRequest="true" در Directive صفحه (تگ Page@>). 2: استفاده از توابع زیر جهت کد کردن مبادی حمله: »  HtmlEncode »  HtmlAttributeEncode »  JavaScriptEncode »  UrlEncode »  VisualBasicScriptEncode »  XmlEncode »  XmlAttributeEncode تا اینجا مبادی Input یا ورودی رو کد کردیم، خروجی ها مونده که باید با کتابخونه مایکروسافت به نام Microsoft Anti-Cross Site Scripting Library  که به اختصار Anti-XSS نامیده می شود و یا ابزارهای دیگه ای که توسط افراد یا شرکت های دیگه تولید شده اند کد شوند. همه این ها رو گفتم تا بگم نسخه نهایی ورژن 3.0 آماده دانلود و استفاده شد. لینک دانلود در ضمن در دوره کاربردی وب در سطوح مختلف با انواع روش های حمله و روش های ضدحمله آشنا خواهیم شد… پینوشت: به یاری خداوند، به زودی دومین دوره مقدماتی رو آغاز خواهم کرد…

برچسب ها: ,

درباره نویسنده

محمدامین مصباحی، همین و بس!

نمونه سوالات آزمون ارزیابی #C

آزمون ارزیابی c#
دانلود نمونه سوالات ارزیابی دانش برنامه نویسی #C جهت ثبت نام در دوره های:

 

WCF

ASP.NET (MVC, Web Forms)

SharePoint (Development)

Silverlight

Design Patterns

 

دانلود

 

 

آرشیو ماهانه پست ها