码迷,mamicode.com
首页 > 数据库 > 详细

web前端安全:XSS跨站脚本、CSRF跨站请求伪造、SQL注入等

时间:2015-07-22 18:16:02      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

介绍几种前端安全攻击方式,以及预防的方法:

1. XSS

XSS(Cross Site Scripting)跨站脚本,XSS的原理也就是往HTML中注入脚本,HTML指定了脚本标记。

XSS攻击分成两类

  1. 来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句。
  2. 来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。

预防:积极过滤用户输入,永远不要信任用户

2.CSRF

CSRF(Cross-site request forgery)跨站请求伪造,也被称成为“one click attack”或者“session riding”,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。

尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

具体参考这篇文章:http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

 预防:使用http的post请求来执行所有重要操作,或者使用一个动态生成令牌:一个隐藏字段分配一个动态值,这个值也会被添加到用户会话信息中,服务器端接收到客户端请求后,服务器检查POST的隐藏变量和用户会话信息得到的是否相同。

3. SQL注入攻击

SQL注入攻击是黑客对数据库进行攻击的常用手段之一。相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。

参考:http://baike.baidu.com/view/983303.htm

预防:保存到数据库前,对用户输入数据进行合法性判断

4. JavaScript劫持

参考:http://www.cnblogs.com/hyddd/archive/2009/07/02/1515768.html

5. XPath注入

XPath注入攻击是指利用XPath 解析器的松散输入和容错特性,能够在URL、表单或其它信息上附带恶意的XPath 查询代码,以获得权限信息的访问权并更改这些信息。

XPath注入攻击是针对Web服务应用新的攻击方法,它允许攻击者在事先不知道XPath查询相关知 识的情况下,通过XPath查询得到一个XML文档的完整内容。

参考:http://www.2cto.com/Article/201203/122201.html

web前端安全:XSS跨站脚本、CSRF跨站请求伪造、SQL注入等

标签:

原文地址:http://www.cnblogs.com/huximing/p/4668019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!