PDA

View Full Version : امنیت در ارسال مقدار به تگ img



ravand
شنبه 05 مهر 1393, 16:01 عصر
سلام
این دستورات رو در نظر بگیرید:


<form method="get">
<input type="text" name="url">
<input type="submit" value="send">
</form>



<?php
if(isset($_GET['url'])){
$mo=htmlentities($_GET['url'], ENT_QUOTES, "UTF-8");
echo "<img src='$mo'>";
}
?>

آیا هکر میتونه به جای آدرس یک عکس آدرس یک فایل جاوا اسکریپت یا php ارسال کنه و سایت رو هک بکنه؟
متشکرم.

eshpilen
یک شنبه 06 مهر 1393, 19:28 عصر
40 تا مشاهده شده کسی نبود این سوالای امنیتی رو جواب بده؟ :متفکر:
آی نفس کش :لبخند:

عرضم به حضورت که محتوای جاوااسکریپت بفرسته حتی هدر content-type: text/javascript بذاره فکر نکنم توی تگ img اجرا بشه! منطقی نیست، با اصول امنیت هم جور نیست، بنده هم ندیدم و نشنیدم تاحالا. مگر اینکه نتیجهء باگ بعضی نسخه های بعضی مرورگرها باشه در طول تاریخ که جاوااسکریپت رو اینطوری اجرا کنن، که اونم مسئولیت و مشکل شما بحساب نمیاد بطور معمول.

اما فایل php هم که دو حالت داره، یا فایل روی سایت خودته و با دادن آدرسش از طرف هکر اجرا میشه، که بی معنیه چون اگر آدرس اون فایل رو داشته باشه میتونه بصورت مستقیم در مرورگر وارد کنه یا با روشهای دیگر هم اجرا کنه و اگر این عمل مشکلی داشت که الان هیچ سایتی امن نبود، حالت دوم اینکه فایل روی سایت دیگری باشه که اونوقت هم روی اون سایت اجرا میشه و خروجیش به تگ img میره که بازم دلیلی نداره بتونه کاری بکنه.

بهرحال نگاه کن مثلا همین فروم مگه اجازه نمیده ملت در پست هاشون عکس درج کنن با URL های دلخواه؟ مشکی هم پیش نمیاد. نه؟ البته بهرحال از همین روش میشه مثلا کاربران یک سایت رو کم و بیش رصد کردن و مثلا IP های اونا رو بدست آورد و یا با تصاویر آلوده به اکسپلویت حفره های مرورگرهای مختلف اونا رو هک کرد، ولی این یک مشکل عمومی در کل اینترنته و اختصاصی سایت شما یا مسئولیت شما نیست، هرچند در کاربردهای حساس ممکنه نیاز باشه درنظر گرفته بشه و براش تمهیدات ویژه بشه یا اصلا ازش اجتناب بشه. خلاصه باید آدم حواسش باشه و هر مورد با توجه به سطح و مسائل و جزییات خاص خودش موارد امنیت خاص خودش رو ممکنه داشته باشه.

راستی اگر اون عکس فقط برای خود کاربر درج کننده به نمایش درمیاد که مشکل خاصی نیست، چون طرف هر بلایی بیاره سر خودش آورده :چشمک:

MMSHFE
یک شنبه 06 مهر 1393, 22:48 عصر
اگه سرور php رو بصورت ماژول آپاچی نصب کرده باشه (یعنی mod_php) و یه فایل شل مثل mypic.php.jpg رو آپلود کنه و شما هم ذخیره کنید به همین اسم و موقع نمایش هم با آدرسی که به این اسم ختم میشه توی src تگ img استفاده کنید، اسکریپت php روی هاست شما اجرا میشه.

ravand
دوشنبه 07 مهر 1393, 07:28 صبح
اگه سرور php رو بصورت ماژول آپاچی نصب کرده باشه (یعنی mod_php) و یه فایل شل مثل mypic.php.jpg رو آپلود کنه و شما هم ذخیره کنید به همین اسم و موقع نمایش هم با آدرسی که به این اسم ختم میشه توی src تگ img استفاده کنید، اسکریپت php روی هاست شما اجرا میشه.
قرار نیست که کسی فایلی آپلود کنه. کاربری که از سایت بازدید میکنه فقط یه آدرس را وارد میکنه و به تگ img ارسال میشه. همین.

رضا قربانی
سه شنبه 29 مهر 1393, 23:39 عصر
تنها مشکلی که می تونه به وجود بیاره اینه که آدرس یه شلر یا یه تصویر مخرب رو از یه سایت اکسترنال وارد کنه و حملات سمت کلاینت انجام بده . در غیر این صورت خطر جدی حساب نمیشه .
همیشه سعی کن به صورت دستی آدرس هایی که قراره بگیرید رو چک کنید نه از توابع آماده php . اینطوری می فهمید که برای هر حمله یه راه مقابله ای به صورت دستی گذاشتید .
کلا php امنیتش رو خود برنامه نویس تامین می کنه نه توابع .

ravand
چهارشنبه 30 مهر 1393, 07:49 صبح
تنها مشکلی که می تونه به وجود بیاره اینه که آدرس یه شلر یا یه تصویر مخرب رو از یه سایت اکسترنال وارد کنه و حملات سمت کلاینت انجام بده . در غیر این صورت خطر جدی حساب نمیشه .
همیشه سعی کن به صورت دستی آدرس هایی که قراره بگیرید رو چک کنید نه از توابع آماده php . اینطوری می فهمید که برای هر حمله یه راه مقابله ای به صورت دستی گذاشتید .
کلا php امنیتش رو خود برنامه نویس تامین می کنه نه توابع .
منظورتون از حملات سمت کلاینت چیه؟ مثلا طرف چکاری میکنه؟ سمت کلاینت که کاربر بازدید کننده از برنامه هست. میشه بیشتر توضیح بدید؟ بعد حالا ما باید چکار کنیم که مشکلی پیش نیاد؟

rezaonline.net
شنبه 10 آبان 1393, 09:28 صبح
منظورتون از حملات سمت کلاینت چیه؟ مثلا طرف چکاری میکنه؟ سمت کلاینت که کاربر بازدید کننده از برنامه هست. میشه بیشتر توضیح بدید؟ بعد حالا ما باید چکار کنیم که مشکلی پیش نیاد؟
مثلا اگر اجازه اجرای دستورات جاوااسکریپت رو بدید توی صفحه تون ، به راحتی میشه یه صفحه لاگین گذاشت توی سایتتون و کاربر اطلاعاتشو توش وارد کنه و ... :)

ravand
شنبه 10 آبان 1393, 10:08 صبح
اگه من دستور زیر رو بذارم برای قسمتی که قراره ادرس عکس گرفته بشه حله؟

htmlentities
یا باید کار دیگه ای هم بکنم؟
من نمیدونم باید چکار بکنم تا این مشکلی که شما میگید پیش نیاد.

Veteran
دوشنبه 12 آبان 1393, 08:39 صبح
بنظرم مشکلی پیش نمیاد، حتی اگه ادرس ی شل رو هم بفرسته، خوب نمیتونه روی سایت شما کاری بکنه! فقط توی سایت شما داره لود میشه و فقط واسه همون کاربر لود میشه! چیزی نیست.نگران نباشید :متفکر: