常见的web安全问题
XSS 攻击
跨站脚本攻击(Cross Site Script),为了和CSS区别,所以简称XSS
XSS 利用网站没有对用户提交的数据进行转义处理或者过滤,导致恶意脚本被执行,最终用户的信息被窃取等严重后果
例子: 一个网站的评论功能没有对用户评论的内容没有进行过滤和处理,存储到了数据库中,然后直接展现到了页面中,执行了js代码,插入了一张华丽丽的图片引导用户点击到其他的站点,甚至将用户的信息,cookie的窃取
CSRF (跨站请求伪造)
利用用户对于目标站点的信任,引诱或者在用户不知情的情况下,通过利用网站验证的漏洞(简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。)
例子:
假如一家银行用以执行转账操作的URL地址如下:
1
http://www.examplebank.com/withdraw?account=AccoutName&amount=1000&for=PayeeName
那么,一个恶意攻击者可以在另一个网站上放置如下代码:
1
<img src="http://www.examplebank.com/withdraw?account=Alice&amount=1000&for=Badman">
如果有账户名为Alice的用户访问了恶意站点,而她之前刚访问过银行不久,登录信息尚未过期,那么她就会损失1000资金。
所以,需要具备以下的条件就会CSRF得逞
- 用户登录了信任网站
- session未过期,用户这个时候访问了其他的站点,这个站点中包含了一个请求信任站点某个接口(例如转账、关注等),而这些接口也没有其他的认证措施,导致信任网站受到攻击。
防范措施:
- referer字段验证
- 添加token校验