Kunlun-M
Kunlun-M copied to clipboard
javascript灵活语法中出现eval伪语法代码
javascript灵活语法中出现eval伪语法代码无法解决...
··· function timedMsg(abc,callback){ if(callback){ var t=setTimeout(eval('callback'),3000); return 0; }} function fire(){ var call = location.hash.split("#")[1]; timedMsg(12,"call"); }
···
或许直接标记为污点?感觉这样的只有动态分析可以解决
不行,重点在,这个输入是反向的...当把函数的第二个参数标记为敏感参数之后,以现在的架构没法多加一个内部为eval的标记,这种场景极少,但添加这样一个标记相应的代码代价太多。
而且还需要处理输入的eval结果...现在看来应该是不可解
的确是,静态分析这样的语法真的难解