对某网的一次渗透测试纪实
字数 1912 2025-08-26 22:11:22

渗透测试实战教学:某人才网站漏洞挖掘与分析

1. 逻辑越权漏洞利用

1.1 漏洞背景

目标网站存在个人用户和企业用户两种角色,企业用户可以查看和下载完整简历(含身份证号和联系方式),而个人用户只能查看部分信息。

1.2 漏洞发现过程

  1. 注册个人用户并登录
  2. 访问"最新人才"栏目,查看简历详情
  3. 尝试下载简历时被拒绝(仅限企业用户)

1.3 漏洞利用方法

  1. 使用Burp Suite拦截下载请求
  2. 分析请求参数:
    • eid:简历ID
    • Cookie中的关键参数:
      • usertype:1表示个人用户,2表示企业用户
      • uid:用户ID
  3. 修改Cookie:
    • usertype从1改为2
    • uid改为任意企业用户的ID(可从首页获取)
  4. 重新发送请求,成功越权下载简历

1.4 技术要点

  • 权限控制仅依赖前端参数,后端未做严格验证
  • 下载消耗的是被冒用企业的金币余额
  • 若提示金币不足,更换其他企业用户的UID尝试

2. 存储型XSS漏洞

2.1 漏洞位置

个人用户简历填写页面的"自我评价"字段

2.2 漏洞利用

  1. 在自我评价字段插入XSS payload
  2. 当企业用户查看该简历时,payload执行
  3. 可窃取企业用户的Cookie(无HttpOnly保护)

2.3 潜在危害

  • 获取企业用户会话,实现账户劫持
  • 进一步获取敏感数据或进行其他恶意操作

3. SQL注入漏洞

3.1 漏洞1:OA系统登录注入

位置:oa.xxx.com办公系统登录页面

验证方法

  1. 使用admin' and '1'='1测试,返回正常
  2. 使用admin' and '1'='2测试,返回异常
  3. 确认存在SQL盲注

绕过WAF技巧

  • 发现select关键字被过滤
  • 使用万能密码绕过:admin' or 1=1 or ''='(密码任意)

3.2 漏洞2:搜索型注入

位置:网站搜索框

验证方法

  1. 使用1%' and 1=1 and '%'='测试,返回正常
  2. 使用1%' and 1=2 and '%'='测试,返回异常
  3. 确认存在搜索型SQL注入

技术要点

  • 典型搜索语句结构:select * from users where id like '%xxx%' order by xxxxxxxxx
  • 同样面临select关键字被过滤的问题

4. 任意文件上传漏洞

4.1 漏洞位置

OA系统后台用户管理模块的头像上传功能

4.2 漏洞利用步骤

  1. 使用万能密码登录OA后台
  2. 进入用户管理,选择修改用户信息
  3. 拦截头像上传请求
  4. 修改文件扩展名为.php
  5. 上传Webshell(如一句话木马)

4.3 技术要点

  • 仅前端验证文件类型,后端未做检查
  • 可直接上传可执行脚本获取服务器权限

5. 数据库控制

5.1 获取数据库凭据

  1. 通过Webshell下载网站源码
  2. 查找数据库配置文件(通常为config.php等)
  3. 获取数据库连接信息(主机、用户名、密码、数据库名)

5.2 数据库管理

  1. 使用蚁剑等工具的数据库管理功能连接
  2. 可执行任意SQL命令
  3. 发现后台管理员使用弱密码(与域名相关的简单密码)

6. 漏洞总结与防御建议

6.1 漏洞汇总

  1. 逻辑越权(权限控制不严)
  2. 存储型XSS(输入未过滤)
  3. SQL注入(输入未过滤,WAF绕过)
  4. 任意文件上传(文件类型验证不足)
  5. 弱密码问题

6.2 防御建议

  1. 权限控制

    • 后端严格验证用户权限
    • 使用会话机制而非前端参数判断角色
  2. XSS防护

    • 对所有用户输入进行HTML实体编码
    • 设置Cookie的HttpOnly属性
  3. SQL注入防护

    • 使用预编译语句(Prepared Statements)
    • 实施最小权限原则
    • 完善WAF规则
  4. 文件上传安全

    • 后端验证文件类型和内容
    • 上传目录禁止脚本执行
    • 重命名上传文件
  5. 密码安全

    • 强制使用复杂密码
    • 定期更换密码
    • 实施多因素认证

7. 渗透测试方法论

  1. 信息收集

    • 子域名枚举(如发现oa.xxx.com)
    • 功能点分析
  2. 漏洞探测

    • 权限相关测试(越权)
    • 输入点测试(XSS、SQLi)
    • 文件上传测试
  3. 权限提升

    • 从低权限用户开始
    • 逐步获取更高权限
  4. 横向移动

    • 获取数据库访问权限
    • 查找其他系统凭据
  5. 报告与修复

    • 记录所有发现
    • 提供修复建议

