إخفاء البيانات الحساسة (Redaction)
إزاي تحط باسوردات وكروت وإيميلات في التقرير من غير ما تسرّبها: تخفي جزء وتسيب جزء يثبت الـ Finding.
نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.
أهلاً بيك. لقيت ملف فيه باسوردات العملا. لو حطيته في التقرير زي ما هو، وبعدين التقرير اتبعت بالإيميل لعشرين واحد… إنت كده سرّبت البيانات بنفسك.
الحل اسمه Redaction، يعني إخفاء. تخفي أغلب القيمة، وتسيب جزء صغير يِتْبِت إنك وصلت لها. الباسورد: أول حرفين وبعدين نجوم. الـ Card: آخر أربع أرقام بس. ولا تخفي حاجة بمربع أسود فوق الصورة وخلاص، لأن الصورة الأصلية ممكن تبان. نكتب function اسمها redact، بتستخدم Regex. أول سطر بيخفي الباسورد بعد الـ colon، وتاني سطر بيخفي أرقام الـ Card ماعدا آخر أربعة. نشغّل… الباسوردات اتخفت، والـ Card باين منه آخر أربع أرقام بس.
import re
dump = """admin:Sup3rS3cret!
[email protected]:Summer2024
card: 4111 1111 1111 1234"""
def redact(text):
text = re.sub(r"(\w+):(\S+)$", lambda m: m[1] + ":" + m[2][:2] + "*****", text, flags=re.M)
text = re.sub(r"\b(?:\d{4} ){3}(\d{4})\b", r"**** **** **** \1", text)
return text
print(redact(dump))المخرجات
admin:Su***** [email protected]:Su***** card: **** **** **** 1234
بس لسه الإيميل باين. وده بيانات شخصية برضه، ومحتاجة تتخفي. دورك: ضيف سطر للـ function يغيّر أي اسم قبل علامة at، ويخليه user.
ضيف re.sub(r"[\w.]+@", "user@", text) قبل الـ return.
الحل: نشغّل… كده التقرير بيثبت الـ Finding، من غير ما يسرّب حاجة.
import re
dump = """admin:Sup3rS3cret!
[email protected]:Summer2024
card: 4111 1111 1111 1234"""
def redact(text):
text = re.sub(r"(\w+):(\S+)$", lambda m: m[1] + ":" + m[2][:2] + "*****", text, flags=re.M)
text = re.sub(r"\b(?:\d{4} ){3}(\d{4})\b", r"**** **** **** \1", text)
text = re.sub(r"[\w.]+@", "user@", text)
return text
print(redact(dump))المخرجات
admin:Su***** [email protected]:Su***** card: **** **** **** 1234
الدرس الجاي: أهم جزء في أي Finding… خطوات تخلّي أي حد يكرر اللي إنت عملته. يلا بينا.
03 / دروس المسار (21)
- 01ليه التقرير أهم حاجة في الـ Pentest
- 02مين بيقرا التقرير؟
- 03نظام Notes من أول دقيقة
- 04Activity Log: كل حاجة بالوقت
- 05خلّي الـ Terminal يسجّل لوحده
- 06الأدلة: إيه اللي يعتبر دليل؟
- 07سلامة الأدلة: Hash و Chain of Custody
- 08إخفاء البيانات الحساسة (Redaction)انت هنا
- 09خطوات إعادة التنفيد (Steps to Reproduce)
- 10الـ Impact: الخطر الحقيقي على البيزنس
- 11CVSS: الخطورة برقم
- 12الـ Risk Matrix: الاحتمال في الـ Impact
- 13ترتيب الأولويات والـ Quick Wins
- 14هيكل تقرير اختبار الاختراق
- 15الـ Executive Summary: صفحة للإدارة
- 16كتابة الـ Finding التقني
- 17توصيات الإصلاح اللي تتنفّد فعلاً
- 18خلّي Python يكتب التقرير
- 19المراجعة قبل التسليم والـ Retest
- 20تقرير امتحان OSCP
- 21المراجعة النهائية: من الـ Note للتقرير