السلام عليكمورحمة الله وبركاته ، موضوع مر علي وهو بخصوص بخصوص
Python subprocess Module
إستخدام خاطئ=ثغرة خطيرة جدا
فالبداية هذا تعريف بسيط بالـ Module

طيب عرفنا وش هو الـ Module ، وموضوعنا بالضبط بيكون عن run function أو call function فالإصدارات القديمة للبايثون ، الفنكشن هذي لها طريقتين للإستخدام
شوفوهم وبعدها وقفوا دقيقة وحاولوا تجاوبون أنفسكم هل فيه فرق بينهم من ناحية أمنية ولالا ؟ طبعا أنت مستبعد لاتجاوب @5ch1zo 🌚


طيب هذي نتيجة الأمر الأول اللي كان فيه shell=True :

طبيعية صح؟ تنفذ الأمر ومافيه أي شي،طيب وين الغلط ؟
Never Trust User’s Input < أكثر نصيحة مزعجينا فيها البروقرامرز بس معهم حق
هنا لو حطينا( ; )وهي تعني في اللينكس تيرمنال بداية لأمر جديد
النتيجة = OS Injection 🔥
المبرمج جاب العيد صح ؟ الظاهر والله

زي ماشفتوا اللي سويته بكل اختصار نفّذت أمر id وحطيت (؛) بعدين ls عشان أقول للتيرمنال ياكبتن بالله إذا انتهيت من الأمر الأول نفّذ الثاني ، والنتيجة قدامكم نفّذ الأمرين
طيب والحل ؟ الحل في إستخدام الأمر الثاني ، وهذي النتيجة

كالعادة أتمنى والله الموضوع يفيد ولو شخص واحد فقط
موفقين ودعواتكم🙏🏻
About Toulay
0 Comments:
إرسال تعليق