安全是相对的,针对 eval
的安全等级大致可以这么分:
- 高危,在管理后台等权限较高的地方
eval
用户输入的内容,有纵向越权的风险; - 中危,在用户界面
eval
其他用户输入的内容,有横向越权的风险; - 低危,放任
eval
、new Function
、setInterVal
字符函数等存在注入风险的操作正常进行,有被用于组合攻击的风险。
所以,即便 eval
的内容完全可控,还是有被攻击者利用的可能性,eval
可能会成为组合攻击中的一个环节,但是通常情况下不必考虑,因为组合攻击的前提是存在其他漏洞。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…