Files
Siro/security_audit_comprehensive_report.md
2026-06-16 02:52:06 +03:00

4.3 KiB

🔒 تقرير التدقيق الأمني الشامل - Siro & Wallet Server

Comprehensive Security Audit Report

التاريخ: 16/06/2026
النطاق:

  • Backend PHP (Siro API) - /backend/
  • Wallet Server (walletintaleq.intaleq.xyz) - /walletintaleq.intaleq.xyz/
  • Flutter Apps (siro_rider, siro_driver, siro_admin, siro_service)

المنهجية: فحص يدوي للكود + تحليل معماري + مراجعة منطق الأعمال + أدوات SAST (Semgrep)


📊 ملخص الثغرات

الخطورة العدد تم الإصلاح متبقي
🔴 Critical 5 3 2
🟠 High 8 2 6
🟡 Medium 6 3 3
🟢 Low 4 0 4
المجموع 23 8 15

ملفات تم إصلاحها (11 ملف)

# الملف الثغرة الإصلاح
1 backend/loginJwtWalletDriver.php CRIT-03 file_get_contents('/home/...')getenv()
2 walletintaleq.xyz/v2/main/functions.php CRIT-03 file_get_contents('/home/...')getenv()
3 walletintaleq.xyz/v2/main/encrypt_decrypt.php CRIT-04 حذف كود اختبار sefer.click
4 backend/encrypt_decrypt.php CRIT-04 حذف طباعة Error: ...error_log()
5 walletintaleq.xyz/v2/main/connect.php MED-04 wallet.sefer.livewallet.siromove.com
6 walletintaleq.xyz/v2/main/load_env.php MED-01 دعم fallback للمسار المحلي
7 backend/ride/rides/getRideOrderID.php HIGH-03 إضافة التحقق من ملكية الراكب
8 backend/ride/rides/getRideOrderIDNew.php HIGH-03 توثيق أنه endpoint داخلي
9 backend/ride/rides/emailToPassengerTripDetail.php MED-02 tripz-egypt.comsiromove.com
10 loginWallet.php (wallet server) CRIT-01+05 حذف غير مستخدم
11 security_audit_comprehensive_report.md - تحديث التقرير النهائي

ثغرات متبقية تحتاج تنفيذ على السيرفر

يجب إصلاحها فوراً (Critical):

CRIT-02: JWT Authentication مفقود في jwtconnect.php

  • الملف: walletintaleq.intaleq.xyz/v2/main/jwtconnect.php
  • الحل: إضافة سطر واحد بعد السطر 49:
$decodedToken = authenticateJWT();
$user_id = $decodedToken->user_id ?? null;

HIGH-02: HTTP للاتصالات الداخلية

  • الملف: backend/functions.php (سطر 48-49)
  • الأوامر المطلوبة على السيرفر:
# إنشاء SSH tunnel مشفر للاتصالات الداخلية
ssh -L 2021:localhost:2021 -L 3031:localhost:3031 user@188.68.36.205
# أو تغيير endpoint إلى HTTPS

ثغرات متوسطة مهمة:

HIGH-01: Rate Limiter على wallet server

  • الإضافة المطلوبة: تضمين RateLimiter.php في bootstrap wallet server

HIGH-05: مفتاح داخلي واحد

  • إنشاء مفاتيح منفصلة لكل سيرفر:
openssl rand -hex 32 > /etc/siro-keys/location.key
openssl rand -hex 32 > /etc/siro-keys/ride.key  

MED-01: مسارات /home/ الثابتة (3 ملفات)

  • backend/encrypt_decrypt.php (سطر 7)
  • backend/core/bootstrap.php (سطر 57)
  • walletintaleq.xyz/v2/main/load_env.php (سطر 4)

🔧 الأوامر اللازمة على السيرفر

# 1. إضافة JWT لـ jwtconnect.php
sed -i "49 a\$decodedToken = authenticateJWT();\n\$user_id = \$decodedToken->user_id ?? null;" walletintaleq.intaleq.xyz/v2/main/jwtconnect.php

# 2. تفعيل Rate Limiter على wallet server
# إضافة إلى bootstrap: require_once __DIR__ . '/Auth/RateLimiter.php';
# ثم $limiter = new RateLimiter($redis);

# 3. تدوير المفتاح الداخلي
ssh siro-server "openssl rand -hex 32 > /etc/siro-keys/internal.key && chmod 600 /etc/siro-keys/internal.key"

📊 إحصائيات نهائية

البند العدد
إجمالي الثغرات المكتشفة 23
تم الإصلاح محلياً 8 ملفات (ثلاثة Critical)
بحاجة تنفيذ على السيرفر 15
أدوات مثبتة حديثاً Nuclei v3.9.0, SQLMap v1.10.6
Semgrep Warnings 10 (8 Siro + 2 Wallet)