随着互联网的普及,网络安全变得愈来愈重要。Java等程序员须要掌握基本的web安全知识,防患于未然,下面列举一些常见的安全漏洞,以及对应的防护解决方案。前端
1.前端安全程序员
2.后端安全web
1.XSS简介正则表达式
跨站脚本(cross site script)简称为XSS,是一种常常出如今web应用中的计算机安全漏洞,也是web中最主流的攻击方式。sql
XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去,使别的用户访问都会执行相应的嵌入代码。数据库
2.XSS攻击的危害后端
一、盗取用户资料,好比:登陆账号、网银账号等安全
二、利用用户身份,读取、篡改、添加、删除企业敏感数据等服务器
三、盗窃企业重要的具备商业价值的资料cookie
四、非法转帐
五、强制发送电子邮件
六、网站挂马
七、控制受害者机器向其它网站发起攻击
3.防止XSS解决方案
XSS的根源主要是没彻底过滤客户端提交的数据 ,因此重点是要过滤用户提交的信息。
1.CSRF简介
CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,一般缩写为CSRF或者XSRF,是一种对网站的恶意利用。
XSS利用站点内的信任用户,而CSRF则经过假装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF更具危险性。
2.CSRF攻击的危害
主要的危害来自于,攻击者盗用了用户身份,发送恶意请求。好比:模拟用户的行为发送邮件,发消息,以及支付、转帐等财产安全。
3.防止CSRF的解决方案
1.简介
SQL注入是比较常见的网络攻击方式之一,主要是经过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,实现无账号登陆,甚至篡改数据库。
2.SQL注入的危害
3.防止SQL注入的方式
一般状况下,SQL注入的位置包括:
(1)表单提交,主要是POST请求,也包括GET请求;
(2)URL参数提交,主要为GET请求参数;
(3)Cookie参数提交;
(4)HTTP请求头部的一些可修改的值,好比Referer、User_Agent等;
4.简要举例
举一个简单的例子,select
* from user where id=100 ,表示查询id为100的用户信息,若是id=100变为 id=100 or
2=2,sql将变为:select * from user where id=100 or
2=2,将把全部user表的信息查询出来,这就是典型的sql注入。
5.防止SQL注入的解决方案
1)对用户的输入进行校验,使用正则表达式过滤传入的参数
2)使用参数化语句,不要拼接sql,也可使用安全的存储过程
3)不要使用管理员权限的数据库链接,为每一个应用使用权限有限的数据库链接
4)检查数据存储类型
5)重要的信息必定要加密
总之就是既要作好过滤与编码并使用参数化语句,也要把重要的信息进行加密处理,这样sql注入漏洞才能更好的解决。