Web越权链式打法实战:小细节引爆全站数据,EDUSRC Rank狂飙
摘要:本文记录了一次高校信息系统渗透测试过程,发现了多处越权漏洞。通过分析数据包中的Base64编码ID参数,成功绕过系统校验机制,实现了学生信息的越权访问。文章详细介绍了组合ID解构、保存功能绕过等技巧,并总结了Base64特征识别、批量枚举等核心方法。所有漏洞已上报EDUSRC平台,测试数据已删除。强调该技术仅限授权测试使用,提醒读者勿用于非法用途。(149字)

声明
以下漏洞已经上报edusrc平台,所有获取的信息皆已经删除,并且没有任何备份保留,请勿利用文章内的相关技术从事非法测试。由于传播、本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本平台无关。如有侵权烦请告知,我们会立即删除并致歉。谢谢!
一、由一次泄露探索系统更多可能性
在一次针对某高校信息系统的授权渗透测试中,从一个查看学生基本信息功能的一个数据包中,发现了明显的数据泄露。初步观察,包含大量明文的学生个人敏感信息,并且有id参数,初步判断可能有越权

看见大家都会想到越权,但是一大串的不规律的数据,我们先看Status,熟悉base64的小伙伴都知道Status大概率是base64加密的,解密得到edit,并无实际用途。

紧接着看向Id=MTUyNTkzc81e728d9d4c2f636f067f89cc14862cxxxx,后面81开始连续的数字加字母有点像md5,但是位数超过了32,我们看向前面,有点像base64,解密试试

但是不对,解密不出来,往前一位看看,得到MTUyNTkz是152593

熟悉越权的小伙伴都知道id=152593怎么越权,往前改一位看看是否数据会发生改变

修改之后,发现虽然变化了但是没有出数据,这表明请求中Id并非单独作为唯一主键存在,而可能与其他字段(例如状态位、token、关联身份等)联合校验。初步判断该字段可能为“主键ID+校验串”混合形成,常见于防止直接ID篡改的设计中

二、任职信息审核功能越权分析
在另一个“任职信息审核”模块中功能,同样的base64加密,id解密后为4155

4144的base64编码是NDE1NA==,将数据包修改,直接报错了

我们回顾一下之前的4155,我们自行编码发现他也有两个等号,但是之前的数据包并没有

所以我们去掉两个等号尝试,响应200,但是数据还是一样

接着看向id参数,尝试这里越权,看着也像base64,进行解码

替换成MTIyMDAzNzAxMDI也就是12200370102,成功获取其他学生任职信息,实现越权,根据学号即可获取大量学生的数据,任职信息是固定的,或许跟后面的c81有关,但是信息是会变的。

三、隐藏在保存功能里的越权机会
一个很容易出现漏洞的操作--保存,往往会被忽略,这种也会存在越权的,但是要注意不要修改别人的数据,已造成不必要的麻烦

很简单的越权id或者StudentId

但是没那么简单,我修改后发现越权不了,说明该功能具备更严格的校验逻辑,这时候就需要绕过了,因为这个是保存的功能,可能是信息不匹配导致的
Bypass思路:
1. 仅保留学生基本信息,避免校验错误
2. 清空下面所有的数据,成功修改数据!

此时id一样是越权不了的,修改学号下一位,拿下第二个越权

这种操作验证了系统在“保存”阶段只校验部分字段的匹配性,数据越权可以通过控制字段内容规避校验逻辑
四、越权遍历与批量扩展
因为这个站点都是一样的规则的,接下来就是找不一样的接口,通过同样的方式进行越权测试
最终拿下以下接口的越权,大约10个,不同的功能,但是都是相同的id与StudentId,一样的验证方式,导致了全校的通用性
/xx/Sys/Systemxx/Class/Student_Edit.aspx
/xx/Sys/Systemxx/Class/StuDutyxxxExam_Edit.aspx
/xx/Sys/Systemxx/Class/StuDutyxxx_Edit.aspx
/xx/Sys/Systemxx/Class/StuActionxxxExam_Edit.aspx
/xx/Sys/Systemxx/Class/StuActionxxxm_Edit.aspx
/xx/Sys/Systemxx/Class/StuSkillxxxExam_Edit.aspx
/xx/Sys/Systemxx/Class/StuSkillxxx_Edit.aspx
/xx/Sys/Systemxx/Stuxxx/ChangeThing_Edit.aspx
在每一个接口中,只要我们能构造出合适的ID或学号格式,即可批量遍历全校数据
五、提交技巧:如何让越权漏洞评分翻倍?
提分小技巧,如果是学号的越权的话,一般全校的会给到3rank的高危,但是你先拿到了全校学号泄露的漏洞,一起交,会有6-7的rank,本次我获取到了一个接口

