SSL Pinning (Indeed.apk)
هنتكلم النهاردة عن تطبيق indeed.apk ودا تطبيق عليه حماية من ssl pinning طب تعالي نعرف يعني ايه الاول ssl pinning
SSL Pinning هو تقنية تستخدم في تطوير التطبيقات لزيادة أمان الاتصال بين التطبيق والخوادم عبر الإنترنت
عند استخدام بروتوكول HTTPS. هذه التقنية تهدف إلى منع هجمات Man-in-the-Middle حيث يحاول المهاجم الوصول إلى البيانات المرسلة بين التطبيق والخادم بالتلاعب بالاتصال.
في الأساس، عندما يتصل التطبيق بخادم عبر HTTPS، يتم التحقق من هوية الخادم باستخدام شهادة SSL. ومن ثم يتم تشفير البيانات بين التطبيق والخادم للحفاظ على خصوصيتها وأمانها. ولكن في حالة هجمات MITM، يمكن للمهاجم استخدام شهادة SSL مزيفة للتظاهر بأنه الخادم الحقيقي والتقاط البيانات.
هنا تأتي دور تقنية SSL Pinning. بدلاً من الاعتماد فقط على الشهادة المقدمة من الخادم، يتم تضمين مفتاح أو شهادة SSL محددة في التطبيق نفسه. عند التواصل مع الخادم، يتم التحقق من أن الشهادة المستخدمة من قبل الخادم تطابق الشهادة المدمجة في التطبيق. إذا لم يتم العثور على تطابق، سيتم رفض الاتصال وعدم إرسال البيانات. هذا يجعل من الصعب للمهاجم استخدام شهادة مزيفة.
زي ماحنا شايفين مش عارف نشغله بسبب انه شايف ان مفيش نت بس الحقيقة انه فيه ssl pinning بيرفض انه يحصل اتصال مع البرب تعالي نشوفه علي jadx ونشوف سبب كدا اي
اول حاجة شايقين اه بيحصل سماح انه يعدي http عادي بسبب ان فيه cleartexttrafficpermittid =true دا بتسمح ب http هو هنا المشكلة ايه انه بيسمح بس بالشهادات الموجودة في system واحنا حاطين بتاع البرب في user عادي فاحنا قدامنا حلين ي نحط ال certificate بتاع البرب في system ينعدل ع الابلكيشن ونخليه ي trust اليوزر بردو تعالي نعدل بقي علي xml اول حاجة تعالي نعمل decompile للابلكيشن
apktool d indeed.apk
زودنا اليوزر مع ال system زي مانت شايف تعالي بقي نعمل build للابلكيشن تاني
apktool b indeed/ -o indeed_build.apk
بعدها نعمل تنزيل ل https://github.com/patrickfav/uber-apk-signer/releases
java -jar uber-apk-signer-1.3.0.jar --apks indeed.apk --out indeed_build.apk
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !