记录小白第一次EDUsrc:任意用户密码重置漏洞

2023-11-22 23:04

本文主要是介绍记录小白第一次EDUsrc:任意用户密码重置漏洞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、漏洞说明:

xxxx学院身份认证系统有严重的逻辑设计缺陷:账户登录、手机登录、密码找回三个接口找到n个逻辑漏洞包括任意账号密码修改、信息泄露(应该还有更多,但是有很多重复的漏洞,没必要再找了)


edusrc高危漏洞审核通过(还没修复就先打满码码)

二、漏洞复现:

做个简简单单的账户信息收集【edusrc账户搜集还挺重要的,因为基本都不能注册,只能用学校学生的账号】

这里直接百度 site:学院url (学号|电话) ,就有挺多的了(学校一般会公示什么什么学生信息)
 


得到学号格式 —> 年份 1500 xxxx 和若干学生信息

学号登录接口:
这里拿个收集的学号试试:


【Base64加密了数据包传参信息,并没有什么用。】
漏洞一:这里首先有一个验证码不更换长期有效漏洞:

验证码错误回显应该是这样的:


存在危害:
1.可以对一个弱密码使用收集的用户名进行爆破
2.对一个用户名进行弱密码爆破

bp抓包发现数据包残留信息:

发现发送包有验证码md5加密:

漏洞二:【不仅验证码多次使用不更换,还有数据包遗留(信息)验证码漏洞】
!!!!
存在危害:只要logincode带着一个验证码md5加密,后面所有的登陆接口所有操作都可以无视验证码了—>这里的验证码功能等于没有,而且也没有ip访问限制,撞库就得死。

电话登录接口:

没注册的手机号会提示,抓包看看:


漏洞三:可对该点进行爆破:得到数据库存储的账户手机号。
存在危害:可以给他们都发送短信验证码,钱要亏死啊
小爆破演示验证一下:


存在危害:拿大字典爆破,学生电话都被揭露啦,危险危险

漏洞四:返回的数据包里有信息残留:手机号会附带相应学号
符合信息收集学号格式年份+1500+xxxx


【有童鞋的信息啦,只能打码打的这么丑了】
存在危害:
1.【很多人会拿手机号当密码,这样子也算一个数据包残留敏感信息的漏洞】
2.【后面测试的找回密码第一个接口是验证手机号和学号!!!,你这简直太搞了】

抓短信验证码响应包:
 


Smslogincode似短信验证码MD5加密【后面验证了】

漏洞五:短信验证码可爆破,可无限尝试

这里只测了四位数,还是在验证没失效,其实从000000-999999 爆过去肯定就能过了【或者找个验证码字典,不过我觉得它肯定是纯数字】这里肯定是有逻辑漏洞危害的,因为密码找回我就爆破成功了。这个学院做的网站真的好不安全啊!!
存在危害:学生数据信息会被泄露,登录页面可爆破

密码找回接口:


上文拿到的手机号和对应的学号直接过了第一个验证。。。。【无力吐槽了】

抓发送验证码响应包:


漏洞七:数据包(信息)短信验证码残留:
findpwcode。。。。。 明显的验证码就在这里
Md5解密到了,但是改人家密码是不对的

但是
迫于审核员需要我成功的截图,我只能勉为其难更改了这位童鞋的密码【提交漏洞时交代清楚了,请求联系学院改回】

爆破验证码(四位数):
 


爆破成功,重置密码:

登录后访问:


里面有很多隐私信息泄露,而且还涉及消费功能

存在危害:学生账户数据信息泄露

三、漏洞修复建议:

1、验证码单次有效,校验一次就作废【这里的动态验证码跟没有一样,防不了一点爆破】升级一下把,换个滑块
2、对ip进行限制
3、改代码,数据包不要残留呢么多信息,太夸张了
4、手机登录也需要动态验证码,手机号不存在和发送短信验证码也需要动态验证码验证后才可以执行
5、找回密码接口多一点验证,第一个验证接口信息收集都能过
6、换一个开发

免费领取安全学习资料包!

渗透工具

技术文档、书籍

 

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

 

应急响应笔记

学习路线

这篇关于记录小白第一次EDUsrc:任意用户密码重置漏洞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/413551

相关文章

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE