web安全之xss漏洞01_基础入门

知识导航

  • xss跨站脚本漏洞概述
  • 获取cookie流程
  • xss的三种常见类型
  • 此漏洞的测试流程
  • 反射型xss(get)漏洞实验

xss跨站脚本漏洞概述

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容

  • xss漏洞一直是web中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
  • xss是一种发生在前端的漏洞
  • xss可以用来尽心钓鱼攻击、前端js挖矿、获取用户cookie等等等

利用xss漏洞获取cookie的攻击流程

在这里插入图片描述

  1. 攻击者会根据该站点存在的xss漏洞类型,相应将自己精心编写的js插入到该站点的某一个页面中。然后欺骗用户访问
  2. 用户访问这个页面之后,带回了这个带有恶意的js。该js会在用户浏览器上执行。如上述js的功能便是将用户的cookie信息返回到攻击者自己搭建的接口。
  3. 攻击者伪造用户登录,进行各种操作

xss漏洞的常见类型

这里不理解可以先看后面的演示,自然的便会清楚

  • 反射型
    它进行交互的数据一般不会被存放在数据库中,即只为暂时性的
  • 存储型
    交互的数据会被存放在数据库中
  • DOM型
    不与后台产生交互,是通过DOM操作前端输出时产生的问题

xss漏洞形成的原因

在这里插入图片描述
它形成的主要原因是程序对输入输出的控制不够严格,导致恶意脚本注入后。返回到前端被当做正常代码来执行从而产生危害

xss漏洞的测试流程

  1. 在目标站点找到输入点,比如查询接口,留言版
  2. 输入一组自己指定的特殊字符,点击提交后查看返回的源码。看是否有做相应的处理
  3. 打开源码定位到我们的指定字符位置,检查该位置是否可以构造执行js的条件
  4. 提交构成的脚本代码,看是否能够执行成功。成功则证明存在xss漏洞
    值得注意
  • 一般查询接口容易出现反射型,留言板容易出现存储型
  • 后台可能存在过滤措施,构造的js可能会被过滤掉或者是环境(浏览器)限制了执行
  • 通过变换不同的js,尝试绕过后台的过滤

反射型xss(get)漏洞实验

实验平台还是pikachu,浏览器火狐
首先进行测试是否存在漏洞
输入我们自己指定的字符如下:
在这里插入图片描述
结果返回
在这里插入图片描述
查看源码在这里插入图片描述
发现我们输入的东西被原封不动的返回过来的,可以初步判断可能存在漏洞,接下来编写js。不过这里它的前端做了字数的限制,不过基本上前端做的限制对我们来说都是形同虚设的。修改如下
在这里插入图片描述
编写js,这里我们只是简单的实验。所以只写了个弹框
在这里插入图片描述
结果如下
在这里插入图片描述
这里的提交是get形式提交的,链接如下:http://192.168.211.1:8081/pikachu/vul/xss/xss_reflected_get.php?message=%3Cscript%3Ealert%28%22aaa%22%29%3B%3C%2Fscript%3E&submit=submit

试想如果这是一个大型的论坛或者比较出名的网站,只是查看前面的站点地址可信度应该是很高的吧。不过我们如果把上述的js由弹框修改成其他恶意的js脚本。诱导用户访问。后果可想而知了吧

查看pikachu的后台源码
在这里插入图片描述
可以发现这里只是将前台获取的信息有原封不动的返了回去,没有进行保存至数据库等的操作
即它的类型为反射型

发布了33 篇原创文章 · 获赞 49 · 访问量 4423

猜你喜欢

转载自blog.csdn.net/qq_41086511/article/details/103828672