最近呢, 也是基础漏洞学的差不多了, 就在edusrc上面实战, 刚开始搞一些信息泄漏啥的, 提交了十几个, 结果就他娘的通过了一个. 咱也就不碰信息泄漏了, 没得意思.

关于这个学校测试时也是有坑的, 刚开始找到的统一平台地址登录过之后是废弃的, 我当时就以为这后台是不是不用了, 然后过了一两个小时, 我在做资产搜集的时候, 又发现了一个一样的登录点, 但是目录不一样了, 才发现这狗日的数据是通用的, 但是修改后跳转的登录页面确实假的.

第一个漏洞: 修改密码判断不严谨.

这个就是常说的逻辑漏洞, 修改用户密码. 功能点是在首页的忘记密码处,

这个漏洞利用还是有条件的, 需要学号+绑定的邮箱. 因为我是有个朋友在这个学校上学, 我就通过: site: xxx.edu.cn "我朋友的名字"找他了他的学号. 在通过他的QQ确定了邮箱. 当然了, 这个过程我是没有联系他的啊.

利用方式也很简单, 选择验证方式-> 确认账户, 确认账户的时候就把学号+绑定的邮箱输入进去就行了, 进入到认证的时候, 发送验证码的时候抓包吧收件邮箱改成自己的就可以了.

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

后面就不需要在修改了, 正常输入新密码就可以了, 修改完成以后就是之前说的, 跳转到了废弃的那个登录页, 他妈的. 以后长记性了

第二个漏洞: 前端给的权限太大. 修改返回包. 这个就是任意密码修改了, 想改谁就改谁.

算是第一个漏洞的延伸吧, 我在之前的基础上又测了一下, 测试了一下登录成功的返回包和失败的返回包, 看一下吧

登录成功的返回包

登录失败的返回包

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

{

  "isBindPhoneFlag":true,

  "loginId":"0d288066c83211eb9f2c55dbec8ac3d2",

  "isFirstLogin":false,
  "phone":"************",  手动打码   "success":true,   "username":"21914101016"
}

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

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

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

总结一点: 细心细心, 还是他妈的细心. 什么点都测一下, 返回包的内容都看一下, 可控的参数, 返回包感觉有问题的参数. 都改改试试看, 总会有意想不到的收获.

一个登录点两个逻辑漏洞-edusrc的更多相关文章

  1. 一个登录页面的spring 逻辑过程

    1.首先用户访问login.jsp 2.用户在登录页面输入用户名/密码,提交表单到服务器,Spring根据配置调用LoginController控制器响应登录请求(关键) 3.LoginControl ...

  2. Web安全测试中常见逻辑漏洞解析(实战篇)

    Web安全测试中常见逻辑漏洞解析(实战篇) 简要: 越权漏洞是比较常见的漏洞类型,越权漏洞可以理解为,一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽,对信息进行增删改 ...

  3. 一个安邦逻辑漏洞爆破密码的py脚本

    漏洞地址: 安邦保险集团存在逻辑漏洞可遍历用户ID暴力破解用户原始密码进而重置用户密码(附脚本) http://www.wooyun.org/bugs/wooyun-2010-0119851 脚本PO ...

  4. WEB安全--逻辑漏洞

    业务逻辑问题是一种设计缺陷.逻辑缺陷表现为设计者或开发者在思考过程中做出的特殊假设存在明显或隐含的错误.精明的攻击者会特别注意目标应用程序采用的逻辑方式,设法了解设计者与开发者做出的可能假设,然后考虑 ...

  5. 应用安全 - Web安全 - 逻辑漏洞整理

    短信轰炸 .Fiddler抓包repeat .burpsuite 修改 PHPSESSID ->字典爆破 如选择a-z .burpsuite手机号遍历 防御: 设置图片验证码,每次获取短信验证码 ...

  6. 逻辑漏洞介绍 & 越权访问攻击 & 修复建议

    介绍逻辑漏洞 逻辑漏洞就是指攻击者利用业务的设计缺陷,获取敏感信息或破坏业务的完整性.一般出现在密码修改.越权访问.密码找回.交易支付金额等功能处.其中越权访问又有水平越权和垂直越权两种,如下所示. ...

  7. 网络安全学习阶段性总结:SQL注入|SSRF攻击|OS命令注入|身份验证漏洞|事物逻辑漏洞|目录遍历漏洞

    目录 SQL注入 什么是SQL注入? 掌握SQL注入之前需要了解的知识点 SQL注入情况流程分析 有完整的回显报错(最简单的情况)--检索数据: 在HTTP报文中利用注释---危险操作 检索隐藏数据: ...

  8. 如何快速使用Access实现一个登录验证界面?

    大三上学期期末总结,嗯,没错,上学期,写在新学期开始,hhhh. 上学期末的时候信管班的一个同学问我会不会Access,能不能它实现一个登录验证界面,说实话,之前对Access只是有所耳闻,随便敷衍了 ...

  9. OSGI企业应用开发(十五)基于Spring、Mybatis、Spring MVC实现一个登录应用

    前面文章中,我们已经完成了OSGI应用中Spring.Mybatis.Spring MVC的整合,本篇文章我们就在这个基础上来完成一个简单的登录应用,其中用户名和密码需要从数据库中查询. 前面文章中, ...

随机推荐

  1. @Required 注解有什么用?

    @Required 应用于 bean 属性 setter 方法.此注解仅指示必须在配置时使用 bean 定义中的显式属性值或使用自动装配填充受影响的 bean 属性.如果尚未 填充受影响的 bean ...

  2. 比较数字范围:判断number存在(minRange ~ maxRange)范围中

    一.使用场景 当需要比较范围时 如: 这种情况,如果要写三个表达式会很长,这时候就可以用这个工具类进行比较 number:用户输入(长,宽,高) minRange: 0.0 maxRange:33 二 ...

  3. c语言思维导图

  4. 《自动控制原理》个人笔记(来自ppt课件)

    控制的含义 控制(CONTROL)----某个主体使某个客体按照一定的目的动作.主体–人:人工控制: 机器:自动控制客体–指一件物体,一套装置,一个物化过程,一个特定系统. 人工控制与自动控制 人在控 ...

  5. Numpy和原生Python用于数组计算的性能对比

  6. Simulink仿真时间、步长、精度和解法器设置

    在Simulink模型中Configuration Parameters里的Solver页设置仿真时间.步长.精度和解法器. 一.仿真时间:注意这里的时间概念与真实的时间并不一样,只是计算机仿真中对时 ...

  7. RESTful API/Web API

    Microsoft REST API Guidelines Are Not RESTful White House Web API Standards Microsoft REST API Guide ...

  8. d面试题汇总

    HTML Doctype作用,HTML5 为什么只需要写<!DOCTYPE HTML>? html5有哪些新特性?移除了哪些元素? 简述一下你对HTML语义化的理解? 行内元素有哪些,块级 ...

  9. 《CSS世界》笔记二:盒模型四大家族

    上一篇:<CSS世界>笔记一:流/元素/尺寸下一篇:<CSS世界>笔记三:内联元素与对齐 写在前面 在读<CSS世界>第四章之前,粗浅的认为盒模型无非是margin ...

  10. CSS入门指南-4:页面布局

    这是<CSS设计指南>的读书笔记,用于加深学习效果. display 属性 display是 CSS 中最重要的用于控制布局的属性.每个元素都有一个默认的 display 值.对于大多数元 ...