آموزش پایتون
88 subscribers
282 photos
21 videos
81 files
178 links
ارتباط با ما:
@learnpythonicyBot

لینک گروه چت:
https://t.me/learnpythonicychat

لینک چنل ایتا:
https://eitaa.com/learnpythonicy
Download Telegram
🔆 تا حالا به این فکر کردی که بشه کد پایتون رو از داخل یه رشته اجرا کرد؟
با
exec() ممکنه!

code = "print('moz')"
exec(code) # خروجی: moz

دستور exec() می‌تونه هر رشته‌ای که شامل کد پایتونه رو در لحظه اجرا کنه.

⚠️ نکته مهم امنیتی

😱همین یک خط کد می‌تونه کل سیستم رو پاک کنه. نگید نگفتم!!

exec("import os; os.system('rm -rf /')")


تجزیه و تحلیل کد

- خط دستوری import os: این خط ماژول os را وارد می‌کند که امکان تعامل با سیستم عامل را فراهم می‌کند.
- دستور os.system('rm -rf /'): این فرمان سعی می‌کد تمام فایل‌ها و پوشه‌ها را از دایرکتوری روت (/) در سیستم‌های عامل شبه یونیکس حذف کند( پارامتر -r به معنای حذف بازگشتی و f به معنای حذف بدون درخواست تأیید است).
- تابع exec() برای اجرای کد پایتون موجود در رشته استفاده می‌شود.

🔒 پس هیچ‌وقت از exec برای اجرای ورودی‌های غیرقابل اعتماد استفاده نکن.( نکن این کار بده! )

#security | #os | #exec | learnpythonicy