对于初了解xss漏洞的人来说,XSS漏洞的危害就是获取受害者的cookie,来进行 ‘cookie劫持’。
今天就总结一下XSS漏洞的危害性,望安全人员不要轻视,开发人员不要忽视
XSS漏洞简介
XSS攻击通常指黑客通过“HTML注入”篡改网页,插入恶意脚本,从而使用户浏览网页时控制用户浏览器的一种攻击。
例如:
如果我能控制a,将a改为,
这个地方的代码就会变成这样:
就会执行script脚本,这么想我们是不是能篡改网页html文件,来让他执行我们的语句?
第一 cookie劫持:
如果网站存在XSS漏洞,可以通过XSS漏洞来获取用户的cookie
危害:利用用户的cookie来进行登录用户后台
payload:
第二 构造GET或POST请求:
黑客可以通过XSS漏洞,来使得用户执行GET或POST请求
危害:可以控制用户删除数据或者发送邮件 例如GET payload:
POST请求 需要线创建一个表单,然后让表单自动提交信息。
第三 钓鱼
我们从一开始的XSS漏洞简介可知道,XSS漏洞可以让我们对网页进行篡改,如果黑客在登录框的地方把原来的登录框隐藏一下,自己伪造一个登录框,用户在登录框上输入账号密码就会传送到黑客的服务器上
危害:获取用户账号密码
第四 识别用户浏览器
通过script语句能获得用户的浏览器信息 危害:获取浏览器信息,利用浏览器漏洞进行攻击
payload:
第五 识别用户安装的软件
通过script语句能够识别用户安装的软件
危害:获取用户软件信息,利用软件漏洞进行攻击
如下代码:
第六 获得用户真实ip地址
借助第三方软件,比如客户端安装了Java(JRE)环境,那么可以通过调用JavaApplet接口获取客户端本地IP
第七 判断用户是否访问某个网站
style的visited属性,访问过的链接,颜色会变化.
第八 蠕虫
用户之间发生交互行为的页面,如果存在存储型XSS,则容易发起XSS Worm攻击.
如:2003年的冲击波蠕虫,利用的是Windows的RPC远程溢出漏洞
还有百度空间蠕虫,可自行百度搜一下
XSS绕过方式
JS编码
HTML编码
URL编码
长度绕过
标签绕过(标签闭合,标签优先性)
window.name利用
Flash XSS
利用Javascript开发框架漏洞
利用浏览器差异
关键字、函数
XSS防护方法
过滤输入的数据,非法字符
对数据进行编码转换
添加HttpOnly
输入合法性检查
白名单过滤标签
DOM XSS防御