XSS: Cross Site Script(跨站脚本攻击)
-
概念: XSS攻击通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的
-
分类:
XSS类型 存储性 反射型 DOM型 触发过程 黑客构造XSS脚本、用户访问携带XSS的页面 用户访问携带XSS的URL 用户访问携带XSS的URL 数据存储 数据库 URL URL 输出源头 后端web应用程序 后端web应用程序 前端js 输出位置 HTTP响应中 HTTP响应中 动态构造DOM节点 - XSS反射型攻击:
恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击的。 - 存储型攻击: 恶意代码被保存到目标网站的服务器中,比较常见场景是在博客,论坛等社交网站上,比如:某CRM系统的客户投诉功能上存在XSS存储型漏洞,黑客提交了恶意攻击代码,当系统管理员查看投诉信息时恶意代码执行,窃取了客户的资料,然而管理员毫不知情,这就是典型的XSS存储型攻击。
- XSS反射型攻击:
-
解决方法:
- 在表单提交或者url参数传递前,对需要的参数进行过滤
- 检查用户输入的内容中是否有非法内容
CSRF:Cross-site request forgery (跨站请求伪造)
- CSRF攻击攻击原理及过程如下:
- 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
- 在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
- 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
- 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
- 防御CSRF攻击:
- 验证HTTP Referer字段: Referer记录了该 HTTP 请求的来源地址
- 在请求地址中添加token并验证: 在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求
网友评论