更新时间:2021年04月12日 14时37分15秒 来源:黑马程序员
XSS全拼为Cross Site Scripting,意为跨站脚本,其缩写原本为CSS,但这与HTML中的层叠样式表( Cascading Style Sheets)缩写重名了,为了区分就将跨站脚本改为了XSS。
XSS是Web应用系统最常见的安全漏洞之一,它主要源于Web应用程序对用户输入检查和过滤不足。攻击者可以利用XSS漏洞把恶意代码(
HTM代码或JavaScript脚本)注入网站中,当有用户浏览该网站时,这些恶意代码就会被执行,从而达到攻击的目的。
通常,在XSS攻击中,攻击者会通过邮件或其他方式诱使用户点击包含恶意代码的链接,例如攻击者通过E-mail向用户发送一个包含恶意代码的网站home.com,用户点击链接后,浏览器会在用户毫不知情的情况下执行链接中包含的恶意代码,将用户与home.com交互的Cookie和Session等信息发送给攻击者,攻击者拿到这些数据之后,就会伪装成用户与真正的网站进行会话,从事非法活动,其过程如下图所示。
对于XSS漏洞,最核心的防御措施就是对用户的输人进行检查和过滤,包括URL、查询关键字、HTTP头、POST
数据等,仅接受指定长度范围、格式适当、符合预期的内容,对其他不符合预期的内容一律进行过滤。
除此之外,当向HTML标签或属性中插人不可信数据时,要对这些数据进行相应的编码处理。将重要的Cookie标记为http
only,这样JavaScript脚本就不能访问这个Cookie,避免了攻击者利用JavaScript脚本获取Cookie。
猜你喜欢: