为了账号安全,请及时绑定邮箱和手机立即绑定

使用有意的 HTML 注入创建 HTML

使用有意的 HTML 注入创建 HTML

慕后森 2021-11-04 10:49:23
我是一名网络安全学生,试图了解一些基本的 HTML 注入。我已经研究这段代码几天了,无法理解我做错了什么。我目前拥有的代码确实允许注入,例如,如果我放入<h1>test</h1>文本框,它会将测试显示为标题。但是如果我尝试<script>alert(1)</script>它实际上不会运行脚本。我曾尝试将文本框的值设置为 "" 或认为我可以通过在文本框中输入以下内容来关闭该行:"><script>alert(1)</script>我还尝试通过在末尾添加注释来取消代码的其余部分,如下所示: <script>alert(1)</script><!--我已经尝试了多种组合,但都没有运气。现在我实际上需要能够注入脚本,因为我正在使用 CSP 以及它如何影响将脚本注入网页。我目前没有指定会限制 JavaScript 运行的 csp。我尝试过的其他一些事情包括使用不同的浏览器、更改浏览器安全性以及确保在浏览器中启用 JavaScript。任何帮助将不胜感激!!<html>    <script language='JavaScript'>    function getwords(){        textbox = document.getElementById('words');        label = document.getElementById('label');        label.innerHTML = textbox.value;    }    </script>    <body>        <input type="text" id="words">        <input type="button" onclick="getwords()" id="Button" value="Enter" />        <label id="label">        </label>    </body></html>
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

要从您的表单执行 javascript,您可以尝试:

<iframe src=javascript:alert(1)>

或者

<img src=x onerror=alert(1)>

另外值得注意的是:

script使用插入的元素在插入innerHTML时不会执行。


查看完整回答
反对 回复 2021-11-04
?
HUH函数

TA贡献1836条经验 获得超4个赞

要手动执行 JavaScript,您可以执行以下操作


无需编辑 HTML 文件,将其添加到浏览器的输入字段中。


<iframe onload="alert(1)" style="display:none"></iframe>

关于为什么这在这里起作用的更多信息


有关如何在此处执行此类操作的更多信息:developer.mozilla.org


<html>

    <script language='JavaScript'>

    function getwords(){

        textbox = document.getElementById('words');

        label = document.getElementById('label');

        label.innerHTML = textbox.value;

    }

    </script>


    <body>

        <input type="text" id="words">

        <input type="button" onclick="getwords()" id="Button" value="Enter" />

        <label id="label">

        </label>

    </body>

</html>


查看完整回答
反对 回复 2021-11-04
?
智慧大石

TA贡献1946条经验 获得超3个赞

这是因为<script>s 在页面加载时运行,并且当label的内容更改时,脚本已经运行。

但是,如果您将<script>标签注入不同的页面(通过后端(XSS 意味着跨站点脚本)),它确实有效。

或者,要使其在页面加载后注入内容的场景中工作(如您的情况),您可以使用 JS 事件(如onclick)来运行您的代码:

<div onclick="alert(1)">Click me!</div>

或者,要在没有用户交互的情况下执行它,您可以使用<iframe>'sonload事件:

<iframe onload="alert(1)" style="display:none"></iframe>


查看完整回答
反对 回复 2021-11-04
  • 3 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信