在 do_request() 函数中未经检查的字符串连接导致堆溢出
作者: lanlanzzx创建于 2026年2月10日更新于 2026年2月10日
描述
此代码存在 CWE-122(基于堆的缓冲区溢出)漏洞,因为它使用不安全的字符串连接函数,同时使用固定大小的堆内存分配。do_request函数处理从 HTTP POST 请求中提取的用户提供的用户名和密码输入。在处理用户注册时,该函数通过malloc()分配一个固定 200 字节的堆缓冲区,然后使用strcpy()和strcat()连接 SQL 模板字符串,包装字符,以及未验证的用户名/密码输入到此缓冲区中。
内容来源: qinguoyi/TinyWebServer