跨站脚本漏洞那些事(3)----应用场景篇(仅供作为理解原理)

                                                             XSS漏洞测试:Cookie获取和钓鱼攻击演示

1.XSS漏洞测试:cookie的获取和利用

                       (1)Get型XSS,所有的参数都是在URL里面的,攻击者可以直接把嵌入恶意JS代码的url发送给用户。

                        (2) 用户去点击,恶意的JS就会在用户的浏览器端执行。

                       (3)恶意的JS代码实现了两个功能:1 把用户本地的COOKIE信息读到,2.发送至攻击者的后台。

                     (4)攻击者可以通过后台拿到用户的cookie信息,攻击者通过获取到的用户的cookie伪造用户登录

既然要获取用户的cookie信息,那么必须的有一个地方来收集用户的cookie,即攻击者的后台,实际上是一个用来收数据的接口。JS是将用户的本地COOKIE信息得到,然后发送给攻击者的后台。

和反射型一样,但是构造更复杂的payload

Payload:首先通过JS的document实例做一个重定向,一旦访问这个界面,JS会访问192.168.1.15这个界面(XSS后台),访问的时候顺便将cookie给带过去

Cookie如何获取,通过document.cookie获取本地的cookie信息。

后台可以看到他的cookie信息

将下面额URL发送给用户(比如欺骗用户说是活动),

用户点击了这个URL后,会跳到首页,当然也可以跳到(重定向)其他页面,主要作用是掩盖你的攻击行为如下图所示;

打开后台发现又多了一条。

POST方式的XSS(反射型)

案例分析:

先登录

提交参数

登录进去,提交参数之后,我们发现参数没有通过url进行传参

通过Buro suite抓包:如上图:message是通过post的方式传到后台的,虽然也存在xss漏洞,但是请求时通过Post的方式发送的。这种情况下,我们没有办法将恶意的js代码嵌入到url里发送给目标用户。如何弄?具体的思路如下图所示:

相比于get型的XSS,我们的问题变成了:如何让用户以post的方式提交一个表单:

  1. 自己搭建一个恶意的站点,并且在里面写一个post表单。
  2. 然后将这个链接发送给用户,让用户去点击,一旦用户访问了我们自己搭建的这个站点192.168.1.5/post.html(页面),点击了这个页面,页面会做什么?
  3. 这个页面会向存在漏洞的XSS网站去提交一个post请求,
  4. Post请求发送到后台之后,会在后台触发这个js代码,攻击者拿到用户的cookie,这个就和上面一样了

源码如下:

action后面是存在XSS漏洞的地址

Payload如下:

如何让用户一访问就自动提交这个榜单呢?

这样就实现了,用户一访问,就自动发送post请求。

我们以各种方法诱使用户点击192.168.1.4/pikachu/index.php,(仅仅为实验环境演示)如下所示,

当用户点击了上述的地址,实际上攻击过程已经结束:

用户点击了上述的地址,相当于向存在Xss漏洞的网站发送了一个post请求(带有恶意的JS代码,js代码的作用就是在获取用户的cookie信息,用于攻击者伪造登录)。

攻击者的后台就会获取到用户的cookie信息:如下如所示:

2.XSS漏洞测试:钓鱼攻击

思路:

会用一个Basic认证:

实际中XSS的钓鱼非常多

内嵌钓鱼页面或者钓鱼的链接等,这里利用basic认证来做一个钓鱼

  1. 在一个存在XSS漏洞的页面上面嵌入一个请求(javascript或者其他链接请求)
  2. 当用户打开这个嵌入恶意JS代码的页面之后,
  3. 页面会向远端的后台发送一个请求,
  4. 这个请求会返回一个要求它进行basic认证的一个头部,用户的界面上会弹出一个需要进行身份认证的一个提示框。

如果用户的信息安全的意识比较薄弱,那么用户会在上图的提示框中输入账号和密码,一旦输入,账号和密码就会被发送到攻击者后台。

演示如下:

存储型的XSS,存到了数据库,从此每次刷新都会出现这个提示框。

只要输入了,那么攻击者在后台就会获取到密码和账号

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值