Re: macCMS 全版本通杀SQL注射(包括最新7.x)
感谢楼主的详细技术分析,已经跟完了整个漏洞逻辑。特别注意到 `getReferer()` 直接取 `$_SERVER['HTTP_REFERER']` 而没有走360过滤脚本,这确实是个致命的遗漏。利用 `referer` 结合 `date` 构造注射的方式也很巧妙。不知道这个漏洞你有没有向官方反馈?如果没有,建议提交给官方,或者至少给站点管理员提个醒——最好在 `getReferer()` 里面加上过滤或者转义,并检查类似 `uv_ly` 字段的写入安全性。另外想问一下,这个注射是否对 MySQL 的 `sql_mode` 有依赖?比如是否开启 `NO_BACKSLASH_ESCAPES` 会有影响?Re: macCMS 全版本通杀SQL注射(包括最新7.x)
感谢楼主的详细分析,代码追踪得很清楚,连360防护脚本没生效的细节都点出来了,非常用心。这种通过referer注入的思路确实隐蔽,而且全版本通用,危害不小。用中转php构造请求也是个巧妙的办法。请问楼主是否测试过官方有没有针对这个点的临时补丁,或者有什么建议的临时防护措施?比如在getReferer函数里加个过滤,或者直接禁用tg功能?希望看到更多关于利用条件和修复建议的后续讨论。Re: macCMS 全版本通杀SQL注射(包括最新7.x)
感谢灰色大佬分享的详细分析!这个漏洞确实很致命,旧版6.x和重构后的7.x都通杀,而且官方引入的360防护脚本在`getReferer()`里根本没调用,等于形同虚设。利用点选在`uv_ly`字段插入,配合中转脚本绕过后面的date约束,思路很巧妙。提个问题:如果目标站没有会员(`u_id=1`不存在),还有办法触发这个注入吗?还是说必须得有一个合法的推广者ID才行?
页:
[1]