Posts

Showing posts from July, 2017

انواع حملات XSS یا اسکریپت نویسی فراوبگاهی در برنامه های کاربردی وب

Image
اسکریپت چیست؟ قبل از شروع آشنایی با حملات XSS بگذارید تا با مفهوم اسکریپت آشنا شویم. اسکریپت یا Script در مبانی کامپیوتری و برنامه‌نویسی به دنباله‌ای از دستورالعمل‌های نوشتاری و کدها گفته می‌شود که توسط یک نرم‌افزار خوانده‌شده و سپس تفسیر و در انتها اجرا می‌گردد. زبان‌های اسکریپت نویسی در اصل نمونه‌های کوچکی از زبان‌های مادرشان به‌حساب می‌آیند. اسکریپت‌ها برنامه‌های کوچکی هستند که می‌توان توسط آن‌ها برخی امور و وظایف تکرارشونده و پراستفاده را به‌صورت خودکار انجام داد. درواقع اسکریپت نویسی به کدهایی گفته می‌شود که غالباً تفسیر می‌شوند و نیاز به کامپایل ندارند؛ یعنی درواقع کامپایل آن‌ها در زمان اجرا انجام می‌گردد. [caption id="attachment_616" align="aligncenter" width="300"] انواع حملات XSS[/caption] در زبان‌های برنامه‌نویسی مانند C، هنگامی‌که بخواهیم خروجی یک برنامه را ببینیم، باید ابتدا برنامه را کامپایل نماییم و بعد از نداشتن مشکل در برنامه خروجی نمایش داده می‌شود؛ ولی در زبان‌های اسکریپت نویسی وقتی کدها را اجرا می‌نماییم، از همان خط ابتدایی برنامه شروع

انواع حملات تزریق یا Injection Attack در برنامه های کاربردی وب

Image
آشنایی با حملات تزریق یا Injection Attack حملات تزریق در بین هکرها و مهندسان امنیت اطلاعات به‌عنوان شایع‌ترین و رایج‌ترین نوع حملات در بحث امنیت شناخته می‌شود. این‌گونه از حملات به‌عنوان یک نوع تهدید جدید در جوامع امنیتی شناخته نمی‌شود و همیشه از آن به‌عنوان یکی از سرفصل‌های عمومی در دوره‌ها و آموزش‌های امنیتی و تست‌های نفوذ نام برده می‌شود. گروه‌های امنیتی و هکرها به این‌گونه از حملات نگاه ویژه‌ای دارند و از آن به‌عنوان یک نوع حمله‌ی گسترده استفاده می‌نمایند. ضعف‌ها و شکاف‌های امنیتی که باعث حملات تزریق می‌گردد در ماهیت خود دچار مشکل هستند. به عبارت ساده‌تر، ضعف در برنامه‌نویسی و استفاده نادرست از متغیرهای کنترل نشده باعث بروز حملات تزریق می‌گردد. به‌عنوان‌مثال، زمانی که برنامه‌نویس از یک متغیر استفاده نماید و متغیر، بازه‌ی غیرقابل‌کنترلی از مقادیر و ورودی‌ها را بپذیرد، هکر می‌تواند با استفاده از مقداردهی به آن متغیر، تزریق کد را انجام دهد. به‌صورت کلی استفاده از دستورات نامطمئن و غیراصولی در کد نویسی برنامه‌ها، هنگام تفسیر توسط مفسر یا کامپایلر، شکاف امنیتی محسوب می‌شود و این امر باع