TorrentPier身份验证SQL注入漏洞分析
漏洞概述
TorrentPier论坛软件在moderator控制面板(modcp.php)中存在身份验证SQL注入漏洞。拥有moderator权限的用户可通过提交恶意的topic_id(t参数)利用此漏洞,执行任意SQL查询,可能导致数据库中的数据被泄露、修改或删除。
漏洞详情
受影响版本
- TorrentPier <= 2.8.8
漏洞原理
当modcp.php处理包含topic_id(t参数)的请求时,$topic_id的值直接从用户输入获取,在拼接到SQL查询前未进行适当的清理或参数化处理。
漏洞代码位置
modcp.php文件第111-122行:
|
|
在WHERE t.topic_id = $topic_id子句中,$topic_id变量直接嵌入到查询字符串中。攻击者可以向t参数注入SQL语法(如布尔逻辑、基于时间的函数)来操纵查询执行。
漏洞验证
前提条件
- 运行中的TorrentPier实例
- 具有moderator权限的账户
复现步骤
- 以moderator身份登录
- 从浏览器开发者工具获取完整的会话cookie字符串
- 使用sqlmap自动化利用漏洞
sqlmap命令
|
|
验证输出
|
|
影响分析
这是一个需要身份验证的SQL注入漏洞,虽然需要moderator权限,但仍然具有严重性。恶意或被入侵的moderator账户可利用此漏洞:
- 读取敏感数据:从数据库中提取任何信息,包括用户凭据(密码哈希)、私信、电子邮件地址和其他私人数据
- 修改数据:更改数据库中的记录,如将自身或其他用户的权限提升至管理员级别
- 删除数据:通过删除表或记录来破坏或销毁论坛数据
技术特征
- 漏洞类型:基于时间的盲SQL注入
- 数据库系统:MySQL
- CVSS评分:8.8(高危)
- 攻击向量:网络
- 权限要求:低(moderator权限)
- 用户交互:无
参考信息
- GHSA-4rwr-8c3m-55f6
- CWE-89:SQL命令中使用的特殊元素中和不当(SQL注入)
- 源代码提交:torrentpier/torrentpier@6a0f649