【问题标题】:Interpreting JavaScript security scan warning解释 JavaScript 安全扫描警告
【发布时间】:2012-01-11 18:10:25
【问题描述】:

在我的网站上运行 Acunetix 会显示以下严重漏洞

URL 编码的 GET 输入用户名设置为“ onmouseover=prompt(994492) bad=" 输入反映在双引号之间的标签元素内。

我试图弄清楚可以用这个做什么。我对编码相当陌生,正在寻找一些技巧。可以输入什么作为被视为恶意的用户名?输入的代码不会只在客户端PC上运行而不在服务器上运行吗?

例子?解决方案?抱歉,我只包含了我认为它所引用的内容。如果我的网站有被利用的危险,链接到我的网站不是很糟糕吗?

<form name="loginForm" action="LoginName.asp" method="post">
      <fieldset>
      <label for="username">User</label>
      <input type="text" name="username" value=""/>
      <label for="password">Password</label>
      <input type="password" name="password"/>

      </fieldset>
  <input type="hidden" name="originalURL" value="">
      <input type="submit" value="Login" class="form-btn" />
</form>

它似乎不喜欢用户名或 OriginalURL,并表示“恶意用户可能会将 JavaScript、VBScript、ActiveX、HTML 或 Flash 注入易受攻击的应用程序中,以欺骗用户以从他们那里收集数据。攻击者可以窃取session cookie 并接管帐户,冒充用户。也可以修改呈现给用户的页面内容。"

【问题讨论】:

  • 请引用它抱怨的标记。
  • 请编辑您的问题以添加指向该站点的链接和/或 HTML 相关部分的示例。
  • @dgvid:相关标记必须在问题中,而不仅仅是链接。更多:meta.stackexchange.com/questions/118392/…

标签: javascript login vbscript


【解决方案1】:

任何可以替换您的 SQL 代码的东西(搜索 SQL 注入)。可能作为输出 HTML 写入屏幕的内容。您可以通过转义输入数据来控制这两种情况。

【讨论】:

  • 我已对其进行了调查,但无法正确执行任何操作。我假设这只是误报。
  • 可能是。但是,调查安全性可能受到损害的东西永远不会受到伤害。 :)
【解决方案2】:

查找交叉视线脚本、javascript 注入和 sql 注入以了解对您系统的一些攻击。

在转发到您的服务器之前,应验证所有用户输入并将其视为不受信任的数据。

【讨论】:

  • 我们需要更多信息才能准确评估您的漏洞。
  • 还有哪些有用的信息?
【解决方案3】:

您没有引用标记,但我猜测您的“用户名”输入有一个格式不正确的 input 标记。例如,它可能缺少 value 属性上的结束 ",而您看到的引用文本就是它后面的内容。

输入的代码不会只在客户端 PC 上运行而不在服务器上运行吗?

这完全取决于你用它做什么。如果你将它传递给其他解释它的东西(例如,解释 SQL 的数据库),那么你就会以这种方式进行攻击。这种特殊类型的攻击称为 SQL 注入攻击 (article | cartoon)。

【讨论】:

    猜你喜欢
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 2017-02-06
    相关资源
    最近更新 更多