1、定义
xss,cross site script跨站脚本攻击,是在用户的客户端上解析攻击者构造的payload作为脚本执行,从而造成危害。
(1)用户的客户端
- xss攻击的实际阶段,发生在客户端一侧,而非服务端。当然,攻击过程可能会要求服务端的参与
- 客户端一般是指浏览器,但广义上包括其他可以解析脚本的程序。(《web前端黑客技术揭秘》钟晨鸣 徐少培 p80有介绍QQ客户端的案例)
- xss攻击,虽然发生在客户端(即浏览器或类似程序),但其属于对应服务端提供的服务,主要由浏览器厂商和网站开发者负责避免xss的发生。
(2)脚本
- 主要指的是js脚本,但广义上包括vbscript和actionscript等。一般讨论直接指的是js
- 被作为脚本执行有两种形式:
- 一是payload在服务端程序直接嵌入到html的响应中,响应类型为text/html,比如html\php\jsp\aspx。这个过程未经过严格检查,导致payload包含一些字符,破坏了原有的html文档结构,直接被浏览器解析为脚本执行。
- 二是payload因为各种形式出现在前端,比如地址栏url的路径参数、直接参数或hash,又或者响应包含、本地存储、cookie等。然后响应页面的脚本读取payload,通过eval这类危险函数解析,或者直接作为innerHTML属性的值,payload被间接解析。
(3)危害
标签:脚本,xss,html,payload,服务端,客户端 From: https://www.cnblogs.com/wd404/p/17321716.html