Java教程

可别小看了XSS漏洞

本文主要是介绍可别小看了XSS漏洞,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

可别小看了XSS漏洞

​ 对于初了解xss漏洞的人来说,XSS漏洞的危害就是获取受害者的cookie,来进行 ‘cookie劫持’。

​ 今天就总结一下XSS漏洞的危害性,望安全人员不要轻视,开发人员不要忽视

XSS漏洞简介

​ XSS攻击通常指黑客通过“HTML注入”篡改网页,插入恶意脚本,从而使用户浏览网页时控制用户浏览器的一种攻击。

​ 例如:

      <p>a</p>

​ 如果我能控制a,将a改为</p><script>alert("1")</script><p>,这个地方的代码就会变成这样:

      <p></p>
      <script>alert("1")</script>
      <p></p>

就会执行script脚本,这么想我们是不是能篡改网页html文件,来让他执行我们的语句?

第一 cookie劫持:

​ 如果网站存在XSS漏洞,可以通过XSS漏洞来获取用户的cookie

​ 危害:利用用户的cookie来进行登录用户后台

​ payload:<script>alert(document.cookie)</script>

第二 构造GET或POST请求:

​ 黑客可以通过XSS漏洞,来使得用户执行GET或POST请求

​ 危害:可以控制用户删除数据或者发送邮件

​ 例如GET payload:

<script>window.location.href='http://http://www.xxx.com/index.php?type=delete&id=1';</script>

​ POST请求 需要线创建一个表单,然后让表单自动提交信息。

第三 钓鱼

​ 我们从一开始的XSS漏洞简介可知道,XSS漏洞可以让我们对网页进行篡改,如果黑客在登录框的地方把原来的登录框隐藏一下,自己伪造一个登录框,用户在登录框上输入账号密码就会传送到黑客的服务器上

​ 危害:获取用户账号密码

第四 识别用户浏览器

​ 通过script语句能获得用户的浏览器信息

​ 危害:获取浏览器信息,利用浏览器漏洞进行攻击

​ payload:<script>alert(navigator.userAgent)</script>

image-20220901145927600

第五 识别用户安装的软件

​ 通过script语句能够识别用户安装的软件

​ 危害:获取用户软件信息,利用软件漏洞进行攻击

​ 如下代码:

 try{
     var Obj=new ActiveXObject('XunLeiBHO.ThunderIEhelper');
 }
     catch(e){
         //异常
     }

第六 获得用户真实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防御
这篇关于可别小看了XSS漏洞的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!