一个登录点两个逻辑漏洞-edusrc
最近呢, 也是基础漏洞学的差不多了, 就在edusrc上面实战, 刚开始搞一些信息泄漏啥的, 提交了十几个, 结果就他娘的通过了一个. 咱也就不碰信息泄漏了, 没得意思.
关于这个学校测试时也是有坑的, 刚开始找到的统一平台地址登录过之后是废弃的, 我当时就以为这后台是不是不用了, 然后过了一两个小时, 我在做资产搜集的时候, 又发现了一个一样的登录点, 但是目录不一样了, 才发现这狗日的数据是通用的, 但是修改后跳转的登录页面确实假的.
第一个漏洞: 修改密码判断不严谨.
这个就是常说的逻辑漏洞, 修改用户密码. 功能点是在首页的忘记密码处,
这个漏洞利用还是有条件的, 需要学号+绑定的邮箱. 因为我是有个朋友在这个学校上学, 我就通过: site: xxx.edu.cn "我朋友的名字"找他了他的学号. 在通过他的QQ确定了邮箱. 当然了, 这个过程我是没有联系他的啊.
利用方式也很简单, 选择验证方式-> 确认账户, 确认账户的时候就把学号+绑定的邮箱输入进去就行了, 进入到认证的时候, 发送验证码的时候抓包吧收件邮箱改成自己的就可以了.

在输入完验证码点击下一步的时候又进行了一次邮箱的修改, 这个时候后台判断的应该是发送得邮箱+验证码, 所以还是要把自己的邮箱写上去.

后面就不需要在修改了, 正常输入新密码就可以了, 修改完成以后就是之前说的, 跳转到了废弃的那个登录页, 他妈的. 以后长记性了
第二个漏洞: 前端给的权限太大. 修改返回包. 这个就是任意密码修改了, 想改谁就改谁.
算是第一个漏洞的延伸吧, 我在之前的基础上又测了一下, 测试了一下登录成功的返回包和失败的返回包, 看一下吧
登录成功的返回包

登录失败的返回包

我是想做直接越权登录的, 但是这个里有一个loginId无法绕过去, 因此无法正常显示登录成功的内容. 但是这里发现了一个叫isFirstLogin的值, 在他的登录页又看到了第一次登录会强制修改密码, 这里返回的false, 也就是说不是第一次, 那要是改成true呢?
{
"isBindPhoneFlag":true,
"loginId":"0d288066c83211eb9f2c55dbec8ac3d2",
"isFirstLogin":false,
"phone":"************", 手动打码
"success":true,
"username":"21914101016"
}

这里我是借鉴登录成功的那个包, 内容都是乱写的, 主要是在isfirstlogin, 成功跳转到首页密码修改.


这里就算是结束了, 前面说的这玩意给的权限太大了, 你说你把修改密码这个大的权限放在前端干嘛, 其实这里完全还可以再次扩大, 很明显, 修改密码是有一个接口的, 而这个接口没有做任何判断, 因此, 在修改密码提交的时候, 还可以抓个包

这里尝试一下随便修改学号, 也是可以修改成功的, 这种接口没有丝毫的判断, 不知道该怎么去形容了.

