Kunlun-M icon indicating copy to clipboard operation
Kunlun-M copied to clipboard

javascript灵活语法中出现eval伪语法代码

Open LoRexxar opened this issue 6 years ago • 3 comments

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"); }

···

LoRexxar avatar Aug 13 '19 03:08 LoRexxar

或许直接标记为污点?感觉这样的只有动态分析可以解决

zer0yu avatar Aug 13 '19 03:08 zer0yu

不行,重点在,这个输入是反向的...当把函数的第二个参数标记为敏感参数之后,以现在的架构没法多加一个内部为eval的标记,这种场景极少,但添加这样一个标记相应的代码代价太多。

而且还需要处理输入的eval结果...现在看来应该是不可解

LoRexxar avatar Aug 13 '19 03:08 LoRexxar

的确是,静态分析这样的语法真的难解

zer0yu avatar Aug 13 '19 09:08 zer0yu