xss 相关问题

跨站点脚本(XSS)是Web应用程序中常见的一种计算机安全漏洞,它使恶意攻击者能够将客户端脚本注入其他用户查看的网页中。攻击者可以使用利用漏洞利用的跨站点脚本漏洞来绕过访问控制,例如相同的源策略。

如何在Spring RESTful中创建过滤器来防止XSS?

我从Spring 4.2.6.RELEASE开始使用,后端是休息服务。 现在我无法使用预防 XSS 的过滤器 我的过滤器是: @成分 @订单(1) 公共类 XSSFilter 实现 Filter { @欧维...

回答 2 投票 0

WSO2 身份服务器 6.1.0 上的 CVE-2022-29548

我们正在使用 WSO2 Identity Server 6.1.0,在我们最新的扫描中,据报告包含 CVE-2022-29548:WSO2 管理控制台 XSS。它已经使用“GET /carbon/admin/logi...

回答 1 投票 0

JWT(XSS)与 Cookie(CSRF)?

我是一家初创公司的 Python 后端开发人员。最近,我被要求构建 API 的身份验证系统,我使用 FastAPI 框架实现了基于令牌的身份验证机制(JWT)...

回答 1 投票 0

如何绕过“注入XSS Payload?

我目前正在学习 XSS 攻击,我想知道 - 如果在 标签中双引号被替换为 " 那么如何注入有效负载。 例如 我目前正在学习 XSS 攻击,我想知道 - 如果在 <input> 标签中双引号替换为 &quot; 那么如何注入有效负载。 例如 <input type="text" value="something"> 但是当我尝试执行这个有效负载时" onmouseover="alert(1)然后最终的有效负载变成如下所示 <input type="text" value="&quot; onmouseover=&quot;alert(1)"> 当我检查代码时,它会以这种格式替换 .replace(/"/g,"&quot;")) 这就是它不执行我的有效负载的原因。即使我尝试过双重编码,但它不起作用 %2522 onmouseover=%2522alert(1) 您使用: %2522 onmouseover=警报(1) 代替: %2522 onmouseover=%2522alert(1) 如果您在传递 HTML 时看到“获取转换为”,则通常意味着应用程序正在正确执行输出转义。一般来说,这意味着网络应用程序构建良好。

回答 2 投票 0

apache 2 script-src 内容安全策略中的权限问题

我需要为客户实施内容安全策略。 除了 js 脚本之外,一切都运行良好。我需要允许外部 js 脚本。 我的虚拟主机 apache 中的代码: 标头设置 X-Content-Type-

回答 1 投票 0

JavaScript,这可以启用反射跨站脚本(XSS)攻击

