实战渗透-看我如何拿下自己学校的大屏幕(Bypass)
字数 1332 2025-08-25 22:58:55

实战渗透:学校大屏幕系统渗透测试与WAF绕过技术详解

0x00 前言

本文详细记录了一次针对学校大屏幕系统的渗透测试过程,涉及信息收集、弱口令利用、文件上传漏洞挖掘、0day利用以及WAF绕过技术。适合渗透测试初学者学习实战思路,也欢迎安全专家指正不足。

0x01 信息收集阶段

目标选择策略

  1. 优先选择二级域名:主域名通常集中托管,二级域名更可能部署在学校本地机房

    • 示例:creat.**.com(智慧校园系统)
    • 验证IP归属地与学校地理位置是否匹配
  2. C段扫描方法

    • 使用FOFA搜索:ip="12.230.*.1/24"
    • 发现疑似目标:12.230.*.194:8000(仅含登录页面的闭源系统)

闭源系统分析方法

  1. HTML源代码审计

    • 查找特有文件路径:如/Service/C***.asmx/Get*
    • 使用特征路径在FOFA搜索同类系统
  2. 弱口令测试策略

    • 在同类系统中寻找开发测试站点
    • 尝试常见弱口令组合(如admin/admin)

0x02 漏洞挖掘与利用

文件上传漏洞分析

  1. 测试点选择

    • 优先测试个人中心的头像上传功能
    • 上传测试文件:test.jpg(成功)→ test.aspx(失败)
  2. 上传限制分析

    • 测试方法:上传同类型不同名文件(ss.jpg)也失败 → 排除白名单机制
    • 关键参数:
      • fileToUpload:上传文件
      • directory:存储路径
      • ticket:验证令牌
  3. ticket机制逆向

    • 发现ticket生成时文件名必须与上传文件名一致
    • 利用步骤:
      1. 生成test.ashx的ticket
      2. 替换原始请求中的ticket
      3. 成功获取webshell

0day利用

  1. 将HOST改为学校真实地址
  2. 发现WAF拦截(奇安信):
    • 拦截扩展名:asp, aspx, ashx, asmx, cshtml
    • 类型检测+内容检测双重防护

0x03 WAF绕过技术

扩展名绕过

  1. 发现.NET平台可用扩展名:.svc
    • 示例payload:svcSmallSpy.svc
    • 问题:上传成功但500错误(未执行)

垃圾字符绕过技术

  1. 原理:大量垃圾字符消耗WAF内存导致规则匹配失效
  2. 实施步骤
    • 生成含20万垃圾字符的ticket:{*.ashx}
    • 确保上传文件名与ticket文件名一致
    • 将shell代码置于垃圾字符末尾
    • 使用注释符号包裹垃圾字符:
      <%-- 垃圾字符 --%>
      shell代码
      
  3. 注意事项
    • 垃圾字符必须足够大(20万字符级)
    • 保持文件名一致性
    • 正确使用注释语法

0x04 防御建议

  1. 文件上传防护

    • 实施严格的白名单机制
    • 检查文件内容而不仅是扩展名
    • 对上传文件重命名
  2. 认证加固

    • 禁用默认账户和弱口令
    • 实施多因素认证
  3. WAF配置优化

    • 设置请求大小限制
    • 对异常大请求实施速率限制
    • 定期更新防护规则
  4. 系统监控

    • 监控异常文件创建
    • 审计文件上传日志

0x05 总结

本次渗透测试展示了从信息收集到最终getshell的完整过程,重点突破点包括:

  1. 通过特征文件定位同类系统寻找弱口令
  2. 逆向分析文件上传的ticket机制
  3. 创新性使用垃圾字符绕过WAF的内容检测
  4. 发现并利用.svc扩展名的上传漏洞

这种思路可应用于类似闭源系统的安全测试,但务必在合法授权范围内进行。

实战渗透:学校大屏幕系统渗透测试与WAF绕过技术详解 0x00 前言 本文详细记录了一次针对学校大屏幕系统的渗透测试过程,涉及信息收集、弱口令利用、文件上传漏洞挖掘、0day利用以及WAF绕过技术。适合渗透测试初学者学习实战思路,也欢迎安全专家指正不足。 0x01 信息收集阶段 目标选择策略 优先选择二级域名 :主域名通常集中托管,二级域名更可能部署在学校本地机房 示例: creat.**.com (智慧校园系统) 验证IP归属地与学校地理位置是否匹配 C段扫描方法 使用FOFA搜索: ip="12.230.*.1/24" 发现疑似目标: 12.230.*.194:8000 (仅含登录页面的闭源系统) 闭源系统分析方法 HTML源代码审计 查找特有文件路径:如 /Service/C***.asmx/Get* 使用特征路径在FOFA搜索同类系统 弱口令测试策略 在同类系统中寻找开发测试站点 尝试常见弱口令组合(如admin/admin) 0x02 漏洞挖掘与利用 文件上传漏洞分析 测试点选择 优先测试个人中心的头像上传功能 上传测试文件: test.jpg (成功)→ test.aspx (失败) 上传限制分析 测试方法:上传同类型不同名文件(ss.jpg)也失败 → 排除白名单机制 关键参数: fileToUpload :上传文件 directory :存储路径 ticket :验证令牌 ticket机制逆向 发现ticket生成时文件名必须与上传文件名一致 利用步骤: 生成 test.ashx 的ticket 替换原始请求中的ticket 成功获取webshell 0day利用 将HOST改为学校真实地址 发现WAF拦截(奇安信): 拦截扩展名:asp, aspx, ashx, asmx, cshtml 类型检测+内容检测双重防护 0x03 WAF绕过技术 扩展名绕过 发现.NET平台可用扩展名: .svc 示例payload: svcSmallSpy.svc 问题:上传成功但500错误(未执行) 垃圾字符绕过技术 原理 :大量垃圾字符消耗WAF内存导致规则匹配失效 实施步骤 : 生成含20万垃圾字符的ticket: {*.ashx} 确保上传文件名与ticket文件名一致 将shell代码置于垃圾字符末尾 使用注释符号包裹垃圾字符: 注意事项 : 垃圾字符必须足够大(20万字符级) 保持文件名一致性 正确使用注释语法 0x04 防御建议 文件上传防护 : 实施严格的白名单机制 检查文件内容而不仅是扩展名 对上传文件重命名 认证加固 : 禁用默认账户和弱口令 实施多因素认证 WAF配置优化 : 设置请求大小限制 对异常大请求实施速率限制 定期更新防护规则 系统监控 : 监控异常文件创建 审计文件上传日志 0x05 总结 本次渗透测试展示了从信息收集到最终getshell的完整过程,重点突破点包括: 通过特征文件定位同类系统寻找弱口令 逆向分析文件上传的ticket机制 创新性使用垃圾字符绕过WAF的内容检测 发现并利用.svc扩展名的上传漏洞 这种思路可应用于类似闭源系统的安全测试,但务必在合法授权范围内进行。