XSS攻击
个人总结:
网络钓鱼
伪造登陆页面,当用户刷新网页时触发XSS攻击,页面会弹出一个基础认证框,用户误以为是正规网站需要再次进行秘密校验,输入当前用户名和密码,用户在此输入的账号和密码会被攻击者通过服务器上预设的接受页面进行保存,这样一次基础的XSS漏洞的基础认证钓鱼就完成了。使用iframe标签,用户访问漏洞页面时,自动访问攻击者服务器的钓鱼页面,出现登录弹窗。
XSS攻击原理
在网站留言板、评论处等输入点,插入恶意脚本HTML代码,由于网站程序对用户输入过滤不严格,没有特殊字符过滤和字符转义等防护措施,导致攻击者提交的数据可以修改当前页面或插入一段脚本,输入信息可以在受害者的浏览器中显示,浏览器将输入解析为脚本,从而在用户浏览网页的时候控制浏览器行为。
XSS攻击类型
非持久型XSS(反射性XSS):网址中附加一些代码,URL可以明显看到
持久型XSS(存储型XSS):用户输入的数据信息保存在服务端的数据库或其它文件形式中
XSS攻击测试
弹窗测试
<srcipt>alert(/xss/)</script>
<img src="javascript:alert('xss')"></img>
<iframe src="javascript:alert('xss')/">
闭合标签测试
大小写混合测试
多重嵌套测试
宽字节绕过
多标签测试
XSS攻击危害
弹窗、弹出广告
盗取cookie
网络钓鱼
获取客户端信息
XSS防御
对危险字符进行过滤
特殊字符转义,包括HTML实体编码、Javascript实体编码
开启HTTPOnly