web 前端安全问题
-
跨站脚本攻击(XSS攻击)
原理:跨站脚本攻击:指的是恶意攻击者往Web页面里插入恶意 html 代码,当用户浏览该页之时,嵌入其中Web里面的 html 代码会被执行,从而达到恶意用户的特殊目的。
危害:盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号;控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力;非法转账;控制受害者机器向其它网站发起攻击等。
防范:XSS 攻击其核心都是利用了脚本注入,因此我们解决办法其实很简单,不信赖用户输入,对特殊字符如 ”<”, ”>” 转义,就可以从根本上防止这一问题。
-
跨站请求伪造(CSRF攻击)
原理:CSRF(Cross Site Request Forgery),即跨站请求伪造,是一种常见的Web攻击。CSRF 攻击过程的受害者用户登录网站A,输入个人信息,在本地保存服务器生成的 cookie。然后在A网站点击由攻击者构建一条恶意链接跳转到B网站,然后B网站携带着的用户 cookie 信息去访问B网站。让A网站造成是用户自己访问的假相,从而来进行一些列的操作,常见的就是转账。
危害:通过基于受信任的输入 form 和对特定行为无需授权的已认证的用户来执行某些行为的 web 应用。已经通过被保存在用户浏览器中的 cookie 进行认证的用户将在完全无知的情况下发送HTTP请求到那个信任他的站点,进而进行用户不愿做的行为。
防范:
-
验证码:应用程序和用户进行交互过程中,特别是账户交易这种核心步骤,强制用户输入验证码,才能完成最终请求。在通常情况下,验证码够很好地遏制 CSRF 攻击。但增加验证码降低了用户的体验,网站不能给所有的操作都加上验证码。所以只能将验证码作为一种辅助手段,在关键业务点设置验证码。
-
Anti CSRF Token:目前比较完善的解决方案是加入 Anti-CSRF-Token,即发送请求时在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器建立一个拦截器来验证这个 token。服务器读取浏览器当前域 cookie 中这个 token 值,会进行校验该请求当中的 token 和 cookie 当中的 token 值是否都存在且相等,才认为这是合法的请求。。
-