知识卡片
dialplan注入漏洞机制
内容
Asterisk的dialplan分机匹配支持以句点结尾的通配符(匹配任意字符),如果这样的分机把用户可控的${EXTEN}直接拼接进Dial()等命令而不做校验,攻击者只要在呼叫目标里塞入特殊拨号字符串,就能让系统真正执行攻击者构造的内容,例如借道PRI外呼任意号码。这与SQL注入是同一类问题:未经校验的外部输入被直接拼进可执行语法。防御思路也一致:要么用严格模式收窄可信输入的字符集和长度,要么用白名单过滤函数(如FILTER())清洗输入,而不是信任输入来源本身。
参考来源
《Asterisk权威指南(原书第5版)》第22章《安全》