XSS
概述
XSS 攻击是指攻击者在网站上注入恶意的客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页时,对用户浏览器进行控制或者获取用户隐私数据的一种攻击方式
XSS 简单理解就是,正常的话就是客户端和服务器之间进行沟通,但是架不住第三方"小偷",自己模拟伪造一个网站,诱导用户去操作,用户操作不要紧,这个请求就会利用"小偷"搭建的服务器向当前页面中插入恶意的可执行的脚本,利用这个脚本“小偷”就可以在页面中操作用户的浏览器了
一句话总结就是, XSS是由于用户信任网站造成的攻击, 用户过分信任网站地址栏代表的那个网站代码在自己本地任意执行。如果没有浏览器的安全机制限制,XSS代码可以在用户浏览器中为所欲为
防御 XSS 攻击
- HttpOnly 防止劫取 Cookie
- 用户的输入检查
- 服务端的输出检查
CSRF
概述
CSRF,即 Cross Site Request Forgery,中译是跨站请求伪造,是一种劫持受信任用户向服务器发送非预期请求的攻击方式。通常情况下,CSRF 攻击是攻击者借助受害者的 Cookie 骗取服务器的信任,可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击服务器,从而在并未授权的情况下执行在权限保护之下的操作。
CSRF简单理解就是,按照常理来说,用户是直接和服务器进行沟通的,客户端向服务器发送请求,服务器把响应发送回来;CSRF就好像第三者一样,在两者之间插了一脚,它自己伪造了一个网站,诱导用户去操作,用户操作完成后发送请求,CSRF站点劫持了请求信息,CSRF就模拟这些信息像服务器发送请求,因为服务器对该用户是信任的(根据里面的cookie判断确实是信任的等等),修改服务器中存储的内容;
一句话总结就是, CSRF是由于网站信任用户造成的攻击, 网站过分信任用户,放任来自所谓通过访问控制机制的合法用户的请求执行网站的某个特定功能。
防御 CSRF 攻击
1.验证码
2.Referer Check
3.Token 验证
两者,XSS攻击在改客户端,CSRF攻击在改服务器