جلوگیری از حملات SQL Injection در ASP.NET

در این مقاله فرض شده است که خواننده با اصول اولیه زبان پرس و جوی ساخت یافته (Structured Query Language) یا همان SQL آشنا است. در ضمن کدهای موجود در این مقاله تماما به زبان VB.NET می باشند

یک حمله SQL Injection چیست؟

حتما در فیلمهای سینمایی دیده اید که بسیاری از تبهکاران قربانیان خود را با تزریق مواد سمی به جای دارو از میان بر می دارند. آیا در دنیای سایبر نیز چنین ایده هایی وجود دارد؟ در کمال تعجب باید بگویم که بله!! هکرها هم به نوعی از این شگرد استفاده می کنند. می گویید چگونه؟ با تزریق کردن دستورات SQL مورد علاقه خود به Application شما! اجازه دهید تا با یک مثال مطلب را روشن تر کنم:

سیستم Login:

صفحات Login معمولا دارای فیلدهایی هستند که دو مقدار ID و Password را از کاربر گرفته و سپس با استفاده از یک دستور SQL آن را پردازش می کنند. نمونه ساده ای از این دستور به صورت زیر است:

SELECT COUNT(UserID) FROM tblUsers WHERE UserID=’” & UserID.Text & “‘ AND Pass=’” & Password.Text & “‘”

در این مثال UserID و Password دو کنترل TextBox هستند که مقادیر آنها بایستی مورد پردازش قرار گیرد. حال فرض می کنیم کاربر مقادیر را به صورت mahdi و ۱۲۳ وارد نماید، در این صورت جمله SQL به صورت زیر تولید می شود:

SELECT COUNT(UserID) FROM tblUsers WHERE UserID=’mahdi’ AND Pass=’123′
خوب تا اینحا مشکلی وجود ندارد. حال فرض کنید که هکر ما به جای کلمه کاربری خود عبارت زیر را وارد نماید:

‘ OR 1=1 –

در این صورت عبارت SQL زیر تولید خواهد شد: ادامهٔ این نوشته را بخوانید

حفره ای امنیتی در کاموپننت com_news در جوملا!

سلام

الان در حال وبگردی بودم که به یک حفره امنیتی که واسه دیروز هست برخورد کردم حفره ای که حملات sql injection روی اون اثر مثبت داره و بانک اطلاعاتی رو با دستورات sql در اختیار ما میزاره.

گفتم بد نیست که شما جوملا دارن عزیز نیز از این حفره امنیتی در کامپوننت com_news هم با خبر باشین . معمولا این حفره های در comp های ساخته شده توسط افراد خاص و یا دستکاری هایی که روی آنها انجام میشه رخ میده . یعنی یک کامپوننت مشهوور رو با یکم کد نویسی ما بیایم حمله خورش کنیم و راه رو برای خودمون آسونتر کنیم .

اگر دارای سایت هایی هستید که کامپوننت های از آن در اینترنت برای دانلود گذاشته تنها پیشنهادی که میکنم اینه از سایت های پشتیبانی و یا مرکزی خودش دانلود کنید و اگر هم سایت فرعی برخورد کردید با سوال و جواب در سایت اصلی به سالم بودن اون اطمینان پیدا کنید

Joomla Component news SQL Injection Vulnerability

ادامهٔ این نوشته را بخوانید

دنبال‌کردن

هر نوشتهٔ تازه‌ای را در نامه‌دان خود دریافت نمایید.