【问题标题】:Secure URL/application安全 URL/应用程序
【发布时间】:2013-08-04 15:33:02
【问题描述】:

我在看这篇文章

http://msdn.microsoft.com/en-us/magazine/hh708755.aspx

与保护 Asp.net 应用程序有关,但有一件事我无法理解,例如我正在浏览 url http://www.abc.com/XSS.aspx?test=ok,如果我将其替换为 http://www.abc.com/XSS.aspx?test=alert('hacked')...不安全或被黑?我想在这里说明的是它不会影响或影响网站?

我上面提到的例子,在很多地方都提到了安全性,但是没看懂

【问题讨论】:

  • 这不仅仅是一个 JavaScript 问题,如果 test's 值用于查找某些内容,例如在 SQL,并且没有正确清理,攻击者可以对您的数据库做任何他们想做的事情;添加/删除/删除/查看等

标签: javascript asp.net xss friendly-url javascript-injection


【解决方案1】:

想象一下,如果您要在您的 html 页面上输出“test”的值(没有为 html 使用正确转义它),那么您可能会在您的页面上注入任何 javascript!一些可能的利用可能会将背景更改为淫秽内容,甚至将您的页面重定向到某些诈骗网站..实际上使您成为某种欺诈的附属品!

始终使用正确的转义符来存储或使用用户提交的信息!!

编辑:我所说的转义将很有用,这样人们就不会在您的数据库中注入 html 或 JS。这最终会导致每个用户在他们的页面上获得注入的 HTML/JS(如果注入的变量对每个人都是相同的)......而不仅仅是注入它的用户!!

【讨论】:

  • 它是否帮助您了解@little 的危险性?
  • 不,我无法理解您的意思,因为 JS 是一种客户端语言。如果更改它,它将影响唯一正在更改/破解它的用户。正确的转义是什么?跨度>
  • 如果网站包含敏感数据,那么攻击者可以使用它来将其发送到其他地方,将当前会话的 cookie 发送到其他地方,甚至“代表”用户执行操作。如果他们真的想要,他们可以伪造一个用户名和密码框,或者使用 ajax 请求等使用户成为分布式 DoS 攻击的一部分
  • @little 已编辑答案以解释更多:如果您要将变量存储在数据库中,那么恶意用户可能会使用 drop 语句删除您的数据库(如果您不转义它)。我正在谈论的转义将很有用,因此人们不会在您的数据库中注入 html 或 JS。这最终会导致每个用户在他们的页面上获得注入的 HTML/JS(如果注入的变量对每个人都是相同的)......而不仅仅是注入它的用户!那有帮助吗?如果确实可以随意投票:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 1970-01-01
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多