观前提示:
本文所使用的IDEA版本为ultimate 2019.1,JDK版本为1.8.0_141。
1.定义
跨站攻击,即Cross Site Script Execution(通常简写为XSS)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
2.跨站脚本攻击分类、方式
2.1 分类
-
持久型XSS,又称存储型XSS 。危害最大。
-
非持久型XSS,又称反射型XSS。
-
DOM-XSS,DOM(文档对象模型)。
2.2 方式
-
由于HTML语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意HTML代码——例如记录论坛保存的用户信息(Cookie),由于Cookie保存了完整的用户名和密码资料,用户就会遭受安全损失。
-
XST攻击,攻击者将恶意代码嵌入一台已经被控制的主机上的web文件,当访问者浏览时恶意代码在浏览器中执行,然后访问者的cookie、http基本验证以及NTLM验证信息将被发送到已经被控制的主机,同时传送Trace请求给目标主机,导致cookie欺骗或者是中间人攻击。
3.防范
3.1 防范方法
主要是将一些特殊字符进行转义,以下为一部分转义。
Html特殊字符 | 转义后 |
---|---|
< | < |
> | < |