code-injection 相关问题

代码注入是缺少中和或外部影响输入的特殊元素的不正当中和的结果的通用术语,其可以修改预期代码的语法或行为。

使用 Chromedp 进行事件注入的安全良好实践

我正在运行 Chrome 并在服务器应用程序中使用 Chromedp 驱动它。我需要接收键盘和鼠标事件的客户端请求并在 chrome 上触发这些事件。请求以 json 形式出现

回答 1 投票 0

如何使用正则表达式或其他方式防止wso2 apim中的xml和html注入?

在WSO2 APIM中,我们可以使用正则表达式过滤来防止xss和sql、xml、html注入。 我发现我们不能使用“”甚至“<”半...

回答 1 投票 0

SQL注入攻击。最好的防御审查

在过去的几天里,我的日志显示我的系统受到了攻击。不知道他们到底想达到什么目的? 他们似乎只通过 GETS 和 POSTS 来攻击我的样式表...

回答 1 投票 0

确定XSS攻击漏洞

我正在经历无情的 XSS 攻击,但我似乎无法阻止。我的网站上总共有三个输入表单 - 一个用于上传图像,一个用于向页面添加评论,还有一个...

回答 3 投票 0

颜色选择器中的 CSP 和内联样式

我在我的网站上使用 CSP 来尽可能保持锁定状态。我的网站上有一个 HTML 编辑器,我希望允许用户从颜色选择器中选择文本颜色。这涉及...

回答 1 投票 0

Android Koin 注入具有多个相同类参数的视图模型失败

我正在关注她所说的文档https://insert-koin.io/docs/reference/koin-android/viewmodel/#viewmodel-and-injection-parameters 唯一的区别是我的视图模型有 2 个(除了注入 Koin

回答 2 投票 0

如何修复base64_encode和base64_decode以避免注入?

我正在使用带有base64_encode 和base64_decode 的WordPress 主题选项。由于base64_有代码注入的风险,需要更改该代码。 实际上我不知道该怎么做。 代码

回答 1 投票 0

如何通过Chrome扩展程序将service-worker.js注入网页?我想为现有页面添加离线功能

目标: 我想通过 Chrome 浏览器扩展程序向在线网页添加离线功能。 总而言之: [✔️] CSS注入 [✔️] 自定义JS注入 [✔️] JS 资产来自 网页内部重定向...

回答 1 投票 0

带反斜杠的 SQL 注入

这是示例代码: 包括(“db_connect.php”); // 函数 foo($string){ $s_array = array("'", '"'); $result = str_replace($s_array, "\", $string); 返回$结果; } // $first_var = ...

回答 1 投票 0

相当于 C# 中的 -javaagent?或者:在 C# 中使用 java 框架的方法

这可能是我应该能够自己弄清楚的事情,但我运气不太好,所以我想我会问。 问题:我正在将系统从 java 转换为 C#,他们使用 java 框架...

回答 1 投票 0

Angular17 中独立组件的 Toastr 实现

