HYBBS审计
字数 1323 2025-08-05 00:15:28
HYBBS漏洞审计报告与利用教学
1. 插件处任意文件写入漏洞导致代码执行
漏洞路径: ?admin/code.html
漏洞文件: Code-audit\HYBBS2.3.2\Action\Admin.php
利用步骤:
- 构造恶意请求:
?admin/code.html name=&gn=add&name=test%27%2Cphpinfo%28%29%2C%27&name2=test&user=test&mess=test - 漏洞原理:
- 输入内容
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进入重装界面 - 在数据库名处注入恶意代码:
hybbs",phpinfo(),"
3. 模板处任意文件写入漏洞
漏洞路径: ?admin/view.html
漏洞文件: Code-audit\HYBBS2.3.2\Action\Admin.php的view方法
利用步骤:
- 构造恶意请求:
gn=create_view&name='%2Cphpinfo()%2C'&name2=test22&user=ch3ng&mess=test&code= - 系统在
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漏洞
利用方法:
- 通过输入不存在的方法触发报错:
或http://localhost/Code-audit/HYBBS2.3.2/?s=%3Csvg%20onload=alert(1)%3Ehttp://localhost/Code-audit/HYBBS2.3.2/?s=%3Csvg%20onload=alert(document.cookie)%3E
漏洞总结与修复建议
主要问题:
- 输入验证缺失
- 文件操作未限制目录跳转
- 上传文件内容检查不足
- 错误处理不当导致XSS
修复建议:
- 对所有用户输入进行严格过滤
- 限制文件操作路径,禁止目录跳转
- 加强上传文件类型检查
- 实现安全的错误处理机制
- 对写入文件内容进行编码/转义处理
测试注意事项:
- 测试前备份系统
- 在授权环境下进行测试
- 测试完成后清理测试文件
- 遵守相关法律法规