PDA

View Full Version : دسترسی به فایلهای پوشه



xzxzxz
دوشنبه 29 خرداد 1391, 19:57 عصر
سلام
من یه پروژه فایل منیجر دارم مینویسم که کاربر میتونه فایل توش آپلود کنه و بعد هم از طریق آدرس فایلها بتونه بهشون دسترسی داشته باشه
تو فایل منیجر امکانی گذاشتم که بشه فایل zip هم آپلود کرد و برنامه اکستراکتش کنه
حالا اگه کاربر بیاد و یه فایل aspx (مستقیم یا داخل فایل zip ) آپلود کنه و بازش کنه میتونه session خودش set کنه و به نوعی سایت را هک کنه
چون همه فایلهای توی یه پوشه خاص آپلود میشن ، آیا میشه توی web.config یا هر جای دیگه امکان اجرای فایلهای aspx ، php ، HTML , htm , asp, .... را از طریق نوار آدرس (http) منع کرد تا اگه هم کاربر آپلود کرد جلوشا گرفت؟
یا راه دیگه ای به ذهنتون نمیرسه؟

fakhravari
دوشنبه 29 خرداد 1391, 21:11 عصر
سلام
اطلاعاتی زیادی ندارم اما فکر کنم بشه با httpHandlers کار کرد.
اگز دوستان اطلاعاتی دارن بیان کنند.

m110_110
سه شنبه 30 خرداد 1391, 07:01 صبح
سلام
بله اين كار شدني است و يكي از راه كارهايي كه به ذهنم مي رسد و اتفاقا در يك همايش امنيت نيز به نكته هم اشاره شد كه پوشه اي كه فايلهاي كاربر در ان ذخيره مي گردد نبايد قابليت excute را داشته باشد
اين تنظيمات را مي توانيد در iis اعمال كنيد و هيچ ترسي از اجرا شدن صفحه اي در اين پوشه نداشته باشيد
در واقع اين پوشه قابليت خواندن و نوشتن را ديگر دارد و صفحات كدي كه درون ان قرار گيرد توسط iis اجرا نمي شوند

xzxzxz
سه شنبه 30 خرداد 1391, 16:18 عصر
execute مگه واسهه فایلهای اجرایی نیست
من منظورم اینه که طرف یه aspx آپلود کنه و اطلاعات session ست کنه
یکمی خودم بررسی کردم شاید فردا کسی با سرچ بیاد توی این صفحه به دردش بخوره شاید هم کسی نکته ی بهتری بگه
من فهمیدم از طریق global.asax میشه قبل از فراخوانی یه فایل aspx با دستور Request.Url آدرسش را خوند پس میشه در این رویداد با دستور Response.Redirect اکه دیدیم تو یه صفحه خاص هست برش گردونیم؟
نظر دوستان چیه یعنی بیام و توی global برش گردونم و جلوی Request هایی که برای یه صفحه aspx صادر میشه را بگیرم

m110_110
چهارشنبه 31 خرداد 1391, 06:59 صبح
سلام
ببينيد iis نبايد صفحه شما را به عنوان كد اجرا كنه پس كافي است كه اين پوشه را بهش معرفي كنيد و تمام
ديگه صفحه به عنوان كد اجرا نميشه كه بخواهد session رو دستكاري كنه