总结一点: 细心细心, 还是他妈的细心. 什么点都测一下, 返回包的内容都看一下, 可控的参数, 返回包感觉有问题的参数. 都改改试试看, 总会有意想不到的收获.
一个登录点两个逻辑漏洞-edusrc的更多相关文章
- 一个登录页面的spring 逻辑过程
1.首先用户访问login.jsp 2.用户在登录页面输入用户名/密码,提交表单到服务器,Spring根据配置调用LoginController控制器响应登录请求(关键) 3.LoginControl ...
- Web安全测试中常见逻辑漏洞解析(实战篇)
Web安全测试中常见逻辑漏洞解析(实战篇) 简要: 越权漏洞是比较常见的漏洞类型,越权漏洞可以理解为,一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽,对信息进行增删改 ...
- 一个安邦逻辑漏洞爆破密码的py脚本
漏洞地址: 安邦保险集团存在逻辑漏洞可遍历用户ID暴力破解用户原始密码进而重置用户密码(附脚本) http://www.wooyun.org/bugs/wooyun-2010-0119851 脚本PO ...
- WEB安全--逻辑漏洞
业务逻辑问题是一种设计缺陷.逻辑缺陷表现为设计者或开发者在思考过程中做出的特殊假设存在明显或隐含的错误.精明的攻击者会特别注意目标应用程序采用的逻辑方式,设法了解设计者与开发者做出的可能假设,然后考虑 ...
- 应用安全 - Web安全 - 逻辑漏洞整理
短信轰炸 .Fiddler抓包repeat .burpsuite 修改 PHPSESSID ->字典爆破 如选择a-z .burpsuite手机号遍历 防御: 设置图片验证码,每次获取短信验证码 ...
- 逻辑漏洞介绍 & 越权访问攻击 & 修复建议
介绍逻辑漏洞 逻辑漏洞就是指攻击者利用业务的设计缺陷,获取敏感信息或破坏业务的完整性.一般出现在密码修改.越权访问.密码找回.交易支付金额等功能处.其中越权访问又有水平越权和垂直越权两种,如下所示. ...
- 网络安全学习阶段性总结:SQL注入|SSRF攻击|OS命令注入|身份验证漏洞|事物逻辑漏洞|目录遍历漏洞
目录 SQL注入 什么是SQL注入? 掌握SQL注入之前需要了解的知识点 SQL注入情况流程分析 有完整的回显报错(最简单的情况)--检索数据: 在HTTP报文中利用注释---危险操作 检索隐藏数据: ...
- 如何快速使用Access实现一个登录验证界面?
大三上学期期末总结,嗯,没错,上学期,写在新学期开始,hhhh. 上学期末的时候信管班的一个同学问我会不会Access,能不能它实现一个登录验证界面,说实话,之前对Access只是有所耳闻,随便敷衍了 ...
- OSGI企业应用开发(十五)基于Spring、Mybatis、Spring MVC实现一个登录应用
前面文章中,我们已经完成了OSGI应用中Spring.Mybatis.Spring MVC的整合,本篇文章我们就在这个基础上来完成一个简单的登录应用,其中用户名和密码需要从数据库中查询. 前面文章中, ...
随机推荐
- 什么是持续集成(CI)?
持续集成(CI)是每次团队成员提交版本控制更改时自动构建和测试代码的过程. 这鼓励开发人员通过在每个小任务完成后将更改合并到共享版本控制存储库来共 享代码和单元测试.
- wx-sdk 打包安装到本地maven仓库
下载官方sdk项目,导入idea 给WXPayConfig.java 中抽象方法加上public修饰符 进行 mav install ,在target 目录下找到wxpay-sdk-**.jar cm ...
- DateFormat类,利用SimpleDateFormat解决系统时间初始(格式化/解析)问题
目标: java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换. 格式化 ...
- 告别尬聊,解锁秀场+社交新玩法(内含源码+Demo)
直播已成为用户的生活习惯之一 艾媒咨询数据显示:2021年直播用户规模达到6.35亿人,在线直播用户以年轻群体为主,24岁及以下用户占比49%,30岁以下用户接近8成. 众所周知,Z世代用户是一个社交 ...
- HTML5存储方式
由于之前在参加面试或者笔试的过程中经常会被问到HTML5存储的内容,包括它们之间的区别.特征和应用范围,所以看到一篇介绍不错的文章,把里面的个人觉得适合我的内容按照自己的理解总结如下.方便以后忘记了进 ...
- JDBC/Mybatis连接数据库报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
造成这个的原因是maven导入MyBatis的时候会自动导入最新版本的8.0.11,然后8.0.11采用了新驱动,之前版本会报错. 当我们使用高版本的MySQL驱动时可以在获取数据库的连接getCon ...
- 【Android Studio】Gradle统一管理版本号引用配置
1.在根目录下的build.gradle文件下添加 ext{ .... } 中的内容 ...... // Define versions in a single place ext { // SDK ...
- java中this这个概念初学者非常难理解,请举例说明
4.this关键字(this key word) 继上一小节,(3.一个对象可能有多个参考)this是当中的一个参考!指向他自己. class MyTestDate { int year; ...
- Java到底是编译还是解释型语言?编译和解释型语言有什么区别?
7.java语言执行过程与方式: 编译型语言: 是指使用专门的编译器.针对特定平台(操作系统)将某种高级语言源程序一次性"翻译"成可被该平台硬件运行的机器码(包括指令和数据),并包 ...
- CCF201712-2游戏
问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,--,1号小朋友坐在n号小朋友的顺时针方向. 游戏开始,从1号小朋 ...