Abdullah Alannaz
169 posts


الحمدلله رب العالمين , حققت المركز الأول في منصة مكافآت الثغرات للربع الأول لعام 2026
ويسعدني كذلك أنني كسرت الرقم القياسي على مستوى جميع أرباع المنصة، وكذلك في عدد الثغرات عالية الخطورة والحرجة
شكرا
@SAFCSP
@BugBountySA
x.com/BugBountySA/st…
منصة مكافآت الثغرات@BugBountySA
ألف مبروك لمتصدر الربع الأول من عام 2026 👏 عمر العامودي 🏆 جائزة بقيمة 5,000 ريال ووسام المُتصدر 🎖️ #مكافآت_الثغرات
العربية
Abdullah Alannaz retweetledi

﴿ رَبِّ اجْعَلْ هَٰذَا الْبَلَدَ آمِنًا ﴾

وزارة الخارجية 🇸🇦@KSAMOFA
#بيان | تعرب المملكة العربية السعودية عن رفضها وإدانتها بأشد العبارات للهجمات الإيرانية السافرة والجبانة التي استهدفت منطقة الرياض والمنطقة الشرقية وتم التصدي لها، وهي هجمات لا يمكن تبريرها تحت أي ذريعة و بأي شكل من الأشكال، وقد جاءت على الرغم من عِلم السلطات الإيرانية بأن المملكة أكدت أنها لن تسمح باستخدام أجوائها وأراضيها لاستهداف إيران.
العربية

الحمدلله حمدًا كثيرًا طيبًا مباركًا فيه
سعيد بوجود اسمي ضمن الفائزين في Tuwaiq CTF في أكثر من مسار، تجربة ثرية مليئة بالتحديات والتعلّم والتنافس الحقيقي
أكاديمية طويق@TuwaiqAcademy
في 10 مسارات سيبرانية؛ نبارك للفائزين في تحدّي طويق (CTF) المنتهي بالتوظيف للمتميزين.
العربية

كيف قدرت اكتشف ثغرات حرجة في اكبر شركة توصيل للطعام؟ فوق ال+20,000$
1- اختراق فوق ال380K الف مطعم
2- GraphQL Path Traversal Led to Modify Menu Price
3- سحب ارباح اي سائق في الشركه
حياكم الله ان شاء الله تستفيدون.
عند التعامل مع تارقت ضخم، اكبر خطأ هو انك تبدا مباشرة بالfuzzing او الريكون الغير مفهوم بدون فهم المنظومة. أول ما ركزت عليه هو اني افهم الـ Business Logic، لأن كثير من الثغرات الحرجة في المنتجات الكبيرة تكون منطقية اكثر.
الشركة عندها اكثر من نوع مستخدم: عميل يطلب (Customer)، سائق يوصل (Couriers)، مطعم يستقبل (Restaurant).
كل طرف له موقع وتطبيق خاص وAPIs مختلفه. عادة هذا يعني ان النظام معقد، ومع التعقيد تزيد الثغرات, وهذي افضل فرصة بالنسبة لك كبق هنتر انك تستعملهم كلهم عشان تطلع ثغره وهذا اللي صار.
-1 Stealing Money Allowing Withdrawal Of Couriers To Attacker. $3,000
زي ماهو واضح بالعنوان قدرت اني استغل الثغرة هذي بحيث ان فلوس سواق الشركه تتحول للبطاقتي.
بالبدايه بيجيكم تساؤل كيف قدرت القاها, للسواقين الشركه لهم تطبيق كامل قدرت اني ادخل على حسابي الي سويته وانا اتصفح التطبيق شفت شي غريب!
لفت انتباهي وجود ميزة مالية حساسة: “Fast Cash”. الفكرة بسيطة السائق يقدر يسحب أرباحه مباشرة على بطاقته بدل ما ينتظر التحويل المعتاد.
في اول ريكويست حاولت اسوي setup للمعلومات بطاقه بعدين جاني API غريب مربوط مع Stripe
عشان توضح الصوره Stripe يسوي Tokenize للبطايق للشركه هذي ويحفظها بسيرفر خاص ويعطي بطاقتك unique ID بحيث انها تكون محميه وهذا دايقرام بسيط يشرح الي يصير
زي ماهو موضح بالريسبونس عطانا توكن ايدي بناء على البطاقه طيب لو مشينا على الفلو حق التطبيق بنلاحظ الريكويست الثاني غريب جدا.




العربية

