什么是xss攻击
Cross-Site Scripting(跨站脚本攻击),简称XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如Cookie、SessionID等,进而危害数据安全。
xss攻击的本质是将数据注入到静态代码中(如html和js等),当浏览器渲染html时就会触发注入的脚本引发xss攻击。
xss攻击产生的原因是对用户的输入过滤不严格,在能够同用户实现交互的地方更容易发现xss漏洞。
如何注入xss攻击
- 在HTML内嵌的文本中,恶意内容以script标签形成注入
- 在内联的JavaScript中,拼接的数据突破了原本的限制(字符串,变量,方法名)等
- 在标签属性中,恶意内容包含引号,从而突破属性值的限制,注入其他属性或者标签
- 在标签的 href、src 等属性中,包含 javascript: (伪协议)等可执行代码
- 在 onload、onerror、onclick 等事件中,注入不受控制代码
总之,任何可以输入的地方都可能引起xss攻击
xss攻击的分类
根据攻击来源xss攻击可以分为三类
反射性xss
什么是反射性xss
反射型XXS是一种非持久性的攻击,它指的是恶意攻击者往Web页面里插入恶意代码&#x