XSS跨站脚本攻击
跨站脚本攻击(Cross Site Scripting)缩写为CSS,
但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。
因此,有人将跨站脚本攻击缩写为XSS。
解释:
利用网站开发的漏洞,在用户请求的URL中加入XSS代码(Html,js,java等)作为参数传递给服务器,服务器端响应并执行。
后果:
成功后,攻击者可能会得到一些权限或者信息,包括,token,用户账号密码 等。
解决方案:
设置cookie的httpOnly为true
CSRF跨站资源访问攻击
跨站请求伪造(Cross-site request forgery),
也被称为 one-click attack 或者 session riding,
通常缩写为 CSRF 或者 XSRF.
解释:
利用网站身份验证的漏洞,在用户通过验证网站A的浏览器上,诱导用户点击浏览器上伪装网站B的内容,发送请求到网站A上,获取用户的信息,操作用户的请求等。
它是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
例子:
假如一家银行用以运行转账操作的URL地址如下:http://www.examplebank.com/withdraw?account=AccoutName&amount=1000&for=PayeeName
那么,一个恶意攻击者可以在另一个网站上放置如下代码:
<img src="http://www.examplebank.com/withdraw?account=Alice&amount=1000&for=Badman">
如果有账户名为Alice的用户访问了恶意站点,而她之前刚访问过银行不久,登录信息尚未过期,那么她就会损失1000资金。
解决方案:
前端使用Rest风格接口访问,避免get请求操作服务器资源,可以在token中加入随机码