一、XSS
(一)XSS 原理
Xss(cross-site scripting) 攻击:全称跨站脚本攻击,通过向某网站写入 js 脚本或插入恶意 html 标签来实现攻击。
比如:攻击者在论坛中放一个看似安全的链接,骗取用户点击后,窃取 cookie 中的用户私密信息;
或者攻击者在论坛中加一个恶意表单,当用户提交表单的时候,却把信息传送到攻击者的服务器中,而不是用户原本以为的信任站点。
(二)主要危害
- 盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
- 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
- 盗窃企业重要的具有商业价值的资料
- 非法转账
- 强制发送电子邮件
- 网站木马
- 控制受害者机器向其它网站发起攻击
(三)XSS 攻击的类型
分为存储性(持久型)、反射型(非持久型)、基于 DOM
1、存储性(持久型)
存储型 XSS,也叫持久型 XSS,主要是将 XSS 代码发送到服务器(不管是数据库、内存还是文件系统等。),然后在下次请求页面的时候就不用带上 XSS 代码了。用户输入的带有恶意脚本的数据存储在服务器端。当浏览器请求数据时,服务器返回脚本并执行。
最典型的就是留言板 XSS。用户提交了一条包含 XSS 代码的留言到数据库。当目标用户查询留言时,那些留言的内容会从服务器解析之后加载出来。浏览器发现有 XSS 代码,就当做正常的 HTML 和 JS 解析执行。XSS 攻击就发生了。
常见的场景:
- 窃取用户信息,如 cookie,token,账号密码等。例如:张三发了一篇帖子,李四进行回复,但内容却是一段 js 脚本,这篇帖子被他人浏览的时候就会中招,盗用用户 cookie 等等操作
- 除了这种 hacker 还有个很惯用的伎俩,例如存储型 XSS 生成一些诱人的图片,文字(你懂的!),然后用户去点击的时候就可