Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 162|回复: 0

以下是来自词典网站的示例:

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2024-1-28 14:41:23 | 显示全部楼层 |阅读模式
复制 现在默认情况下没有浏览器在标题标签内执行代码因此开发人员可能认为在标题中显示未经处理的数据是安全的。精心设计的输入数据可以转义标题标签并注入类似这样的脚本 复制 120+ 原生 React UI 组件与 Next.js 完全兼容 尝试 KENDOREACT 其他经常被忽视的页面是错误页面和错误消息。您的 404 页面是否在屏幕上回显输入的错误 URL?如果是那么它需要首先处理该输入。一个银行网站最近有类似于以下的代码[ 2 ](在本例中他们使用了 A复制 该errmsg参数不是来自表单而是来自服务器端重定向。开发人员认为由于该 URL 来自服务器因此它是安全的。 页面底部的广告/分析部分也经常无法正确处理。也许是。

因为提供了样板代码并且它可以正常工作。正如以下来自旅游网站的示例所示您不应该信任任何人其中包括样板代码:复制 在这种情况下需要验证输入数据是否可以在 JavaScript 上下文中使用因为这是数据回显的地方。在这种情况下您会扫描哪些元字符?你会引用它们还是 购买电话号码列表 剥离它们?答案取决于上下文只有您(页面的开发人员或所有者)知道正确的上下文是什么。 不同的上下文  现在就像我们之前提到的输入可能会在不同的上下文中使用并且需要根据其使用的上下文进行不同的处理。有时数据会在多个上下文中使用并且可能需要针对每种情况进行不同的处理。我们来看几个案例。 HTML 上下文  在 HTML 上下文中数据作为内容的一部分写入 HTML 页面例如标记内<p>。示例包括搜索结果页面、博客评论系统、。



dictionary.com 的每日单词等。在此上下文中所有 HTML 元字符都需要进行编码或剥离。这主要是<和>但使用 可能更安全而且可能是最安全的。在尝试对数据进行编码之前请确保您知道数据采用的字符集。 在某些情况下您可能希望允许某些 HTML 标签例如在CMS工具或评论系统中。这通常是一个坏主意因为出错的方法比正确的方法多。例如假设您的博客系统允许评论者使用一些简单的标签(如<q>和 )来标记他们的评论<em>。现在一位快乐的评论者出现了并将以下代码添加到他的评论中: <q>...</q> 复制 你刚刚被 XSS 攻击了。如果您要允许标签的子集请从这些标签中删除所有属性。更好的想法是使用 CMS 特定语法例如BBCode您的后端可以将其转换为安全标签。 在 Smashing 杂志上。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-9-15 07:22 , Processed in 0.080908 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表