اول شيء قبل نتكلم بخلاصة الموضوع
الأستغلال للتخطي ماراح اعرضه لا للبيع ولا للنشر
لسببين :-
1- الأستغلال مو كامل
2- التجربة الناجحة على حساب واحد بس مدري بتضبط على الكل او لا
------------------
الغرض من النشر لطريقة الأكتشاف
عشان احد يجي ويطور الفكرة ويطلع شيء كبير
ويرسل للفيسبوك
https://www.facebook.com/whitehat/
بيحصل شيء كبير بينفعه
-------------------------------------
------------
نرجع للزبدة
200 - OK
400 - Bad Request
401 - Authorization Required
403 - Forbidden
404 - Not found
500 - Internal Server Error
503 - Service Unavailable
مايحتاج اتكلم عنها واضحه
الحين اول ماتسوي تسجيل دخول في حسابك
ماراح يطلب منك سكيور صح ؟
راح تصير هنا الحالة [200] كما هو موضح لك فوق
طيب اذا سجلت بحساب فيه سكيور
راح تصير هنا الحاله [400]
كما في الصورة
بأختصار :-
400 = يحولك لرابط السكيور
200 = يدخلك الحساب بشكل سليم
طيب الهدف وش ؟
احنا نبي ندخل الحساب بدون ماندخل
ناخذ مثال بين صالح والمخترق عشان التوضيح

زي ماتشوفون بالصورة
صالح اللي صار بينه وبين السكيور الحالة 400
والمخترق تجاوز الحاله 400
وراح للحالة 200 وهي انه يتم تسجيل دخولك للحساب
طيب اعتذر عن تطويل شرح مفهوم الخطأ
الحين نشرح
تسجيلك لحسابك راح يعطيك
{"authenticated": true, "status": "ok", "user": "user"}
هذا اللي بدون سكيور
ولو نلاحظ بيعطيننا الحالة 200
ولو بتسجل بحساب فيه سكيور راح يعطيك هالناتج :-
كود:
{"message": "checkpoint_required", "status": "fail", "checkpoint_url": "https://www.instagram.com/integrity/checkpoint/checkpoint_logged_out_main/(id)/(code)/?next=%2F", "lock": false}
طبعا تستخرج هالشيء
عن طريق الهيدر والبوست
كود:
POST /accounts/login/ajax/ HTTP/1.1
Host:
www.instagram.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
Accept: */*
Accept-Language: ar,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-CSRFToken:
X-Instagram-AJAX: 1
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Referer:
https://www.instagram.com/
Content-Length: 36
Cookie:
POST :-
كود:
username=xx&password=xxx
شرحت لكم المشكلة بالتفصيل الممل عشان تفهمون
------------------------------
نروح لمكان الأصابه وشرح التخطي :biggrin[1]:
هذا الجزء من المحتوى مخفي
مكان الأصابة في الهيدر
Content-Type: application/x-www-form-urlencoded
نغير الContent-Type
وتخليها :-
Content-Type: application/json
فور تغييرها نغير POST معها
الى :-
{"username": "user", "password", "pass"}
راح يعطيك الناتج ذا حتى لو فيه سكيور
{"authenticated": false, "status": "ok", "user": "user"}
بدل مايعطيك
كود:
{"message": "checkpoint_required", "status": "fail", "checkpoint_url": "https://www.instagram.com/integrity/checkpoint/checkpoint_logged_out_main/(id)/(code)/?next=%2F", "lock": false}
بيعطيك حالة التسجيل 200 :eh_s(9)[1]:
طيب تقولي انت الحين عطيتنا الأستغلال :biggrin:
هذا مو استغلال ياحبي
لأنه بيعطيك:-
authenticated": false
واليوزر ماراح يبين لك بالناتج :biggrin:
لازم بدل false تكون true عشان يتم تسجيل دخولك
الأستغلال برضو نفس مكان Content-Type
حول JSON الى XML
وحط POST XML
الأستغلال عرضته لكم بشكل 40%
عشان يجي شخص افضل مني يطلع شيء اكبر
طبعا ارسلت الثغرة للفيسبوك وطلعت صحيحه بس قالوا انتظر نرقعها ونعطيك حقك من BugBounty حقك
BugBounty للي مايعرفه هو انك يعطونك مكافئة مالية مقابل الثغرات الأمنية
موجود هالنظام في موقع HackerOne.com
انصح الكل يشارك بهالموقع راح يربح رزق حلال
اعتذر على عدم التنسيق
Tested on : curl , BrupSuite , Script Python
فقط للأفادة :toto[1]:
الموضوع الأصلي : <font color="#000000" size="2" face="tahoma">[BugBounty]: (Instagram) Bypass Two Factor<font color="#000000" size="2"> المصدر : مجتمع الفرسان الكاتب : <font color="#000000" size="2" face="tahoma">1337r00t