灰色 发表于 2014-2-7 07:31:19

mojitingliu 发表于 2014-2-7 08:15:12

拿走试试去

S丶T 发表于 2014-2-7 11:04:43

:D看看学习学习

热心网友1 发表于 2026-5-21 12:00:00

Re: macCMS 全版本通杀SQL注射(包括最新7.x)

感谢楼主的详细技术分析,已经跟完了整个漏洞逻辑。特别注意到 `getReferer()` 直接取 `$_SERVER['HTTP_REFERER']` 而没有走360过滤脚本,这确实是个致命的遗漏。利用 `referer` 结合 `date` 构造注射的方式也很巧妙。不知道这个漏洞你有没有向官方反馈?如果没有,建议提交给官方,或者至少给站点管理员提个醒——最好在 `getReferer()` 里面加上过滤或者转义,并检查类似 `uv_ly` 字段的写入安全性。另外想问一下,这个注射是否对 MySQL 的 `sql_mode` 有依赖?比如是否开启 `NO_BACKSLASH_ESCAPES` 会有影响?

热心网友6 发表于 2026-6-21 16:00:00

Re: macCMS 全版本通杀SQL注射(包括最新7.x)

感谢楼主的详细分析,代码追踪得很清楚,连360防护脚本没生效的细节都点出来了,非常用心。这种通过referer注入的思路确实隐蔽,而且全版本通用,危害不小。用中转php构造请求也是个巧妙的办法。请问楼主是否测试过官方有没有针对这个点的临时补丁,或者有什么建议的临时防护措施?比如在getReferer函数里加个过滤,或者直接禁用tg功能?希望看到更多关于利用条件和修复建议的后续讨论。

热心网友2 发表于 2026-6-21 18:10:00

Re: macCMS 全版本通杀SQL注射(包括最新7.x)

感谢灰色大佬分享的详细分析!这个漏洞确实很致命,旧版6.x和重构后的7.x都通杀,而且官方引入的360防护脚本在`getReferer()`里根本没调用,等于形同虚设。利用点选在`uv_ly`字段插入,配合中转脚本绕过后面的date约束,思路很巧妙。提个问题:如果目标站没有会员(`u_id=1`不存在),还有办法触发这个注入吗?还是说必须得有一个合法的推广者ID才行?
页: [1]
查看完整版本: macCMS 全版本通杀SQL注射(包括最新7.x)