⭕️ کانال امنیت و شبکه دولوپیکس
💠 دولوپیکس | جامعه توسعهدهندگان ایرانی
💎 @Developix
🚀 Developix.ir
📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Post #155
332
اجرای امن ping؛ ورودی کاربر را فرمان نکن 🔐
وقتی برای ابزار مانیتورینگ یا عیبیابی شبکه، آدرس کاربر را به فرمان سیستم میدهی، ساختن رشتهٔ فرمان و اجرای آن با
🛡 راه امنتر: آرگومانها را بهصورت لیست بده و ورودی را متناسب با کاربرد اعتبارسنجی کن. این نمونه در لینوکس فقط یک آدرس IP معتبر میپذیرد:
⚠️ حذف shell بهتنهایی کافی نیست؛ بعضی برنامهها ورودیِ شروعشده با خط تیره را گزینهٔ اجرایی میدانند. اینجا اعتبارسنجی IP جلوی آن را هم میگیرد. ورودی نامعتبر باعث
💡 همین الگو را در ابزارهای عیبیابیات امتحان کن؛ اگر سرویس عمومی است، مقصدهای مجاز را هم محدود کن تا ابزار به مسیر دسترسی به شبکهٔ داخلی تبدیل نشود.
📚 ملاحظات امنیتی در مستندات رسمی پایتون
🔖 #Security #امنیت #Python #Command_Injection #subprocess #Network_Security
👤 Developix
💎 Channel: @DevelopixNetwork
وقتی برای ابزار مانیتورینگ یا عیبیابی شبکه، آدرس کاربر را به فرمان سیستم میدهی، ساختن رشتهٔ فرمان و اجرای آن با
shell=True میتواند به Command Injection منجر شود؛ یعنی ورودی کاربر بهجای داده، بخشی از فرمان شود.🛡 راه امنتر: آرگومانها را بهصورت لیست بده و ورودی را متناسب با کاربرد اعتبارسنجی کن. این نمونه در لینوکس فقط یک آدرس IP معتبر میپذیرد:
import ipaddress
import subprocess
user_input = "127.0.0.1"
ip = str(ipaddress.ip_address(user_input))
result = subprocess.run(
["ping", "-c", "1", ip],
shell=False,
capture_output=True,
text=True,
timeout=5,
)
print(result.returncode)
⚠️ حذف shell بهتنهایی کافی نیست؛ بعضی برنامهها ورودیِ شروعشده با خط تیره را گزینهٔ اجرایی میدانند. اینجا اعتبارسنجی IP جلوی آن را هم میگیرد. ورودی نامعتبر باعث
ValueError و عبور از مهلت باعث TimeoutExpired میشود؛ در سرویس واقعی هر دو را مدیریت کن.💡 همین الگو را در ابزارهای عیبیابیات امتحان کن؛ اگر سرویس عمومی است، مقصدهای مجاز را هم محدود کن تا ابزار به مسیر دسترسی به شبکهٔ داخلی تبدیل نشود.
📚 ملاحظات امنیتی در مستندات رسمی پایتون
🔖 #Security #امنیت #Python #Command_Injection #subprocess #Network_Security
👤 Developix
💎 Channel: @DevelopixNetwork
- ❤ 1
- 👍 1