我有这个代码: const 实现 = async (req, res, next) => { const rut = req.user && req.user.nickname.toUpperCase(); const 数据 = req.body; // 错误 !!! if (!rut || !数据...

回答 1 投票 0

JS eval() 和 XSS

如果我用JS编码不可信数据,并将其放入eval()函数中,例如这样: eval('var a="JS_ENCODED_UNTRUSTED_DATA";alert(a);'); 在这种情况下,XSS 怎么可能存在呢? 编辑:要c...

回答 1 投票 0

通过 url 编码输入缓解 XSS

在我的一个减轻 XSS 攻击的应用程序中,我使用 OWASP 的 html 编码器,但不幸的是这还不够。 渗透测试人员发现了反映的跨站点脚本威胁,其中...

回答 1 投票 0

如何保护前端免受由 REST API 数据引起的 XSS?

我有以下情况: 让我们拥有一个带有 POST 端点的 REST API,例如:POST /users。然后我将以下请求正文发送到此端点: { “数据”: { “名字&qu...

回答 2 投票 0

AWS WAF 在尝试上传图像时收到 403 禁止错误

我们在 ALB 之前启用了 AWS WAF 解决方案,并启用了 SQL 注入和 XSS 检测。我们尝试设置自定义规则来检查内容类型是否为 multipart/form-data* 使用 rege...

回答 6 投票 0

OWASP 消毒剂产生意想不到的结果

我正在使用 OWASP sanitizer 对输入数据进行一些清理。以下是我使用的政策 返回新的 HtmlPolicyBuilder() .allowElements("a", "标签&...

回答 1 投票 0

了解滚动到文本片段 (STTF) 泄漏

以下内容涉及CSAW2023 CTF的剧透【CTF已经结束,但还是想警告一下】 背景 在最近的 CSAW2023 CTF 中,在一项名为 Rainbow-Notes 的挑战中,我们获得了一个书面网站...

回答 1 投票 0

如何从 SVG 文件中删除所有 javascript?

我们计划允许用户上传 SVG 文件和图标。问题是 SVG 文件可以包含 JavaScript,因此很容易受到注入攻击。 我们计划允许用户上传 SVG 文件和图标。问题是 SVG 文件可以包含 JavaScript,因此很容易受到注入攻击。 <svg xmlns="http://www.w3.org/2000/svg" width="780" height="550" onload="(function(){ alert('doing something nasty') })()"> 使用 svg 文件时会执行此代码。 我发现了这个很好的库来管理 SVG 文件。这有助于删除诸如 onEVENT='someJs()' 之类的属性;但这仍然无法帮助我晚上入睡。 那么如何巧妙的方式彻底扫除一个SVG文件中的JS代码呢? https://digi.ninja/blog/svg_xss.php详细介绍了这一点。 它指出: 直接查看 - 易受攻击 - 文件直接链接。 通过内容处置直接查看:附件 - 不易受攻击 - 发送标头以强制下载文件。 使用 CSP 直接查看 - 不易受攻击 - 内容安全策略设置为禁止内联 JavaScript。 图像标签 - 不易受攻击 - SVG 通过防止脚本的图像标签引用。 带有 CSP 的标签 - 不易受攻击 - 图像标签和与上述相同的 CSP,实现双重保护。 通过 Inkscape 进行清理 - 易受攻击 - 这是直接视图,但文件已通过以下命令进行处理: inkscape --file="xss.svg" --verb="FileVacuum" --export-plain-svg="sanitised.svg" (预计这会删除 JavaScript,但事实并非如此。) iframe 中的图像 - 易受攻击 - SVG 作为 iframe 的源加载,没有设置特殊属性。 沙盒 iframe 中的图像 - 不易受攻击 - SVG 作为 iframe 的源加载,但沙盒属性设置为 块脚本。 您也可以导出到不存在此问题的其他文件类型。在 Linux 上使用 Inkscape 的 CLI 的示例: inkscape --export-type="png" /home/x/Pictures/example.svg https://wiki.inkscape.org/wiki/index.php/Using_the_Command_Line 在“导出文件”下有更多信息。 编辑:以下项目实际上可以去掉 JavaScript: https://github.com/jakearchibald/svgomg,将自己描述为“SVGO 缺少 GUI”。 SVGO:https://github.com/svg/svgo,在其自述文件中表示“SVG Optimizer 是一个基于 Node.js 的工具,用于优化 SVG 矢量图形文件。”

回答 1 投票 0

如何在 ASP.NET Core 中使用 Markdown 输入验证来防止 XSS

我有一个 markdown 文本区域(就像 stackoverflow 一样),我想允许这样的代码示例: 警报('你好世界') 以及基本的 html 格式,如 b...

回答 1 投票 0

Htmlpurifier 没有在允许的标签中添加一些标签

我想配置 htmlpurifier,以便它允许 html 中的标签。 Htmlpurifier 与标签表、tbody 的白名单不起作用。 官网demo模式下,table标签也是

回答 1 投票 0

XSS 漏洞定位器

我正在 https://www.owasp.org 上阅读一篇有关 XSS 过滤器规避的文章。本文中描述的定位漏洞的方法之一是尝试注入以下内容: '';!--" 我正在https://www.owasp.org阅读一篇有关 XSS 过滤器规避的文章。本文中描述的定位漏洞的方法之一是尝试注入以下内容: '';!--"<XSS>=&{()} 然后,如果文档源中存在与 相反的标签,则该网站容易受到 XSS 攻击。为什么上面的代码片段会绕过一些 XSS 和转义过滤器? 该代码片段试图摆脱属性和标签的束缚,此外它还嵌入了自己的标签。您应该查找 GUI 中 HTML 的消失或格式错误或 JavaScript 中的错误。 为什么上面的代码片段会绕过一些 XSS 和转义过滤器? 事实并非如此。是什么让您认为应该这样做?文字说明了您在哪里找到此内容的? 这允许您检查 HTTP 响应中是否返回未经编码的字符。没有内置的 <XSS> 标签,所以这永远不会运行或触发任何东西,这三个字母只是为了在一堆其他内容中间再次找到你的有效负载,同时也是一个有效的标签,这样你请注意过滤器不会删除 <> 但会删除 <tag>。 旁路注入看起来更像是这样的: ';window['ale'+'rt'](window['doc'+'ument']['dom'+'ain']);// 这避免了从字面上使用诸如“警报”之类的词,因为一些愚蠢的过滤器可能会阻止它(即使攻击者没有使用警报功能:它不允许您窃取任何数据等等,所以这相当惹恼白人帽子测试者与真正的攻击者相比......)。

回答 2 投票 0

允许所有内容安全策略?

是否可以将内容安全策略配置为根本不阻止任何内容?我正在上计算机安全课程,我们的网络黑客项目在较新版本的...

回答 5 投票 0

如何执行过滤小写输入的 XSS 攻击?

我正在尝试学习道德黑客行为。我正在尝试实验室教程,该网站过滤小写输入。网站如下。我可以尝试什么? ...</desc> <question vote="0"> <p>我正在尝试学习道德黑客行为。我正在尝试实验室教程,该网站过滤小写输入。网站如下。我可以尝试什么?</p> <pre><code> &lt;body&gt; &lt;script&gt; function filterInput(input) { return input.replace(/([a-z]+)/g, &#39;&lt;&gt;&#39;); } &lt;/script&gt; &lt;div id=&#34;123&#34;&gt;&lt;/div&gt; &lt;script&gt; function getParameter() { var params= new URLSearchParams(window.location.search); return filterInput(params.get(&#39;message&#39;)); } function onloadFunc() { var message = getParameter(); if (message) { document.getElementById(&#39;123&#39;).innerHTML = message; } } &lt;/script&gt; &lt;script type=&#34;text/javascript&#34;&gt; window.onload = function() { onloadFunc(); }; &lt;/script&gt; &lt;/body&gt; </code></pre> <p>我尝试了alert(1),但这是js函数,它必须是小写的。已经过滤了。</p> </question> <answer tick="false" vote="-1"> <p>所以,你想小写所有字母,然后:</p> <pre><code>let text = &#34;HIiiiii&#34;; let result = text.toLowerCase(); </code></pre> </answer> </body></html>

回答 0 投票 0

JavaScript 字符串中的 XSS 格式

在学习xss时,我发现了一篇关于zseano hackerone ctf的文章。 该帖子展示了在评论部分嵌入警报调用。原谅任何错误,但我的理解是; 那里...

回答 1 投票 0

如何使用 CSP 仅阻止通过 HTML 元标记进行重定向

场景 假设有以下 HTML 标记,这是成功 XSS 注入尝试的结果: 场景 假设有以下 HTML 标记,这是成功 XSS 注入尝试的结果: <!-- this meta tag was successfully injected/prepended --> <meta http-equiv="refresh" content="3; URL=https://evil.anyhost.it/"> <!-- original markup of the site --> <html> <head> <title>...</title> <script src="/assets/app.js" type="module"></script> </head> <body>...</body> </html> 使用以下内容安全策略将阻止 <meta http-equiv="refresh"> 重定向,但也会拒绝加载任何有效脚本,例如 /assets/app.js。 Content-Security-Policy: default-src 'self'; object-src 'none'; base-uri 'none'; sandbox; 当使用CSP声明sandbox allow-scripts allow-same-origin时,可以加载并执行/assets/app.js处的脚本,但也允许再次重定向。 问题 哪个内容安全策略会阻止 HTTP 重定向(由注入的 <meta http-equiv="refresh"> 负载启动),但仍允许有效的同源脚本?谢谢! 为了实现阻止由注入的 <meta http-equiv="refresh"> 负载发起的 HTTP 重定向的目标,同时仍然允许有效的同源脚本,您可以利用 script-src 标头中的 Content-Security-Policy 指令以及 'unsafe-inline' 值来授权来自同一来源的内联脚本。不过,请记住,允许 'unsafe-inline' 确实会带来安全隐患,因此在使用此方法时请务必小心。 这是您可以使用的 Content-Security-Policy 标头: Content-Security-Policy: default-src 'self'; object-src 'none'; base-uri 'none'; script-src 'self' 'unsafe-inline'; sandbox; 说明: default-src 'self';:指定只能从同源加载资源。 object-src 'none';:避免加载任何插件或嵌入式资源。 base-uri 'none';:禁止使用 <base> 标签建立不同的基本 URL。 script-src 'self' 'unsafe-inline';:授予脚本从同一源执行的权限,包括内联脚本(通过'unsafe-inline')。这对于执行合法脚本/assets/app.js至关重要。 sandbox;:为内容强制实施沙箱环境。 通过使用 'unsafe-inline' 授予内联脚本权限,您实际上允许任何内联脚本在页面上执行。这引入了潜在的安全漏洞,因为注入页面的任何恶意脚本也可能运行。彻底检查和验证作为内联脚本执行的内容至关重要。 请记住,安全涉及权衡,并且应在清楚地意识到所涉及的风险的情况下允许'unsafe-inline'。如果可行,请考虑使用随机数或哈希来允许特定的内联脚本,同时最大限度地降低代码注入的风险。 假设数据库中的数据符合所提供的条件,您在TropicalRepository中编写的查询方法应该可以正确运行。尽管如此,您的查询方法参数名称中存在一个较小的拼写错误。您使用了 retro 而不是 isRetro。 Java 命名约定通常使用布尔字段的“is”前缀,因此您的方法应为: Tropical findByHouseIsAndSignAndIsRetroAndLang (Integer house, String sign, Boolean isRetro, String lang); 如果您的查询仍未产生预期结果,您可以检查以下几个方面: 数据匹配:验证数据库中的数据是否与您尝试检索的条件精确对应。确认house、sign、isRetro、lang的值是否与查询方法中传入的值完全相同 数据库配置:验证您的数据库是否已正确配置并链接到您的 Spring Boot 应用程序。 Logging:激活 Spring Data JPA 查询日志记录以观察正在生成和执行的实际 SQL 查询。您可以将以下属性附加到您的 application.properties 或 application.yml 文件中: logging.level.org.springframework.data.jpa=DEBUG 这将在应用程序日志中显示 SQL 查询,帮助识别任何问题。 命名约定:重新确认Tropical实体类中的字段名称。字段名称的大小写应与查询方法中使用的大小写匹配。 Java 区分大小写。 数据类型:验证查询方法中参数的数据类型与实体类中对应字段的数据类型是否一致。 NULL 值:如果任何字段(house、sign、isRetro、lang)可以采用 null 值,您可能需要在查询方法中处理此问题。例如,如果 isRetro 是 null,则查询将不会匹配任何记录。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.