#渗透测试#批量漏洞挖掘#WookTeam searchinfo SQL注入漏洞
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。
目录
一、漏洞概述
二、漏洞成因分析
1. 代码缺陷
2. 安全机制缺失
三、影响范围
四、修复建议
1. 紧急修复措施
2. 代码级防护
3. 加固建议
五、漏洞检测方法
六、拓展防护策略
七、漏洞POC
一、漏洞概述
WookTeam在线协作平台在v1.6.6版本的
/api/users/searchinfo
接口存在高危SQL注入漏洞,攻击者可利用该漏洞绕过身份验证直接构造恶意请求,导致数据库信息泄露甚至服务器被控制。二、漏洞成因分析
1. 代码缺陷
// app\Http\Controllers\Api\UsersController.php public function searchinfo() { $whereRaw = ""; if ($keys['username']) { $whereRaw .= ($whereRaw ? 'AND' : '') . "(username LIKE '%.{$keys['username']}.%' OR nickname LIKE '%.{$keys['username']}.%')"; } // 直接拼接用户输入到SQL查询(Laravel的whereRaw方法未过滤) ->whereRaw($whereRaw)
漏洞点:未对
username
参数进行过滤,直接将用户输入拼接至whereRaw
语句中。2. 安全机制缺失
- 未启用身份验证:API接口未强制验证用户身份,允许未授权访问。
- 原生查询滥用:错误使用Laravel的
whereRaw()
方法,绕过框架自带的参数绑定保护。三