تزريق اسکريپت
اين نوع حمله در صورتي اتفاق ميافتد که با استفاده از يک باکس ورودي کاربر اقدام به ورود نشانهها يا Tags و يا کد اسکريپت خرابکارانه نموده باشد. اين ورودي در پايگاه داده ها ذخيره ميشود. چنين کدي ميتواند به گونهاي طراحي شود که اثرات مختلفي داشته باشد و ممکن است عملکرد يک برنامه يا سايت اينترنتي را براي همه کاربران تحت تاثير قرار دهد.
وقتي يک مرورگر که اسکريپتهاي آن فعال است اين کد را ميخواند، کد ناخواسته اجرا ميشود و اثرات خود را به جاي ميگذارد. نشانههايي که در اين روش قابل استفاده هستند شامل <script>، <object>، <applet> و <embed> ميباشند.
مثالي از اين نوع حمله به صورت زير است. فرض کنيد در يک صفحه وبي که ليستي از نام مولفين ارائه ميدهد، فيلدي وجود دارد که ميتوان در آن نامهاي جديد را وارد نمود. اين مثال فقط براي روشن شدن مطلب ارائه ميشود ولي نمونههاي زيادي وجود دارند که کاربر ميتواند دادهاي را وارد نمايد. رايجترين نمونه اين صفحات، آنهايي هستند که کاربر ميتواند از طريق آنها عبارت جستجويي را وارد کند.
اگر کاربر عبارت زير را به عنوان نام يک مولف وارد نمايد اتفاق جالبي خواهد افتاد؛ <script> alert(‘Script Injection’); </script>
در يک برنامه ضعيف اين ورودي اعتبار سنجي نشده و به عنوان نام يک مولف وارد پايگاه داده ميشود، بنابراين هر بار که ليست مولفين نمايش داده مي شود کد JavaScript فوق اجرا مي شود
در صورتي که اين اسکريپت در پايگاه داده اضافه شود، هر بار که کاربري بخواهد ليست مولفين را ببيند باخطا روبرو خواهد شد.
با بررسي اتفاقاتي که رخ داده مشخص ميشود که اسکريپت وارد شده در صفحه، کد سمت سرور برنامه را تغيير نميدهد. آنچه که اتفاق افتاده تغيير محتواي پوياي سايت است. با وجود عدم تغيير کد برنامه، باز اين تزريق اسکريپت خطرناک است، زيرا اسکريپتي که وارد شده است به عنوان بخشي از محتويات سايت در مرورگرهاي کاربران اجرا ميشود. کد اسکريپت وارد شده توسط همه کاربراني که به سايت مراجعه ميکنند رويت ميشود.
به طريق مشابه کاربر ميتواند هر کد JavaScript ديگري را نيز به سايت تزريق نمايد. به عنوان مثال:
<script> location.href = ‘Malicious.html’; </script> با درج عبارت فوق در پايگاه داده به عنوان نام يکي از مولفين هر گاه صفحه نام مولفين توسط کاربري مشاهده شود، کنترل مرورگر به صورت خودکار به صفحه Malicious.html انتقال داده ميشود. (نشانه location که با يک آدرس URL اشاره ميکند، محتويات صفحهاي که آدرس آن در href معرفي شده است را در مرورگر بار ميکند.)
هکر در صفحه Malicious.html و ActiveX ميتواند هر کاري انجام دهد. به عنوان مثال ميتواند يک کنترل ورا بر روي دستگاه کاربر بار کرده و اقدام به اجراي آن نمايد، و يا تعدادي زيادي مرورگر يا کد JavaScript جديد باز نموده و در هر يک از آنها يک سايت جديد را باز کند.
رجوع به:
SecuritySecurity programs