某大学缴费平台一处水平越权和任意密码重置


某大学缴费平台一处水平越权和任意密码重置

简介

  • 水平越权访问是一种“基于数据的访问控制”设计缺陷引起的漏洞。由于服务器端在接收到请求数据进行操作时没有判断数据的所属人/所属部门而导致的越权数据访问漏洞。Web应用程序在接收到用户的请求时,我们在增删改查某条数据时候,没有判断数据所对应的用户,或者在判断数据的用户时是通过从用户表单参数中获取userid来实现的,这里的话我们可以修改userid来实现水平越权。
  • 任意密码重置是可通过篡改用户名或ID、暴力破解验证码等方式修改/重置任意账户的密码。

测试过程

一、水平越权

1、目标站点

http://xxx.xxx.edu.cn/payment/

发现这是一套CMS模板,可以对全国高校的缴费平台通用,也就是说可以在使用该套CMS的高校网站里找出同样的漏洞。

2、随便注册两个账号
ceshi222、ceshi333

3、登录ceshi333账号

4、点击提交,burp抓包,发现姓名、年龄、身份证号码、出生年日被base64编码了,不过没关系,我们把要替换的内容也改成base64编码就行

替换前

替换后

放行数据包

5、重新登录ceshi333账号,发现姓名和身份证变成了ceshi222的信息

二、任意密码重置

1、通过水平越权修改ceshi222账号为ceshi333

替换前

替换后

放行数据包,修改成功

2、重置ceshi333的密码,但是身份证号码是ceshi222的

3、登录ceshi333用户,发现信息已经是ceshi222信息


三、修复方案

水平越权

1、水平权限参数不要用自增值,用id加密、随机数或GUID,但搜索引擎或攻击者可以同样用这个随机数和连接去进行操作。

2、web层检查发起请求的用户权限,比如从session信息中获取。

3、数据库表增加ownerId字段,增删改查询时加上其作为where语句条件(即每一个信息增加一个发布人的字段,修改的人必须与发布的人为同一个人才可以访问)。

4、对返回信息进行强加密,屏蔽一些比必要返回的信息(针对本网站)。

任意密码重置

1、把用户名和身份证信息进行绑定验证(针对本网站)。


                           最后来听首歌放松一下

文章作者: 洋葱
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 洋葱 !
 上一篇
某信息管理系统Tomcat7弱口令拿shell漏洞复现 某信息管理系统Tomcat7弱口令拿shell漏洞复现
某系统Tomcat7弱口令拿shell漏洞复现简介Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat是Ap
2020-04-29
下一篇 
记某公司一处SQL注入 记某公司一处SQL注入
记某公司一处SQL注入简介 SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器
2020-02-16
  目录