我一直在尝试将“toastr”添加到我的 Angular17 项目中,但将其注入到我的组件中不起作用。我使用 AngularCLI 添加了它。 我收到下一个错误: 错误错误[

回答 2 投票 0

调用 (&) 运算符比 Invoke-Expression 更不容易受到代码注入攻击吗?

PowerShell 函数需要运行一个 .exe,其位置在设计时未知,因为它是 NuGet 包的一部分。如果我使用 Invoke-Expression 运行它,则 PSScriptAnalyzer 会发出警告

回答 1 投票 0

调试程序集以调用 IUnknown::Release - 阴影空间正确吗?

我遇到一个错误,有时此代码可以工作,有时却不能: 48 8B 41 08 ; MOV RAX, [RCX + 0x08] 获取引用计数 48 FF C8;十月 RAX ;递减

回答 1 投票 0

JS:为书签脚本注入 BoundFunctionObject

假设我正在编写一个书签脚本来修改网页。大多数网站(使用 webpack 等)都遵循这样的结构: <question vote="1"> <div> </div> <p>假设我正在编写一个书签脚本来修改网页。大多数网站(使用 webpack 等)都遵循这样的结构:</p> <pre><code>&lt;html&gt; &lt;script type=&#34;text/javascript&#34;&gt; const buttonClicked = (() =&gt; { let internal_variable = 0; const _internal_buttonClicked = () =&gt; { internal_variable++; document.getElementById(&#34;myButton&#34;).innerText = `Clicked ${internal_variable} times!`; }; return _internal_buttonClicked.bind(this); })(); &lt;/script&gt; &lt;body&gt; &lt;button id=&#34;myButton&#34; onclick=&#34;buttonClicked()&#34;&gt;Clicked 0 times!&lt;/button&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>我想访问 <pre><code>internal_variable</code></pre> 并将其设置为 -100。使用调试器,这很简单;我在<pre><code>_internal_buttonClicked()</code></pre>里面断点,然后直接改<pre><code>internal_variable</code></pre>。</p> <p>我怎样才能做到这一点而不</p> <ul> <li>(手动)使用调试器</li> <li>拥有页面源的所有权(例如,我可以在本地对其进行修改,但我不能只发送拉取请求以将挂钩添加到脚本中)</li> <li>使其成为对 DOM 的纯粹视觉更改?</li> </ul> <p>我知道简单的答案是“你不能,故意”,但我愿意接受任何迂回的解决方案,涉及浏览器扩展/特权执行的解决方案,特定于<pre><code>require</code></pre>的解决方案等</p> <p>相关:</p> <ul> <li><a href="https://stackoverflow.com/questions/42602954/how-to-get-parameters-that-have-been-bound-by-javascripts-bind-function">如何获取JavaScript的.bind()函数绑定的参数</a></li> <li><a href="https://stackoverflow.com/questions/11192875/is-it-possible-to-gain-access-to-the-closure-of-a-function">是否可以访问函数的闭包?</a>(此处的最佳解决方案取决于成为第一个加载的脚本,这对于小书签来说通常是不可行的?有没有办法使页面重新加载并注入将脚本放入刷新页面的顶部?)</li> </ul> </question> <answer tick="false" vote="0"> <p>无法为 <pre><code>internal_variable</code></pre> 分配新值,因为它不在您的代码范围内。您也不能将新函数分配给 <pre><code>buttonClicked</code></pre>,因为它是一个常量。</p> <p>但根据实际情况,你可以采取其他一些方法。以下是一些适用于您的示例案例的内容:</p> <h2>1.覆盖<pre><code>innerText</code></pre></h2> <p>让它更改按钮上显示的数字,方法是始终从即将显示的值中减去 100。</p> <p>你的代码会有这样的:</p> <pre><code> Object.defineProperty(document.getElementById(&#34;myButton&#34;), &#34;innerText&#34;, { set(text) { // Subtract 100 from the number in the text &#34;Clicked &lt;number&gt; times!&#34; text = text.replace(/(Clicked )(\d+)( times!)/, (_, a, b, c) =&gt; a + (b - 100) + c); // Call the prototype setter for innerText Object.getOwnPropertyDescriptor(HTMLElement.prototype, &#34;innerText&#34;).set.call(this, text); } }); </code></pre> <p>扁平化为小书签:</p> <pre><code>javascript: {Object.defineProperty(document.getElementById(&#34;myButton&#34;),&#34;innerText&#34;,{set(text) {text=text.replace(/(Clicked )(\d+)( times!)/,(_,a,b,c)=&gt;a+(b-100)+c);Object.getOwnPropertyDescriptor(HTMLElement.prototype,&#34;innerText&#34;).set.call(this, text);}});} </code></pre> <h2>2.创建一个新函数<pre><code>buttonClicked2</code></pre></h2> <p>它应该有对计数器进行修改的代码。然后将每次调用 <pre><code>buttonClicked</code></pre> 更改为 <pre><code>buttenClicked2</code></pre>。这里我假设就像示例中一样,此类引用仅存在于按钮的 <pre><code>onclick</code></pre> 属性中。此调用的位置越多,您可能需要复制为新函数的函数就越多,还需要重新连接对 <em>that</em> 函数的引用,...等。但这里只有 <pre><code>onclick</code></pre> 属性受到影响:</p> <pre><code> var buttonClicked2 = (() =&gt; { let internal_variable = -100; // Our update const _internal_buttonClicked = () =&gt; { internal_variable++; document.getElementById(&#34;myButton&#34;).innerText = `Clicked ${internal_variable} times!`; }; return _internal_buttonClicked.bind(this); })(); // Redirect the click document.getElementById(&#34;myButton&#34;).setAttribute(&#34;onclick&#34;, &#34;buttonClicked2()&#34;); </code></pre> <p>扁平化为小书签:</p> <pre><code>javascript: {var buttonClicked2=(()=&gt;{let internal_variable=-100;const _internal_buttonClicked=()=&gt;{internal_variable++;document.getElementById(&#34;myButton&#34;).innerText=`Clicked ${internal_variable} times!`;};return _internal_buttonClicked.bind(this);})();document.getElementById(&#34;myButton&#34;).setAttribute(&#34;onclick&#34;, &#34;buttonClicked2()&#34;);} </code></pre> <h2>3.创建一个页面填充 <pre><code>&lt;iframe&gt;</code></pre></h2> <p>在其中 <pre><code>&lt;iframe&gt;</code></pre> 放置当前的 HTML,但修改您想要的代码。因此,页面将重新加载,但经过您的修改并显示为 <pre><code>&lt;iframe&gt;</code></pre>。</p> <pre><code>if (window === top) { // Patch the HTML let html = document.documentElement.innerHTML .replace(&#34;internal_variable = 0;&#34;, &#34;internal_variable = -100;&#34;); let iframe = `&lt;body style=&#34;margin:0&#34;&gt;&lt;iframe style=&#34;display:block;border:0;height:100%;width:100%&#34;&gt;&lt;/iframe&gt;&lt;/body&gt;`; // Replace the current document with just an &lt;iframe&gt; document.write(iframe); // Write the patched HTML to the frame document document.querySelector(&#34;iframe&#34;).srcdoc = html; } </code></pre> <p>扁平化为小书签:</p> <pre><code>javascript: if(window===top){let html = document.documentElement.innerHTML.replace(&#34;internal_variable = 0;&#34;, &#34;internal_variable = -100;&#34;);let iframe = `&lt;body style=&#34;margin:0&#34;&gt;&lt;iframe style=&#34;display:block;border:0;height:100%;width:100%&#34;&gt;&lt;/iframe&gt;&lt;/body&gt;`;document.write(iframe);document.querySelector(&#34;iframe&#34;).srcdoc=html;} </code></pre> <h2>限制</h2> <p>上述每种解决方案都有其局限性。其中之一是否适合现实生活中的情况将在很大程度上取决于页面的功能。</p> </answer> </body></html>

回答 0 投票 0

SQLITE数据库文件能否用于攻击

我正在实现一个 Web 服务客户端,该服务提供多种下载选项 - CSV、JSON、Parquet 和 SQLITE“.db”。响应数据集有少量表格数据集 - SQLITE ...

回答 1 投票 0

quarkus 中的外部模块 bean 注入

我想从 quarkus 应用程序中的外部模块(maven 项目)注入 bean,但我获取了这个 jakarta.enterprise.inject.UnsatisfiedResolutionException: 如何摆脱这个 我扫描

回答 1 投票 0

VSCode 扩展 - 语法注入多种语言

我希望我的扩展同时适用于 HTMl 和 Markdown。 我明白我可以使用 “注入”:[ “text.html.derivative” “文本.html.markdown” ], 但这并不...

回答 2 投票 0

我们可以在 Visual Studio 中配置断点,以便在每个断点期间执行一行代码(假设为函数调用)吗?

我只是想知道我们是否可以在Visual Studio 2015中配置(最好是C#代码的形式)断点,这样,每当在流程执行过程中遇到它时,它必须执行一个l...

回答 1 投票 0

将属性中的值注入接口字段

是否有在界面字段上插入属性的选项?我尝试过类似的方法,但没有成功。 公共接口服务路径配置{ @Value("${默认连接超时}"...

回答 3 投票 0

防止Cron中恶意执行

我使用cPanel和apache。 我在我的服务器中看到这个过程: opt/cpanel/ea-php74/root/usr/bin/php -ddisable_functions= /tmp/codeItems3 根17549 0.0 0.0 27180 972?周四 4 月 16 日 0:00

回答 1 投票 0

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