#4 Microservice Compromise Lateral Movement to 10+ Internal Domains
أثناء فحصنا في الأسبوع الثالث، حاولنا نوسع وصولنا أكثر، ولاحظنا شيء غريب.
من ثغرة Secondary Context لاحظنا إنه بعض المسارات تسوي Redirect، لكن الغريب مب هنا.
الغريب إنه بعض المسارات تسوي تحويل / Redirect إلى دومينات مختلفة، مثل ما هو واضح بالصور
ومسار اخر يودينا الى دومين مختلف تماما
ليش يصير كذا؟ ببساطة عبارة عن Microservice تقسم الى خدمات صغيرة وتكون فيه عدة خدمات مثلا خدمة للدفع خدمة للطلب, خدمة للتوصيل والخ وكل وحده تكون بسيرفر لحال
والصورة توضحه اكثر
وبالتالي من خلال أستغلالنا للخدمة هذي قدرنا نوصل الى اكثر من 10+ Internal domains وكله مختلفة من ناحية التقنيات والملفات والبيانات الي وصلنا له, ممكن تكون بجزء ثاني
بالختام شاكرين قرائتكم ونتمنى نالت المقالة على اعجابكم



العربية

كيف قدرنا نكتشف ثغرة؟
🔴Chaining Fortinet WAF Bypass and Microservice Architecture Exploitation to Compromise 6+ Internal Domains
With @Mohnad @stuipds
مساكم الله بالخير جميعا , مقالة اليوم عن استغلال عدة ثغرات وصلنا من خلاله بتحكم كامل على احد اكبر الشركات
- بيانات +40 ألف موظف وشركات متعاقدة (بكامل التفاصيل)
- فصل أي موظف وإغلاق بصمة الوجه وبطاقات الدخول للفروع
- Fortinet WAF bypass through path Confusion
- Microservice Compromise Lateral Movement to 10+ Internal Domains
# البداية
في بداية فحصنا طلعنا عدة ثغرات، وبعد وقت من الفحص صادفنا Error
والواضح من الخطأ إنه قاعد يستقبل الـ username كبراميتر ويحطه بالـ URL path الى Internal domain
فالي قاعد يصير إنه يستقبل المدخل من المستخدم،
والـ front-end API يرسل طلب
والـ back-end API يأخذ القيمة ويحطه بالمسار، ومن خلاله يرجّع معلومات المستخدم.
وبديهي أول سؤال بيجي ببالك هل ممكن نشوف معلومات شخص آخر؟
والإجابة ايه بمجرد ما نسوي path traversal راح نتخطى عملية التحقق الي تكون من ال front-end API ونجيب معلومات أي مستخدم بشكل كامل
لكن هذا ما يهمنا، كان هدفنا الأساسي إننا نوصل إلى Internal domain
وبعد عدة محاولات، توصلنا إلى إننا نوصل إلى مسار داخلي ويحتوي على Swagger Documentation تحتوي على مسارات لأكثر من عملية.
ومن خلال المسارات اللي وصلنا لها، قدرنا نطلع ثغرات حرجة وكثيرة جدًا، مثل ما راح نستعرض لكم الحين (;




الحمد لله، فخور بتحقيقي المركز الأول كأفضل باحث سعودي في مسابقة مكافآت الثغرات ضمن فعاليات Black Hat 2025.
شكرًا للاتحاد السعودي للأمن السيبراني، وشكرًا لمنصة اكتشاف الثغرات على دعمهم الدائم للكوادر الوطنية.🇸🇦
القادم أقوى بإذن الله
#BHMEA2025

العربية

🛑 كيف اخترقت نظام نقاط الولاء في شركة اتصالات وحصلت على رصيد مجاني + مكافأة 41k 💰 🛑
السلام عليكم حياكم الله جميعًا
في مقالة اليوم راح اتكلم عن ثغرة لقيتها في احد جهات الاتصالات واللي الحمدلله بسببها حصلت على وحده من اعلى المكافآت بمبلغ 41 الف ريال.
—————————
بالبدايه هذا الابلكيشن كان عبارة عن موبايل ابلكيشن تابع لأحد اكبر جهات الاتصالات من خلاله تقدر تدير رقمك وفيه قسم مثل المتجر ومزايا ثانيه فا كان كبير نوعًا ما، وكانت حماية الابلكيشن لابأس بها والابلكيشن انفحص عدة مرات فا كنت متاكد موضوع انك تلقى ثغرة بسهولة صعب…
طبعاً كان فيه نسختين من الابلكيشن IOS/Android، فا بديت بال IOS وكانت من ضمن الحمايات فيه encryption لل request body على بعض النفكشنز فا كان عشان تعدل على قيم الباراميترز يتطلب منك تفك التشفير اول، فا تركتها على جنب وبديت بفهم الابلكيشن وكيف تشتغل الفنكشنز داخله.
بعد مافهمته زين بديت افحصه، طبعًا بحكم حجم الابلكيشن جلست قرابة الشهر بشكل شبه يومي افحصه، وطلعت كم ثغرة في اكثر من فنكشن ولكن فيه وحده من الفنكشنز شدتني اكثر واللي هي نقاط الولاء
بحكم انه ابلكيشن لجهة اتصالات، فا كانت احد المزايا الموجوده داخله هي نقاط الولاء الي من خلالها تقدر تشتري اجهزة/بطاقات …الخ، فا قررت اني اتعمق بفحص هذا الميزة، فا كانت احد الخيارات انك تقدر تشتري نقاط ولاء عن طريق انك تدفع مبلغ ويتحول هذا المبلغ الى نقاط ولاء بالتطبيق، طريقة عملها كانت كالتالي:
١- يطلب منك تكتب كم تبي تشحن نقطة ولاء
٢- بعدها يسوي عملية حسابية عشان يطلع السعر بحيث مثلا لو كتبت 100 نقطة راح تدفع 90 ريال.
٣- يحولك على صفحة الدفع، وبعد الدفع تنضاف لك النقاط لحسابك.
جربت تكنيكات كثير ولكن المبرمج كان حاسب حسابه ولا ضبط اي شي، ولكن فيه تكنيك رهيب واللي هو
E notation bypass
ولا اتوقع انه قد مر على الكثير لان نادر يصير، فا خلني ابسطه لك بشكل بسيط:
طبعا ال e notation هو مصطلح بالرياضيات (لاتسكب معليك مب كلاس كالك)، عشان تتضح فكرته لنفرض عندنا القيمة هذي:
كيف ممكن نكتبها بطريقة ثانية ولكن بدون علامة الضرب؟
هنا يجي دور ال E notation، والي تسمح لك تكتب نفس المعادلة ولكن بدون علامة الضرب فا تصير بهذا الشكل:
فا حرف ال E بهذي الحالة معناه = x10 واي شي يجي بعدها يصير كـ اُس للعشرة، فا بكذا تصير: اربعة ضرب عشرة اُس اثنين.
طيب ياناصر كيف استفدت من هذا الشي بحالتك؟
اللي صار ان بالخطوة الاولى لما يطلب مني اكتب كم نقطة بشحن، بدال ما اعطيه رقم عادي مثل 400 نقطة، بعطيه 4e2 (تساوي 400) واشوف كيف يتعامل معها
لكن واجهتني مشكلة بسيطة، لما جيت اجرب التكينك كان الابلكيشن لما يطلب منك تكتب عدد النقاط كان يطلع لك كيبورد ارقام بس + الريكوست body كان مشفر:
فا ماقدر اكتب حرف ال e،، وقتها لو بحاول افك التشفير ممكن الموضوع يطول وانا بس بجرب هذا التكنيك فا جتني فكرة وقتها اني انسخ 4e2 من اي تطبيق ثاني بعدها اسوي paste بال input، وفعلًا جربتها وضبطت وسويت submit.
الغريب ان الي صار ان الابلكييشن رجع لي error بالرسبونس ولكن حولني لصفحة الدفع ومكتوب:
--------
عدد النقاط المطلوب شحنها: 400
المبلغ الاجمالي المطلوب دفعه: error
--------
فا هنا نستنتج شيئين:
١- ان الابلكيشن قدر يتعرف على القيمة 4e2 ويحولها الى رقم 400
٢- الابلكيشن لما وصل عند العملية الحسابية عشان يحسب لي التوتل اللي بدفعه صار error، وماقدر يفهم القيمة اللي كتبتها
بما ان طلع لي error بالتوتل، فا قلت اجرب ادفع واشوف هل بيضبط الدفع او لا؟
وفعلاً جربت ولكن اللي صار ان مانجح الدفع وطلع لي error، فا بهذي الحاله حللت وش سبب انه ما ضبط الدفع وتوقعت انه ممكن يكون بسبب ان مافيه amount بدفعه فا منطقيًا بيطلع error.
فا رجعت لصفحة اضافة النقاط وسويت نفس الخطوات ولكن كبشرت الريكوست وعدلت على الريسبونس بدال ماكان التوتل = error، خليته التوتل=1 ،
وطلع لي بصفحة الدفع:
----------
عدد النقاط المطلوب شحنها: 400
المبلغ الاجمالي المطلوب دفعه: 1 SAR
----------
وفعلًا جربت ادفع، والمفاجأة ان الدفع ضبط وسحب مني ريال وانضافت لي النقاط (400 نقطة) (:
وبكذا قدرت اشحن رصيد بدون ليميت بشكل مجاني تقريبا، ومن خلال هذا الرصيد اقدر:
١- اشتري اجهزة
٢- بطاقات شحن
٣-احوله لرصيد برقم الجوال واستخدمه بالدفع ببعض المتاجر
فا كان الامباكت جددًا عالي من هذي الثغرة وتم تصنيفها كحرجة (critical), طبعًا تم ابلاغ الشركة وتصلحت الثغرة والحمدلله تمت مكافأتي بمبلغ 41 الف ريال.
بالنهاية شكراً على وقتكم وقراءتكم، وانتظروا القادم 🔥



العربية

تشرّفت بتقديم ورشة عمل لدى @EIFSaudi حول اكتشاف الثغرات بأسلوب عملي قائم على أمثلة واقعية.
شكرًا للحضور على التفاعل المميز، وللفريق المنظم على هذه التجربة الرائعة.



العربية











