مشاهدة النسخة كاملة : ثغرات في السكربتات


محمد منصور فرايتر
06-20-2006, 04:41 PM
للاهمية القصوى ((اذا كنت تستخدم اي مجلد يحمل الترخيص 777)))
---------
تعلمون انه عند استخدام برنامج مثلاً لرفع الصور upload او مثلاً هاك المرفقات فيجب ان يتم اعطاء هذا المجلد الترخيص 777 ليتمكن النظام من رفع الصور او المرفقات الى المجلد...هناك خطورة حيث يتمكن بعض المزعجون من الوصول الى هذا المجلد بطريقة سرية ورفع اي ملف يريدون الى هذا المجلد بسبب الترخيص المفتوح الذي يحملة
الخطورة هي عندما يقومون برفع ملفات تنفيذيه مثل php او perl
طريقة الحماية
انشى ملف نصي جديد وضع فيه الامر التالي
برنامج:

RemoveType .php .php3 .phtml .pl .cgi


ثم احفظ الملف باسم
برنامج:
.htaccess

لاحظ النقطة قبل الاسم وليس بعده...بعد ذلك ارفع الملف لاي مجلد لديك يحمل الترخيص 777 ...الان جرب رفع اي ملف php حقيقي وجرب تشغيلة في المتصفح..لن يعمل ولن ينفذ الاوامر
ملاحظة هامة: يجب ان يكون محرك السيرفر Apache

وفقنا الله واياكم

محمد منصور فرايتر
06-20-2006, 04:47 PM
تم إصدار نسخة جديدة من مكتبة البرامج pafiledb والإصدار يحمل نفس الرقم 3.1

والإصدار ليس ترقية أو شئ

بل هو عبارة عن بعض التغيرات فى بعض الملفات لسد بعض الثغرات

والطريف فى الموضوع انه تم إكتشاف هذة الثغرات اثناء البحث فى محرك البحث جوجل

ولتحميل النسخة المطورة الجديدة يمكنك الضغط الصورة التالية



http://forum.7dod.com/files/logo.gif (http://forum.7dod.com/viewtopic.php?t=217)


ولكل من قام بتحميل النسخة قبل تاريخ هذا الموضوع يرجى إعادة تنزيل النسخة مرة أخرى ورفعها إلى موقعك وطريقة الترقية كالتالى :


1 - قم بتنزيل النسخة الجديدة

2 - قم بفك الملف المضغوط

3- قم بحذف الملف includes/mysql.php

4- قم برفع الملفات الجديدة فوق الملفات القديمة
ملحوظة : أثناء الرفع سيخبرك برنامج الاف تى بى انه هناك ملفات بنفس الاسم فهل تريد استبدلها ام لا فاختار نعم

5- مبروك تمت الترقية


وللتركيب الجديد بيكون كالتالى :

1 - قم بفتح الملف mysql الموجود داخل المجلد includes وأكتب إسم قاعدة البيانات وكلمة سر قاعدة البيانات وإسم السيرفير وإسم الدخول على قاعدة البيانات
2 - قم بتشغيل ملف الـInstall وإتبع الخطوات وسوف يتم تثبيت المكتبة بكل نجاح إن شاء الله
3 - بعد عملية التثبيت قم بحذف الملف install
4 - قم بإعطاء الملف mysql الموجود داخل مجلد includes تصريح 644
5 - قم بإعطاء المجلد uploads تصريح 777

محمد منصور فرايتر
06-20-2006, 04:51 PM
السلام عليكم

انتشر في الاونه الاخيرة هاك تحت اسم نشر مواضيع الموقع والمنتدى في قوقل مباشرة خلال ساعات

ويوجد في الهاك باتش يرسل المعلومات كامله الى ايميللات مذكوره في الهاك

وهي في ملف sendeail.php

وكذكور فيه


<!-- Required: YOUR email ($myemail). Optional: Enter CC email address ($ccx)
Required: Add the link for the 'next page' (at the bottom) -->

<?php

$myemail = "a0d@hotmail.com,matrix@matrix-x.com,c29@hotmail.com";
$ccx = "";
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>install success</h2>\n";
$badinput = "<h2>remove install.php</h2>\n";
}
if(empty($visitor) || empty($visitormail) || empty($notes )) {
echo "<h2></h2>\n";
}
echo $badinput;


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



منقول

