跨站脚本攻击(XSS)
概述
在Web应用程序中,有一些程序会处理用户输入内容或HTTP头信息,并将其作为Web页面输出,例如搜索关键词显示屏幕、个人信息注册确认屏幕、论坛、Web日志统计屏幕等。在这里,如果Web页面的输出处理存在问题,那么脚本等内容就可能被嵌入到该Web页面中。这个问题被称为“跨站脚本漏洞”,利用这个问题的攻击手段被称为“跨站脚本攻击”。跨站脚本攻击的影响不是针对网站本身,而是针对正在浏览该网站页面的用户。
可能发生的威胁
跨站脚本攻击可能带来的威胁如下:
在真实网站上显示虚假页面
- 通过传播虚假信息造成混乱
- 通过钓鱼诈骗泄露重要信息等
浏览器中保存的Cookie被获取
- 如果Cookie中存储 了会话ID,可能会导致对用户的身份冒充
- 如果Cookie中存储了个人信息等,这些信息可能会泄露
任意Cookie被保存在浏览器中
- 会话ID被发送给用户,可能被用于“会话ID固定化”攻击
需要注意的网站特征
无论网站的运营主体或性质如何,这都是所有网站都需要关注的问题。特别是使用Cookie进行登录会话管理的网站以及容易成为钓鱼诈骗攻击目标的页面(登录页面、个人信息输入页面等)的网站需要特别注意。
容易出现这种漏洞的页面功能示例
- 显示输入内容以供确认的页面(会员注册、问卷调查等)
- 在要求重新输入错误信息时,显示先前输入内容的页面
- 搜索结果显示
- 错误显示
- 评论反馈(博客、论坛等)等