برگزیده های پرشین تولز

مشکلات این کد از نظر امنیتی چه چیزهایی میتونه باشه؟

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
سلام،
مشکلات این کد از نظر امنیتی چی میتونه باشه؟ فرض کنید که ما فایلی روی سرور داریم که فقط شامل این کده. این یک کد خیلی ساده ارسال ایمیل است.
PHP:
<?
$name=$_POST["name"];
$email=$_POST["email"];
$subject=$_POST["subject"];
$tell=$_POST["tell"];
$message=$_POST["message"];
$headers  = "From: \"$name\"<$email>\n";
$addresssent = '[email protected]';
$next_page = "endsend.htm";

$msg2 = "$message
Tell: $tell";

@mail($addresssent,$subject,$msg2 , $headers);

header("Location: " . $next_page);
?>

یکیش اینه که اگر کسی از محتویات این فایل و نام متغیرها خبر دار باشه (که اینها رو میتونه از فرم قبلی که متغیرها رو پست میکنه بدست بیاره) ، میتونه با استفاده از همین کد روی همین سرور اون رو میل باران کنه!
حالا دیگه چه مشکلاتی میتونه داشته باشه؟ آیا کسی میتونه از این اسکریپت برای ارسال میل (Spam) به جای دیگه‌ای غیر از [email protected] که صریحا اینجا تعریف شده استفاده کنه؟!
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
نه میا باران نمی شه کرد چون هر باز اجرا می ره در یه صفحه دیگه
اگرچه راهی هست برای اونهم ولی نگرانی نداره ایم چیز ها
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
به هر حال این مشکلی است که این اسکریپت داره و به راحتی قابل حله. ولی: این اسکریپت رو یکی از مشتریان روی وب سایتش داشت. بعد ایمیلی از سرور دریافت کردیم که این وب سایت شما به علت ارسال هزاران اسپم به کاربران AOL ساسپند میباشد. حداکثر تا ۲۴ ساعت آینده اگر جوابی دارین بدین! من هم هر چه بررسی کردم، چیزی غیر از این پیدا نکردم و توی گزارشهای بازدید وب سایت هم همین اسکریپت بود که بارها و بارها یکسره اجرا شده بود!
دوستان دیگه لطفا راهنمایی بفرمایید.
 

PersianPC

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
9 فوریه 2005
نوشته‌ها
583
لایک‌ها
1
سن
34
محل سکونت
Tehran
احتمالا با استفاده از Curl ، متغیر های مربوطه رو به این صفحه میفرستادن ، و با استفاده از اسکریپت به ادرس های مورد نظرشون ایمیل میفرستادن ، بدون اینکه Ip خودشون لو بره.
 

phpkar

Registered User
تاریخ عضویت
11 آگوست 2005
نوشته‌ها
387
لایک‌ها
0
سن
42
محل سکونت
Mashhad
برای رفع این مشکل میتونی از کد امنیتی استفاده کنی یا اینکه session استفاده کنی و تعداد بدی بش که اگر از 3 تا بیشتر شد مثلا دیگه نفرسته . راه دیگه ذخیره IP در دیتابیس هست و عدم اجازه به IP تکراری در مثلا 15 دقیقه
ضمنا اگر خواستی این مقادیر رو در دیتابیس بفرستی مواظب Injection هم باش
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
مرسی. ولی اگر به پست قبلی من دقت کنید مشکل اینجاست که تو این اسکریپت، گیرنده ایمیل صریحا تعریف شده ([email protected])، بنابراین چطور میشه با این اسکریپت به جای دیگه ای ایمیل ارسال کرد؟! (همونطور که گفتم اونها اعلام کردند که شما به هزاران کاربر AOL اسپم فرستادید!)
 

phpkar

Registered User
تاریخ عضویت
11 آگوست 2005
نوشته‌ها
387
لایک‌ها
0
سن
42
محل سکونت
Mashhad
مطمئنی فقط تو این فایلت همچین برنامه ای داشتی ؟ این برنامه که دیگه هیچ راهی نداره واسه فرستادن به AOL ... اگر سرور مال خودته ممکنه یکی از مشتریای هاستت همچین کاری کرده باشه .
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
من هم همینو میگم که این کار غیر ممکنه! و همونطور که گفتم توی آمار وب سایت هم که دیدم همین اسکریپت بود که هزاران بار اجرا شده بود! و پس از دریافت اخطار هم همین اسکریپت رو حذف کردم و گزارش کردم و مشکلات برطرف شد!
پس زیاد جدی نگیریم بهتره! شاید اونها هم یک چیزی گفتن رو هوا! و مشکل چیزه دیگری بوده نه ارسال اسپم به AOL.
 
بالا