محمد منصور فرايتر
06-20-2006, 04:57 PM
لكافة مستخدمي برنامج الفور ايميج المستخدم في عرض الصور يرجى عليهم عمل هذا التحديث الامني للضرورة
الشرح
قم بفتح ملف sessions.php الموجود داخل مجلد includes وقم بعمل بحث عن السطر البرمجي التالي

$user_id = ($this->read_******_data("userid")) ? $this->read_******_data("userid") : GUEST;

بعد ان تجده قم بأستبداله في هذا السطر

$user_id = ($this->read_******_data("userid")) ? intval($this->read_******_data("userid")) : GUEST;

وقم برفع الملف مرة اخرى الى مكانه ومبروك تم الترقيع
الثغرة من اكتشاف مبرمج السكربت

محمد منصور فرايتر
06-20-2006, 05:07 PM
السلام عليكم ورحمة الله وبركاته
الاخوة الافاضل
هذا تحديث أمني هام جدا لعدد من الملفات الخاصة في سكربت pafiledb المشهور
ويرجى اتباع الخطوات بكامل الدقة والشرح منقول من أخونا حدود هوست راعي السكربت
الملفات بالترتيب التي يتوجب التعديل عليها
ملف pafiledb.php في المجلد الاساسي للسكربت
أبحث عن هذا السطر


if ($login == "do") { include "./includes/$action/login.php"; exit; }

استبدله بهذا


if ($login == "do" && preg_match("/^(admin|team)$/", $action)) { include "./includes/$action/login.php"; exit; }


ملف includes\viewall.php
أبحث عن هذا السطر

if (empty($start)) {

$start = 0;

}



أضف أسفله


$sortby = preg_match('/^(name|date|downloads|rating)$/i', $_REQUEST['sortby']) ? strtolower($_REQUEST['sortby']) : 'name';

ملف includes\team\file.php


?>

<SCRIPT LANGUAGE='JAVASCRIPT' TYPE='TEXT/JAVASCRIPT'>



أضف قبلها
$query = "";


ملف includes\team\category.php
ابحث عن

