HYBBS审计
字数 1323 2025-08-05 00:15:28

HYBBS漏洞审计报告与利用教学

1. 插件处任意文件写入漏洞导致代码执行

漏洞路径: ?admin/code.html

漏洞文件: Code-audit\HYBBS2.3.2\Action\Admin.php

利用步骤:

  1. 构造恶意请求:
    ?admin/code.html
    name=&gn=add&name=test%27%2Cphpinfo%28%29%2C%27&name2=test&user=test&mess=test
    
  2. 漏洞原理:
    • 输入内容test',phpinfo(),'未经任何过滤直接赋值给$name
    • 系统在/Plugin/下创建新文件夹并将输入内容写入conf.php

调试路径:

  1. Code-audit\HYBBS2.3.2\HY\Lib\Line.php实例化Admin类
  2. 调用code方法处理输入

利用结果:

  • /Plugin/目录下生成包含恶意代码的conf.php文件
  • 可直接访问执行任意PHP代码

2. 任意文件删除漏洞导致重装getshell

漏洞路径: 重装前需要删除/Conf/config.php

利用步骤:

  1. 通过目录遍历删除配置文件:
    • 利用../../进行目录跳转
    • 删除Conf目录下的关键文件

调试路径:

  1. Line.php实例化Admin类
  2. 调用code方法中的del操作
  3. deldir函数未过滤..等特殊字符

重装过程:

  1. 访问install进入重装界面
  2. 在数据库名处注入恶意代码:
    hybbs",phpinfo(),"
    

3. 模板处任意文件写入漏洞

漏洞路径: ?admin/view.html

漏洞文件: Code-audit\HYBBS2.3.2\Action\Admin.phpview方法

利用步骤:

  1. 构造恶意请求:
    gn=create_view&name='%2Cphpinfo()%2C'&name2=test22&user=ch3ng&mess=test&code=
    
  2. 系统在View目录下创建文件夹并写入conf.php

漏洞原理:

  • name参数未做安全检查
  • 直接使用file_put_contents写入文件

4. 模板文件上传漏洞

漏洞路径: ?admin/view.html

利用步骤:

  1. 上传包含恶意PHP文件的ZIP压缩包
    • <?php phpinfo();?>
  2. 系统自动解压到HYBBS2.3.2/View/目录

调试路径:

  1. 实例化Admin类
  2. 调用update_view方法
  3. 进入upload方法进行解压操作

漏洞原理:

  • 上传检查不严格,未限制文件内容
  • 自动解压机制导致任意文件上传

5. 插件上传漏洞

漏洞路径: ?admin/code.html

利用步骤:

  1. 上传包含恶意PHP文件的ZIP压缩包
  2. 系统自动解压到Plugin目录

调试路径:

  1. Line.php调用Update_code方法
  2. 实例化Upload
  3. 执行unzip操作解压到Plugin目录

6. 前台XSS漏洞

利用方法:

  1. 通过输入不存在的方法触发报错:
    http://localhost/Code-audit/HYBBS2.3.2/?s=%3Csvg%20onload=alert(1)%3E
    
    http://localhost/Code-audit/HYBBS2.3.2/?s=%3Csvg%20onload=alert(document.cookie)%3E
    

漏洞总结与修复建议

主要问题:

  1. 输入验证缺失
  2. 文件操作未限制目录跳转
  3. 上传文件内容检查不足
  4. 错误处理不当导致XSS

修复建议:

  1. 对所有用户输入进行严格过滤
  2. 限制文件操作路径,禁止目录跳转
  3. 加强上传文件类型检查
  4. 实现安全的错误处理机制
  5. 对写入文件内容进行编码/转义处理

测试注意事项:

  1. 测试前备份系统
  2. 在授权环境下进行测试
  3. 测试完成后清理测试文件
  4. 遵守相关法律法规
HYBBS漏洞审计报告与利用教学 1. 插件处任意文件写入漏洞导致代码执行 漏洞路径 : ?admin/code.html 漏洞文件 : Code-audit\HYBBS2.3.2\Action\Admin.php 利用步骤 : 构造恶意请求: 漏洞原理: 输入内容 test',phpinfo(),' 未经任何过滤直接赋值给 $name 系统在 /Plugin/ 下创建新文件夹并将输入内容写入 conf.php 调试路径 : Code-audit\HYBBS2.3.2\HY\Lib\Line.php 实例化Admin类 调用 code 方法处理输入 利用结果 : 在 /Plugin/ 目录下生成包含恶意代码的 conf.php 文件 可直接访问执行任意PHP代码 2. 任意文件删除漏洞导致重装getshell 漏洞路径 : 重装前需要删除 /Conf/config.php 利用步骤 : 通过目录遍历删除配置文件: 利用 ../../ 进行目录跳转 删除 Conf 目录下的关键文件 调试路径 : Line.php 实例化Admin类 调用 code 方法中的 del 操作 deldir 函数未过滤 .. 等特殊字符 重装过程 : 访问 install 进入重装界面 在数据库名处注入恶意代码: 3. 模板处任意文件写入漏洞 漏洞路径 : ?admin/view.html 漏洞文件 : Code-audit\HYBBS2.3.2\Action\Admin.php 的 view 方法 利用步骤 : 构造恶意请求: 系统在 View 目录下创建文件夹并写入 conf.php 漏洞原理 : name 参数未做安全检查 直接使用 file_put_contents 写入文件 4. 模板文件上传漏洞 漏洞路径 : ?admin/view.html 利用步骤 : 上传包含恶意PHP文件的ZIP压缩包 如 <?php phpinfo();?> 系统自动解压到 HYBBS2.3.2/View/ 目录 调试路径 : 实例化Admin类 调用 update_view 方法 进入 upload 方法进行解压操作 漏洞原理 : 上传检查不严格,未限制文件内容 自动解压机制导致任意文件上传 5. 插件上传漏洞 漏洞路径 : ?admin/code.html 利用步骤 : 上传包含恶意PHP文件的ZIP压缩包 系统自动解压到 Plugin 目录 调试路径 : Line.php 调用 Update_code 方法 实例化 Upload 类 执行 unzip 操作解压到 Plugin 目录 6. 前台XSS漏洞 利用方法 : 通过输入不存在的方法触发报错: 或 漏洞总结与修复建议 主要问题 : 输入验证缺失 文件操作未限制目录跳转 上传文件内容检查不足 错误处理不当导致XSS 修复建议 : 对所有用户输入进行严格过滤 限制文件操作路径,禁止目录跳转 加强上传文件类型检查 实现安全的错误处理机制 对写入文件内容进行编码/转义处理 测试注意事项 : 测试前备份系统 在授权环境下进行测试 测试完成后清理测试文件 遵守相关法律法规