随着前端技术的发展,面临的安全问题也越来越多。
常见的攻击:
XSS(跨站脚本攻击):用户在加载html文档时执行了非预期的恶意脚本,从而达到恶意攻击用户的目的。浏览器的同源策略没有阻止页面中加载第三方脚本,所以给了攻击者一定的可乘之机。比如,攻击者发现页面有注入脚本的漏洞,针对用户输入没有验证,直接在页面显示了输入内容,他们输入一段有攻击性的脚本使其在页面上执行,这些恶意脚本会修改页面内容,用户不知道页面被修改继续操作,从而达到盗取用户cookie信息。
防范措施:
开发者:获得用户浏览器权限,在入口和出口进行过滤;
用户:对于安全级别高的页面单独打开窗口;对于陌生有危险的连接最好无视或在新窗口打开。
CSRF(跨站点伪造请求):伪造连接请求,让用户在不知情的情况下,以自己身份来完成攻击者需要达到的目的。比如:网站a有个页面是完成删除操作的,攻击者就可以构建一个页面并创建一个指向此链接的iframe、img、script标签。相当于构建了一个get请求,之后,攻击者把新构建页面的地址发出去,添加一些吸引人的消息,诱导用户打开这个链接完成删除操作。
防范措施:
利用验证码来检测用户提交;
对增删改查操作最好使用post请求等;
SQL注入:通过把sql命令注入到web表单提交或者是输入域名或页面查询的字符串,从而达到欺骗服务器执行恶意的sql命令。在问表单中输入一些(恶意)的sql语句来获得存在安全漏洞的网站的数据库,比如有很多网站泄露用户会员密码就是通过表单输入查询字符串暴漏的,这类表单很容易受到sql注入攻击。
防范措施:
对用户输入做验证;
不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接;
不要把机密信息直接存放,进行加密或者hash掉密码或者敏感信息。
网页挂马:把木马程序上传到网站然后用木马生成器生成木马,上传到空间,加上代码使得在网页打开时运行。常见:将木马伪装成页面元素执行;利用脚本运行漏洞下载木马;利用脚本运行漏洞释放网页脚本中的木马;在网页渲染过程中利用格式溢出释放出木马等;
防范措施:
对网友上传附件的网站要进行身份认证;
保证你所使用程序及时更新;
及时备份数据库等重要文件;
用户名及密码要有一定复杂性等。