gpt4 book ai didi

javascript - 服务器端 JavaScript 代码注入(inject)攻击

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:04:22 26 4
gpt4 key购买 nike

我们正在开发的 ASP.NET 网站的安全扫描报告了用于搜索的输入字段的以下内容:

"The ctl00%24txtTopQckSearch parameter appears to be vulnerable to server-side JavaScript code injection attacks. The submitted value appears to be placed into a dynamically evaluated JavaScript statement, within a single-quoted context.

The payload '+(function(){if(typeof cb715==="undefined"){var a=new Date();do{var b=new Date();}while(b-a<20000);cb715=1;}}())+' was submitted in the ctl00%24txtTopQckSearch parameter. The application took 7641 milliseconds to respond to the request, compared with 5625 milliseconds for the original request, indicating that the injected JavaScript code caused a time delay.

Please note that to manually reproduce this behavior using the reported request, you will need to change the name of the canary variable, which is currently cb715."

我的问题是:

什么是“服务器端 JavaScript 代码注入(inject)”(相对于客户端注入(inject) -XSS)?

如何手动重新创建上述服务器端攻击?

如何预防?

谢谢!

最佳答案

What is "Server-Side JavaScript code injection" (as opposed to Client-Side Injection -XSS)?

这是一个允许攻击者在您的服务器上(而不是在某人的浏览器中)执行他们的 JavaScript 代码的漏洞。

How can I manually recreate the server side attack described above?

报告指的是一个txtTopQckSearch控件并说它传入了值 +(function(){if(typeof cb715==="undefined"){var a=new Date();do{var b=new Date();}while(b-a<20000);cb715=1;}}())+用于该控件。

所以你可以尝试重新创建它

  1. 找出哪个页面正在使用具有该名称的控件
  2. 将该 JavaScript 输入该控件(但将两次出现的 cb715 更改为不同的名称)
  3. 提交页面

如果扫描结果正确,则该请求的时间应该比不使用该值的请求稍长。

How can it be prevented?

追踪 txtTopQckSearch控制并确保通过该控件接收的值永远不会连接到在您的服务器上执行的任何代码中。

我认为这完全有可能是一个转移注意力的问题,并且由于您的服务器上的一些波动,请求花费了更长的时间(该页面的“安全”请求花费了 >5 秒的事实表明该页面可能有一些性能问题)。

怀疑这是一个转移注意力的一个很好的理由是,如果该代码在您的服务器发回响应之前已经运行完成,则响应时间的差异应该是 20 秒,而不是到扫描观察到的 2 秒差异。

因此调查该控件是否存在任何可能的安全漏洞,如果没有,则暂时将其作为误报注销。

关于javascript - 服务器端 JavaScript 代码注入(inject)攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27879131/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com