一个登录点两个逻辑漏洞-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的整合,本篇文章我们就在这个基础上来完成一个简单的登录应用,其中用户名和密码需要从数据库中查询. 前面文章中, ...
随机推荐
- Java 中能创建 volatile 数组吗?
能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不 是整个数组.我的意思是,如果改变引用指向的数组,将会受到 volatile 的保护, 但是如果多个线程同时改变数 ...
- vue 3d轮播组件 vue-carousel-3d
开发可视化项目时,需要3d轮播图,找来找去发现这个组件,引用简单,最后实现效果还不错.发现关于这个组件,能搜到的教程不多,就分享一下我的经验. 插件github地址:https://wlada.git ...
- 集合流之“将List<Integer>转为String并用逗号分割”
1.使用[流+Collectors]转换 import java.util.ArrayList; import java.util.List; import java.util.stream.Coll ...
- (stm32f103学习总结)—待机唤醒实验
一.STM32待机模式介绍 1.1 STM32低功耗模式介绍 很多单片机具有低功耗模式,比如MSP430.STM8L等,我们的STM32 也不例外.默认情况下,系统复位或上电复位后,微控制器进入运行模 ...
- Socket.io+Notification实现浏览器消息推送
前言 socket.io: 包含对websocket的封装,可实现服务端和客户端之前的通信.详情见官网(虽然是英文文档,但还是通俗易懂).Notification: Html5新特性,用于浏览器的桌面 ...
- call、apply和 bind的简单使用方法
- call.apply:在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向. J ...
- java中hashCode和equals什么关系,hashCode到底怎么用的
Object类的hashCode的用法:(新手一定要忽略本节,否则会很惨) 马 克-to-win:hashCode方法主要是Sun编写的一些数据结构比如Hashtable的hash算法中用到.因为ha ...
- 攻防世界——gif
分析 只有黑白两种颜色,大小均一样.考虑代表着二进制. python脚本 ''' 同样颜色的图片的二进制数据都相同 编写思路:取二进制 -> 转ascii码 ''' white = open(r ...
- Node.js躬行记(17)——UmiJS版本升级
在2020年我刚到公司的时候,公司使用的版本还是1.0,之后为了引入微前端,迫不得已被动升级. 一.从 1.0 到 2.0 在官方文档中,有专门一页讲如何升级的,这个用户体验非常好. 一个清单列的非常 ...
- spring原始注解
spring原始注解主要是替代Bean标签的配置 @Component:使用在类上用于实例化Bean @Controller:使用在web层类上用于实例化Bean @Service:使用在servic ...