English 中文(简体)
Eval() vs 开发者工具
原标题:Eval() vs Developer Tools

因此,古老的标准是,使用 Eval 是坏的,因为它可能造成重大安全问题, 特别是当您在评估某些可能来自用户输入的事物时。这百分之百地说得通,我从未遇到过避免使用 Eval 的问题。不过,最近我遇到了一种奇怪的状况,但这种情形让我对此类事物的思考有点不同。

我写了一个联署材料的功能 有点像:

function someFun(param, callback) {
    bool = someOtherFun(param);
    if(bool)
        callback();
    else
        return false;
}

这已被大量删除, 但本金是一样的: 它需要另一个函数, 并且基于返回值, 要么执行作为参数提供的函数, 要么返回错误的函数。 它让我觉得, 使用在 F12 中的 JS 控制台可以像 Eval( txtbox. value ) 那样容易地利用它。 这重要吗?

在F12的世界里,在我看来,Eval似乎是我们最不担心的。 任何知道注射式袭击的人都可能知道F12是什么。 我错了吗?

最佳回答

虽然你对F12和Firebug等工具的正确性 暴露了你的JavaScript 接受新的检查 并使人们很容易攻击,但你却忽略了使用 Eval 的危险。

而不是担心当前用户(在浏览器中加载了页面)会做什么,而是让我们关心他们在下一台计算机上共同工作的情况。 假设同事会对Stack overflow 进行批注,然后存储在数据库中,然后发送到我们的用户计算机以显示。 让我们假设,作为该批注的一部分,该批注被编码为JSON,然后被调用到 Eval 。

这就是存在危险的剥削等待的地方,这与我们的用户检查或执行自己的 JavaScript 无关。 如果他们的同事在他们的评论中嵌入恶意 JavaScript,我们称之为 Eval, JavaScript 可能被处决,导致每个浏览页面的计算机都运行恶意代码。

这就是为什么我们应避免使用评估。

问题回答

是的,他们可以通过恶意回击呼叫你的功能 或者...他们可以直接从控制台呼叫恶意回击





相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.

热门标签