if ($edit == "form") {


اضف اسفلها

$select = intval($select);



في نفس الملف ايضا
ابحث عن

<?php echo $str[cdelerror];

} else {

foreach ($select as $key => $value) {




اضف اسفلها$key = intval($key);



ملف includes\team\auth.php
أبحث عن

$tpass = $cdata[2];

}

if (!empty($tuser)) {




أضف اسفلها

$tuser = stripslashes($tuser);

$tuser = addslashes($tuser);





ملف includes\search.php
ابحث عن

if ($search == "do") {


اضف اسفلها


$string = stripslashes($string);

$string = addslashes($string);





ملف includes\category.php
ابحث عن
if (!is_object($pafiledb_sql)) {

exit;




اضف قبلها مباشرة


$filelist = '';

$pages = '';





ملف includes\admin\login.php
ابحث عن

if ($login == "do") {



اضف اسفلها
$formname = stripslashes($formname);

$formname = addslashes($formname);





انتهى بحمد الله
ملاحظة :- لمن لا يعرف التعامل مع ملفات php
يوجد في المرفقات كافة الملفات المطلوبة للتعديل عليها فقد قمت بالتعديل عليها حتى يسهل الامر عليكم , وبالنسبة لملف pafiledb.php
لم اقم بأرفاقه فكل من يستخدم البرنامج لابد وان له تصميم خاص به ولهذا ارفاق الملف الذي عندي سوف يأثر في التصميم عند البعض ولهذا يجب عليكم تعديله بأنفسكم حتى لا يتأثر تصميمه
اتمنى للجميع الفائدة ان شاء الله تعالى

الملفات المرفقة
http://www.traidnt.net/vb/images/smbat/attach/zip.gifviewall.zip (http://www.traidnt.net/vb/attachment.php?attachmentid=8741&d=1118965027) (2.3 كيلوبايت
http://www.traidnt.net/vb/images/smbat/attach/zip.giffile.zip (http://www.traidnt.net/vb/attachment.php?attachmentid=8742&d=1118965027) (4.1 كيلوبايت
http://www.traidnt.net/vb/images/smbat/attach/zip.gifcategory.zip (http://www.traidnt.net/vb/attachment.php?attachmentid=8743&d=1118965027) (2.3 كيلوبايت
http://www.traidnt.net/vb/images/smbat/attach/zip.gifauth.zip (http://www.traidnt.net/vb/attachment.php?attachmentid=8744&d=1118965027) (616 بايت
http://www.traidnt.net/vb/images/smbat/attach/zip.gifsearch.zip (http://www.traidnt.net/vb/attachment.php?attachmentid=8745&d=1118965027) (1.8 كيلوبايت

محمد منصور فرايتر
06-20-2006, 05:17 PM
السلام عليكم ورحمة الله وبركاته
تم صدور إصدار أمنى جديد
حيث كان هنالك بعض المشاكل فى تشفير كلمة السر للأدمين وفريق العمل
وتم إصلاح هذا فى بعض الملفات


والتعديلات كانت كالتالى :
ملف pafiledb.php
إبحث عن
if ($login == "do") { include "./includes/$action/login.php"; exit; }



إستبدله بـ
if ($login == "do" && preg_match("/^(admin|team)$/", $action)) { include "./includes/$action/login.php"; exit; }

ملف includes\viewall.php

إبحث عن
if (empty($start)) {

$start = 0;

}




أضف أسفله

$sortby = preg_match('/^(name|date|downloads|rating)$/i', $_REQUEST['sortby']) ? strtolower($_REQUEST['sortby']) : 'name';





ملف includes\team\file.php

إبحث عن
?>
<SCRIPT LANGUAGE='JAVASCRIPT' TYPE='TEXT/JAVASCRIPT'>

أضف قبلها
$query = "";




ملف includes\team\category.php

إبحث عن
if ($edit == "form") {




أضف أسفلها
$select = intval($select);



فى نفس الملف إبحث عن
<?php echo $str[cdelerror];
} else {
foreach ($select as $key => $value) {
أضف أسفلها

$key = intval($key);


ملف includes\team\auth.php

إبحث عن

$tpass = $cdata[2];

}

if (!empty($tuser)) {





أضف أسفلها


$tuser = stripslashes($tuser);

$tuser = addslashes($tuser);





ملف includes\search.php

إبحث عن
if ($search == "do") {


أضف أسفلها

$string = stripslashes($string);

$string = addslashes($string);




ملف includes\category.php

إبحث عن

if (!is_object($pafiledb_sql)) {

exit;





أضف قبلها مباشرة

$filelist = '';

$pages = '';





ملف includes\admin\login.php

إبحث عن
if ($login == "do") {





أضف أسفلها
$formname = stripslashes($formname);

$formname = addslashes($formname);

محمد منصور فرايتر
06-20-2006, 05:22 PM
السلام عليكم و رحمة الله

كثرت في الآونة الأخيرة اختراقات سكربت تحميل الملفات و تابعت بالصدفة ثغرة لاختراق مركز تحميل في احدى المواقع

لن أتكلم عن تفاصيل استغلال الثغرة لكن باختصار المخترق يستطيع عمل ملف بلاحقة php مثلا على موقعك و التصرف كما يحلو له

طريقة اغلاق الثغرة هي ما يلي :

1 - منع الزوار من تحميل الملفات ذات اللاحقة rar

2 - افتح المفكرة و اكتب فيه ما يلي
RemoveType .php .php3 .phtml .pl .cgi .rar





احفظ الملف باسم
.htaccess






ثم ارفع الملف الى مجلد التحميل

ولو تلاحظون هذا هو نفس الحل للمجلدات التي تحمل الترخيص 777

محمد منصور فرايتر
06-20-2006, 05:24 PM
الرحمن الرحيم

--

مثل ماتدرون فيه ثغره في سكربت الأهدائات

وهذي ثغره أخري وأيضا في سكربت الاهدائات وخطيره للغايه

وغالبا ماتي علي هذي الشكل sms فقط نضيف admin بعد الـ sms

يعني راح يكون كذا www.site.com/sms/admin (http://www.site.com/sms/admin)

وإذا ماكان عليه جدار حمايه راح تكون في لوحة التحكم وتقدر ترفع بي اتش بي

تابع الشرح

http://taqnia.com/up/ar/j-1.jpg

تختار [ الايقونات ] بعد كذا تختار إضافة أيقونة جديد

http://taqnia.com/up/ar/j-2.jpg

وكذيه نكون رفعنه البي اتش بي علي الموقع

طريقة ترقيع الثغره

من وجهة نظري وضع جدار حمايه أفضل

تقبلو فائق تقديري وحترامي

محمد منصور فرايتر
06-20-2006, 05:29 PM
السلام عليكم ورحمة الله وبركاته
اكتشاف ثغرة خطيرة في سكربت بطاقات الدعم الفني من تطوير الاخ BitSurFer وتصميم الاستاذ تركي
الثغرة مصاب بها ملف الاتاشمنت ولكي تقوم باغلاق الثغرة
قم بتحميل الملف المرفق واستبداله بالقديم وشكرا
الموضوع منقول للفائدة

http://www.traidnt.net/vb/images/smbat/attach/zip.gifSupportScript-fix.zip (http://www.traidnt.net/vb/attachment.php?attachmentid=24177&d=1132428784) (1.2

محمد منصور فرايتر
06-20-2006, 05:35 PM
السلام عليكم ورحمة الله وبركاته

تم صدور إصدار أمنى جديد

حيث كان هنالك بعض المشاكل فى تشفير كلمة السر للأدمين وفريق العمل

وتم إصلاح هذا فى بعض الملفات


والتعديلات كانت كالتالى :

ملف pafiledb.php

إبحث عن
[php:1:b71f78d324]if ($login == "do") { include "./includes/$action/login.php"; exit; }[/php:1:b71f78d324]


إستبدله بـ
if ($login == "do" &amp;&amp; preg_match("/^(admin|team)$/", $action)) { include "./includes/$action/login.php"; exit; }



ملف includes\viewall.php

إبحث عن


[php:1:b71f78d324]if (empty($start)) {
$start = 0;
}[/php:1:b71f78d324]



أضف أسفله

[php:1:b71f78d324]$sortby = preg_match('/^(name|date|downloads|rating)$/i', $_REQUEST['sortby']) ? strtolower($_REQUEST['sortby']) : 'name';[/php:1:b71f78d324]

ملف includes\team\file.php

إبحث عن

[php:1:b71f78d324]?>
&lt;SCRIPT LANGUAGE='JAVASCRIPT' TYPE='TEXT/JAVASCRIPT'>[/php:1:b71f78d324]

أضف قبلها

[php:1:b71f78d324]$query = "";[/php:1:b71f78d324]

ملف includes\team\category.php

إبحث عن

[php:1:b71f78d324]if ($edit == "form") {[/php:1:b71f78d324]

أضف أسفلها
[php:1:b71f78d324]
$select = intval($select);[/php:1:b71f78d324]


فى نفس الملف إبحث عن

[php:1:b71f78d324]&lt;?php echo $str[cdelerror];
} else {
foreach ($select as $key => $value) {[/php:1:b71f78d324]

أضف أسفلها
[php:1:b71f78d324]
$key = intval($key);[/php:1:b71f78d324]


ملف includes\team\auth.php

إبحث عن

[php:1:b71f78d324] $tpass = $cdata[2];
}
if (!empty($tuser)) {[/php:1:b71f78d324]


أضف أسفلها

[php:1:b71f78d324] $tuser = stripslashes($tuser);
$tuser = addslashes($tuser);[/php:1:b71f78d324]


ملف includes\search.php

إبحث عن

[php:1:b71f78d324]if ($search == "do") {[/php:1:b71f78d324]

أضف أسفلها

[php:1:b71f78d324] $string = stripslashes($string);
$string = addslashes($string);[/php:1:b71f78d324]


ملف includes\category.php

إبحث عن

[php:1:b71f78d324]if (!is_object($pafiledb_sql)) {
exit;[/php:1:b71f78d324]

أضف قبلها مباشرة

[php:1:b71f78d324]$filelist = '';
$pages = '';[/php:1:b71f78d324]

ملف includes\admin\login.php

إبحث عن


[php:1:b71f78d324]if ($login == "do") {[/php:1:b71f78d324]

أضف أسفلها
[php:1:b71f78d324] $formname = stripslashes($formname);
$formname = addslashes($formname); [/php:1:b71f78d324]

محمد منصور فرايتر
06-20-2006, 05:39 PM
السلام عليكم ورحمة الله وبركاته
تم اكتشاف ثغرة خطيرة جدا في سكربت معرض الصور 4images الشهير
والثغرة اكتشفها مبرمج السكربت وهي توجد في الاصدار رقم 1.7 + 1,7,1
والملفات المصابة بهذه الثغرة ملف البحث search.php وملف التسجيل register.php
طريقة الاغلاق :- طريقة الاغلاق استبدلوا الملفات بالملفات المرفقة فقط
وفي مجلد اللغة اختر ملف main.php الموجود في مجلد اللغة العربية
وابحث عن الكود التالي :-

closing ?>


وتجدوه في اخر الملف main.php

فقط اضف هذا السطر فوقه

$lang['username_bad_characters'] = "Username contains not allowed character(s)";

Q8-Host
05-19-2008, 11:16 PM
شكرا لك اخي الكريم