当前位置: 首页 > 知识库问答 >
问题:

客户潜在 XSS 未经适当消毒或验证

曹疏珂
2023-03-14

我在代码上的检查马克思扫描中收到以下消息。获取文本元素的用户输入。然后,该元素的值在没有经过适当清理或验证的情况下流过代码,并最终在方法中显示给用户。下面是我的代码。可以帮助我如何清理以下场景吗?

脚本如下:

function setSummary(select,summary,lim, summaryHidden, limHidden) {
    if(select[select.selectedIndex].value == '-1') {
        summary.innerHTML = '';
        lim.innerHTML = '';
        summaryHidden.value = '';
        limHidden.value = '';
    } else {
        summary.innerHTML = 'Test1 - '+select[select.selectedIndex].text;
        summaryHidden.value = 'Test2 - '+select[select.selectedIndex].text;
        lim.innerHTML = 'Virtual - '+select[select.selectedIndex].text;
        limHidden.value = 'Virtual - '+select[select.selectedIndex].text;
    }
}

我在下面的行中得到checkmarx漏洞,原因是没有经过适当的清理或验证

summary.innerHTML = 'Test1 - '+select[select.selectedIndex].text;

请帮我一些,如何正确清洁上面的线路。

共有1个答案

郦祺
2023-03-14

这是否是可利用的,实际上取决于如何调用该函数的上下文,对象< code>select来自哪里(以及它是如何填充的——这是外部可控制的吗?)

无论如何,这里最简单的解决方案是将值设置为innerText属性,而不是innerHTML,如下所示:

summary.innerText = 'Test1 - ' + select[select.selectedIndex].text;
 类似资料:
  • 2005 年 10 月 14 日, Samy worm1 成为第一大使用跨站脚本 2(XSS)进行传播感染的蠕虫。一夜之间,蠕虫在世 界最流行的社交网站 MySpace.com 上,更改了超过一百万个人用户个人资料页面。

  • 这非常相似,但我的问题不同:对于非OK响应,返回带有IHttpActionResult的内容 考虑到问题不同,我要求一个更简洁的答案,如果存在的话。 我的架构如下: 对后端控制器的Javascript/jQuery调用 后端控制器调用WebAPI服务。 WebAPI服务查询数据库(etc)并返回数据 我有以下简化代码(网络 API)... 示例1:如果产品id不存在,则返回错误: 示例2如果产品i

  • 取消验证也被称为解除身份验证攻击。这种攻击非常有用,这种攻击允许我们断开任何设备与范围内的任何网络的连接,即使网络具有加密或使用密钥。 在解除身份验证攻击攻击中,我们假装是客户端并通过将我们的MAC地址更改为客户端的MAC地址,并向路由器发送我们想要断开连接的路由器来向路由器发送解除认证数据包。与此同时,我们将伪装成路由器,将我们的MAC地址更改为路由器的MAC地址,直到我们请求断开连接的客户端为

  • 刚刚做了大疆的笔试题,难度应该算正常吧。 选择题应该就是八股文,但是平时也没有积累,基本不会。 算法题也是简单类型, 第一题是一个模块依赖题,说什么模块之间有依赖关系,要按照字典顺序输出。 第二题是优化问题,优化无人机的运行路径。