这是我参与「第四届青训营 」笔记创作活动的的第六天
今天主要记录一下web安全方面的知识。
从攻击者的角度看web安全
- 跨站脚本攻击-XSS
XSS (Cross-Site Scripting),跨站脚本攻击。跨站脚本攻击是指通过存在安全漏洞的Web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击。
跨站脚本攻击有可能造成以下影响:
- 利用虚假输入表单骗取用户个人信息。
- 利用脚本窃取用户的Cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求。
- 显示伪造的文章或图片。
XSS 的原理是恶意攻击者往 Web 页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中 Web 里面的脚本代码会被执行,从而可以达到攻击者盗取用户信息或其他侵犯用户安全隐私的目的,作为开发者,永远不要相信用户的提交信息!。
比如:通过注入脚本获取用户的登录cookie,诱导用户点击或填写表单等。
存储型 XSS 攻击
又叫持久型 XSS 漏洞,一般存在于 Form 表单提交等交互功能。黑客利用的 XSS 漏洞,将恶意脚本存储在数据库中,存储下xss攻击危害最大,因为这是对全部用户可见的。
举个例子,对于输入表单,就得防范持久型 XSS 攻击,因为我可以在该表单中输入任意内容,包括脚本代码,如果未进行处理,脚本会存到数据库中,这是很可怕的。
持久型 XSS 有以下几个特点:
- 持久性,植入在数据库中
- 盗取用户敏感私密信息
- 危害面广
反射型 XSS 攻击
非持久型 XSS 漏洞,一般是通过给别人发送带有恶意脚本代码参数的 URL,当 URL 地址被打开时,特有的恶意代码参数被 HTML 解析、执行。
非持久型 XSS 漏洞攻击有以下几点特征:
- 即时性,不经过服务器存储,直接通过 HTTP 的 GET 和 POST 请求就能完成一次攻击,拿到用户隐私数据。
- 攻击者需要诱骗点击,必须要通过用户点击链接才能发起
- 反馈率低,所以较难发现和响应修复
- 盗取用户敏感保密信息
基于DOM的 XSS 攻击
该类型的攻击不需要服务器的参与,恶意攻击的发起和执行都发生在浏览器端。
基于mutation的 XSS 攻击
- 利用了浏览器渲染DOM的特性
- 不同浏览器,渲染机制不同
CSRF (跨站伪造请求)
CSRF(Cross Site Request Forgery),即跨站请求伪造,是一种常见的Web攻击,利用用户的权限,在用户不知情的情况下,构造指定的HTTP请求,窃取或修改敏感信息。最常见的是构造get请求
比如:
SQL注入
一次SQL注入的过程包括以下几个过程:
- 获取用户请求参数
- 拼接到代码当中
- SQL语句按照我们构造参数的语义执行成功
攻击者攻击:
DDOS 攻击
DDOS 攻击,它在短时间内发起大量请求,耗尽服务器的资源,无法响应正常的访问,造成网站实质下线。
中间人模式
这是基于传输层的攻击方法,