1、前端遇到攻击的手段?
1,xss 跨站脚本攻击
定义:跨站脚本是最常见的计算机安全漏洞,跨站脚本攻击指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入的恶意html代码会被执行,对受害用户可能采取Cookie资料窃取、会话劫持、钓鱼欺骗等各种攻击。
危害:窃取用户cookie资料、窃取用户账号、劫持用户会话、刷流量、恶意操作等。
2,CSRF,跨站点伪造请求
攻击者通过各种方法伪造一个请求,模仿用户提交表单的行为,从而达到修改用户的数据,或者执行特定任务的目的。
如何防范CSRF攻击
安全框架,例如Spring Security。
token机制。在HTTP请求中进行token验证,如果请求中没有token或者token内容不正确,则认为CSRF攻击而拒绝该请求。
3,Http Heads攻击
HTTP协议在Response header和content之间,有一个空行,即两组CRLF(0x0D 0A)字符。这个空行标志着headers的结束和content的开始。“聪明”的攻击者可以利用这一点。只要攻击者有办法将任意字符“注入”到headers中,这种攻击就可以发生。
4,SQL注入攻击
攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。
用户登录,输入用户名 lianggzone,密码 ‘ or ‘1’=’1 ,如果此时使用参数构造的方式,就会出现:
select * from user where name = 'lianggzone' and password = '' or '1'='1'
如何防范SQL注入攻击
使用预编译的PrepareStatement是必须的,但是一般我们会从两个方面同时入手。Web端有效性检验。限制字符串输入的长度,服务端不用拼接SQL字符串。 使用预编译的PrepareStatement。 有效性检验。(为什么服务端还要做有效性检验?第一准则,外部都是不可信的,防止攻击者绕过Web端请求) 过滤SQL需要的参数中的特殊字符。比如单引号、双引号。