8. 学习要点

  1. 逻辑漏洞挖掘

    • 关注业务功能与权限设计
    • 尝试修改参数观察系统反应
  2. WAF绕过技巧

    • 尝试不同编码方式
    • 使用注释分割关键字
    • 寻找替代语法
  3. 工具使用

    • Burp Suite拦截修改请求
    • 蚁剑等Webshell管理工具
    • 数据库管理工具
  4. 安全意识

    • 仅测试授权目标
    • 遵守法律法规
    • 负责任地披露漏洞
渗透测试实战教学:某人才网站漏洞挖掘与分析 1. 逻辑越权漏洞利用 1.1 漏洞背景 目标网站存在个人用户和企业用户两种角色,企业用户可以查看和下载完整简历(含身份证号和联系方式),而个人用户只能查看部分信息。 1.2 漏洞发现过程 注册个人用户并登录 访问"最新人才"栏目,查看简历详情 尝试下载简历时被拒绝(仅限企业用户) 1.3 漏洞利用方法 使用Burp Suite拦截下载请求 分析请求参数: eid :简历ID Cookie中的关键参数: usertype :1表示个人用户,2表示企业用户 uid :用户ID 修改Cookie: 将 usertype 从1改为2 将 uid 改为任意企业用户的ID(可从首页获取) 重新发送请求,成功越权下载简历 1.4 技术要点 权限控制仅依赖前端参数,后端未做严格验证 下载消耗的是被冒用企业的金币余额 若提示金币不足,更换其他企业用户的UID尝试 2. 存储型XSS漏洞 2.1 漏洞位置 个人用户简历填写页面的"自我评价"字段 2.2 漏洞利用 在自我评价字段插入XSS payload 当企业用户查看该简历时,payload执行 可窃取企业用户的Cookie(无HttpOnly保护) 2.3 潜在危害 获取企业用户会话,实现账户劫持 进一步获取敏感数据或进行其他恶意操作 3. SQL注入漏洞 3.1 漏洞1:OA系统登录注入 位置 :oa.xxx.com办公系统登录页面 验证方法 : 使用 admin' and '1'='1 测试,返回正常 使用 admin' and '1'='2 测试,返回异常 确认存在SQL盲注 绕过WAF技巧 : 发现 select 关键字被过滤 使用万能密码绕过: admin' or 1=1 or ''=' (密码任意) 3.2 漏洞2:搜索型注入 位置 :网站搜索框 验证方法 : 使用 1%' and 1=1 and '%'=' 测试,返回正常 使用 1%' and 1=2 and '%'=' 测试,返回异常 确认存在搜索型SQL注入 技术要点 : 典型搜索语句结构: select * from users where id like '%xxx%' order by xxxxxxxxx 同样面临 select 关键字被过滤的问题 4. 任意文件上传漏洞 4.1 漏洞位置 OA系统后台用户管理模块的头像上传功能 4.2 漏洞利用步骤 使用万能密码登录OA后台 进入用户管理,选择修改用户信息 拦截头像上传请求 修改文件扩展名为.php 上传Webshell(如一句话木马) 4.3 技术要点 仅前端验证文件类型,后端未做检查 可直接上传可执行脚本获取服务器权限 5. 数据库控制 5.1 获取数据库凭据 通过Webshell下载网站源码 查找数据库配置文件(通常为config.php等) 获取数据库连接信息(主机、用户名、密码、数据库名) 5.2 数据库管理 使用蚁剑等工具的数据库管理功能连接 可执行任意SQL命令 发现后台管理员使用弱密码(与域名相关的简单密码) 6. 漏洞总结与防御建议 6.1 漏洞汇总 逻辑越权(权限控制不严) 存储型XSS(输入未过滤) SQL注入(输入未过滤,WAF绕过) 任意文件上传(文件类型验证不足) 弱密码问题 6.2 防御建议 权限控制 : 后端严格验证用户权限 使用会话机制而非前端参数判断角色 XSS防护 : 对所有用户输入进行HTML实体编码 设置Cookie的HttpOnly属性 SQL注入防护 : 使用预编译语句(Prepared Statements) 实施最小权限原则 完善WAF规则 文件上传安全 : 后端验证文件类型和内容 上传目录禁止脚本执行 重命名上传文件 密码安全 : 强制使用复杂密码 定期更换密码 实施多因素认证 7. 渗透测试方法论 信息收集 : 子域名枚举(如发现oa.xxx.com) 功能点分析 漏洞探测 : 权限相关测试(越权) 输入点测试(XSS、SQLi) 文件上传测试 权限提升 : 从低权限用户开始 逐步获取更高权限 横向移动 : 获取数据库访问权限 查找其他系统凭据 报告与修复 : 记录所有发现 提供修复建议 8. 学习要点 逻辑漏洞挖掘 : 关注业务功能与权限设计 尝试修改参数观察系统反应 WAF绕过技巧 : 尝试不同编码方式 使用注释分割关键字 寻找替代语法 工具使用 : Burp Suite拦截修改请求 蚁剑等Webshell管理工具 数据库管理工具 安全意识 : 仅测试授权目标 遵守法律法规 负责任地披露漏洞