web安全,从前端做起,总结下web前端安全的几种技术:
1,XSS
XSS的全称是Cross Site Scripting,意思是跨站脚本,XSS的原理也就是往HTML中注入脚本,HTML指定了脚本标记
XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句。
另一类则是来自外部的攻击,主要指的自己构造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
http://baike.baidu.com/view/3896.htm
4,javascript劫持
5,XPath注入