index.php:
上面可以看到传递过来的参数$m经过be()转移看似很安全,-号分割数组后遇到神奇的$colnum,在$colnum中的变量intval处理,不在的呢?直接urldecode,我虽然没看明白为什么这样,当然最后得看这些变量会传递到哪里,所以这里难道仅仅是一个year写成yaer所造成的注入么,继续往下看,下面会包含inc/module/$ac.php
所以我们先看看vod.php:
如果说第一发是因为year写错了导致不在$colnum中,避过了自身be()的处理和360防护脚本,那下面的其他参数呢,比如letter,area,where,des,lang,pinying,等等这些都没有经过其他过滤,所以直接urldecode了一次,所以可以注入的地方就很多了。当然不仅仅是这个页面,module下的其他页面也存在这个问题,就请厂商自行排查了。
所以注入点很多,比如我们拿之前没有测试的letter来测试:

这才是罪魁祸首,由这处错误引起的其他注入不再发了。