这个接口靠classno也就是班级编号来查询,1开头23是届38是专业代码01是班级,通过遍历即可获取全校学号,结合前面的越权点实现大规模数据批量获取。
六、技术干货总结:越权与Bypass核心技巧
1、Base64特征识别与无等号兼容处理:
发现编码形式为Base64,去掉结尾==是关键
部分系统只取Base64前缀,后缀为校验或混淆
2、组合ID的识别与解构:
主键+Token合并形式识别
利用规律生成新Token或忽略Token进行尝试
3、保存逻辑绕过:
多字段提交中只校验主字段
清空非必填项可避开校验逻辑陷阱
4、枚举技巧:
利用规则化编号生成器(如学号、班级号)批量遍历系统信息
5、统一越权模式:
明确系统“修改/查看”接口逻辑一致,可批量测试各模块
无敌暴龙战士不会梦见兔女郎,个人交流加微信base64:WFczMDY3MDY1NDA1
🙏感谢观看,如果你觉得这篇文章有干货,别忘了点赞支持,欢迎收藏与转发,期待与你一起成长!
声明
以下漏洞已经上报edusrc平台,所有获取的信息皆已经删除,并且没有任何备份保留,请勿利用文章内的相关技术从事非法测试。由于传播、本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本平台无关。如有侵权烦请告知,我们会立即删除并致歉。谢谢!
一、由一次泄露探索系统更多可能性
在一次针对某高校信息系统的授权渗透测试中,从一个查看学生基本信息功能的一个数据包中,发现了明显的数据泄露。初步观察,包含大量明文的学生个人敏感信息,并且有id参数,初步判断可能有越权

看见大家都会想到越权,但是一大串的不规律的数据,我们先看Status,熟悉base64的小伙伴都知道Status大概率是base64加密的,解密得到edit,并无实际用途。

紧接着看向Id=MTUyNTkzc81e728d9d4c2f636f067f89cc14862cxxxx,后面81开始连续的数字加字母有点像md5,但是位数超过了32,我们看向前面,有点像base64,解密试试

但是不对,解密不出来,往前一位看看,得到MTUyNTkz是152593

熟悉越权的小伙伴都知道id=152593怎么越权,往前改一位看看是否数据会发生改变

修改之后,发现虽然变化了但是没有出数据,这表明请求中Id并非单独作为唯一主键存在,而可能与其他字段(例如状态位、token、关联身份等)联合校验。初步判断该字段可能为“主键ID+校验串”混合形成,常见于防止直接ID篡改的设计中

二、任职信息审核功能越权分析
在另一个“任职信息审核”模块中功能,同样的base64加密,id解密后为4155

4144的base64编码是NDE1NA==,将数据包修改,直接报错了

我们回顾一下之前的4155,我们自行编码发现他也有两个等号,但是之前的数据包并没有

所以我们去掉两个等号尝试,响应200,但是数据还是一样

接着看向id参数,尝试这里越权,看着也像base64,进行解码

替换成MTIyMDAzNzAxMDI也就是12200370102,成功获取其他学生任职信息,实现越权,根据学号即可获取大量学生的数据,任职信息是固定的,或许跟后面的c81有关,但是信息是会变的。

三、隐藏在保存功能里的越权机会
一个很容易出现漏洞的操作--保存,往往会被忽略,这种也会存在越权的,但是要注意不要修改别人的数据,已造成不必要的麻烦

很简单的越权id或者StudentId

但是没那么简单,我修改后发现越权不了,说明该功能具备更严格的校验逻辑,这时候就需要绕过了,因为这个是保存的功能,可能是信息不匹配导致的
Bypass思路:
1. 仅保留学生基本信息,避免校验错误
2. 清空下面所有的数据,成功修改数据!

此时id一样是越权不了的,修改学号下一位,拿下第二个越权

这种操作验证了系统在“保存”阶段只校验部分字段的匹配性,数据越权可以通过控制字段内容规避校验逻辑
四、越权遍历与批量扩展
因为这个站点都是一样的规则的,接下来就是找不一样的接口,通过同样的方式进行越权测试
最终拿下以下接口的越权,大约10个,不同的功能,但是都是相同的id与StudentId,一样的验证方式,导致了全校的通用性
/xx/Sys/Systemxx/Class/Student_Edit.aspx
/xx/Sys/Systemxx/Class/StuDutyxxxExam_Edit.aspx
/xx/Sys/Systemxx/Class/StuDutyxxx_Edit.aspx
/xx/Sys/Systemxx/Class/StuActionxxxExam_Edit.aspx
/xx/Sys/Systemxx/Class/StuActionxxxm_Edit.aspx
/xx/Sys/Systemxx/Class/StuSkillxxxExam_Edit.aspx
/xx/Sys/Systemxx/Class/StuSkillxxx_Edit.aspx
/xx/Sys/Systemxx/Stuxxx/ChangeThing_Edit.aspx
在每一个接口中,只要我们能构造出合适的ID或学号格式,即可批量遍历全校数据
五、提交技巧:如何让越权漏洞评分翻倍?
提分小技巧,如果是学号的越权的话,一般全校的会给到3rank的高危,但是你先拿到了全校学号泄露的漏洞,一起交,会有6-7的rank,本次我获取到了一个接口

这个接口靠classno也就是班级编号来查询,1开头23是届38是专业代码01是班级,通过遍历即可获取全校学号,结合前面的越权点实现大规模数据批量获取。
六、技术干货总结:越权与Bypass核心技巧
1、Base64特征识别与无等号兼容处理:
发现编码形式为Base64,去掉结尾==是关键
部分系统只取Base64前缀,后缀为校验或混淆
2、组合ID的识别与解构:
主键+Token合并形式识别
利用规律生成新Token或忽略Token进行尝试
3、保存逻辑绕过:
多字段提交中只校验主字段
清空非必填项可避开校验逻辑陷阱
4、枚举技巧:
利用规则化编号生成器(如学号、班级号)批量遍历系统信息
5、统一越权模式:
明确系统“修改/查看”接口逻辑一致,可批量测试各模块
无敌暴龙战士不会梦见兔女郎,个人交流加微信base64:WFczMDY3MDY1NDA1
🙏感谢观看,如果你觉得这篇文章有干货,别忘了点赞支持,欢迎收藏与转发,期待与你一起成长!
更多推荐
所有评论(0)