فا

‫ برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها- قوانين IDS13-J و IDS14-J

شماره:IRCAR201502248
تاريخ: 08/12/93
اولين موضوعي كه به طور كلي در برنامه نويسي امن (رجوع شود به مقاله اصول برنامه نويسي امن) و همچنين در برنامه نويسي امن با زبان جاوا مورد توجه قرار مي‌گيرد، اعتبار سنجي ورودي و پاكسازي داده‌ها است. در ادامه به دو قانون IDS13 و IDS14 پرداخته خواهد شد.
قانون IDS13-J – استفاده از encodingهاي سازگار در ورودي و خروجي شبكه يا فايل
اين قانون در نسخه جديد قوانين برنامه نويسي امن با جاوا، به به ذيل قوانين مربوط به موضوع «كاراكترها و رشته‌ها (STR)» منتقل شده است.
قانون IDS14-J – اجراي هرگونه تغيير رشته قبل از اعتبارسنجي
HTML، امكان نمايش يا مخفي شدن فيلدها در فرم وب را ايجاد مي‌كند. فيلدهاي مخفي مقاديري را به سرور وب ارائه مي‌كنند، اما امكان تغيير محتواي آنها را در اختيار كاربر قرار نمي‌دهند. اما روش‌هايي وجود دارد كه مهاجمان مي‌توانند از آنها براي تغيير اين محتوا استفاده كنند. يك web servlet كه از فرم GET براي گرفتن پارامترها استفاده مي‌كند، مي‌تواند اين پارامترها را از طريق URL نيز دريافت كند. URLها اين امكان را به كاربر مي‌دهند كه نام و مقدار هر پارامتر را در درخواست وب مشخص نمايد. بنابراين نبايد به فيلدهاي پنهان فرم اعتماد بيشتري نسبت به فيلدهاي قابل مشاهده فرم داشت.
يك نمونه ناسازگار با قانون
Servlet ذيل فيلد قابل مشاهده و فيلد پنهان را دريافت مي‌كند و آنها را براي كاربر ارسال مي‌كند. پارامتر قابل مشاهده قبل از ارسال به مرورگر امن‌سازي مي‌شود، اما فيلد پنهان امن‌سازي نمي‌گردد.
هنگام استفاده از پارامتر param1، صفحه وب عبارت زير را نمايش مي‌دهد:
اما، مهاجم مي‌تواند به راحتي و بوسيله كدگذاري در URL، مقداري را در پارامتر مخفي قرار دهد:
پس از وارد كردن اين URL در مرورگر، مرورگر عبارت زير را نمايش مي‌دهد:
راه حل سازگار با قانون
اين راه حل سازگار، روي پارامتر مخفي و قابل مشاهده، امن‌سازي يكساني را اعمال مي‌كند:
با اين كار، زماني كه URL مخرب در مرورگر وارد مي‌شود، servlet عبارت زير را ايجاد مي‌كند:
ارزيابي خطر
اعتماد به محتواي فيلدهاي مخفي فرم ممكن است منجر به انواع اتفاقات نامطلوب گردد.
مطالب مرتبط:
برنامه‌نويسي امن با زبان جاوا - آشنايي
برنامه‌نويسي امن با زبان جاوا - اعتبارسنجي ورودي و پاكسازي داده‌ها
برنامه‌نويسي امن با زبان جاوا – نشت اطلاعات حساس
برنامه‌نويسي امن با زبان جاوا – نشت قابليت ها
برنامه‌نويسي امن با زبان جاوا – انكار سرويس
برنامه‌نويسي امن با زبان جاوا – ارتقاي حقدسترسي
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجيورودي و پاكسازي داده‌ها - آشنايي
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS00-J – قسمت دوم
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS00-J – قسمت اول
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS01-J
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS02-J
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS03-J
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS04-J
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS05-J
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS06-J
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS07-J
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS08-J
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS09-J
برنامه‌نويسي امن با زبان جاوا – قوانين اعتبارسنجي ورودي و پاكسازي داده‌ها – قانون IDS10-J و IDS11-J
منبع:

نظرات

بدون نظر
شما برای نظر دادن باید وارد شوید

نوشته

 
تاریخ ایجاد: 9 اسفند 1393

دسته‌ها

امتیاز

امتیاز شما
تعداد امتیازها: 0