通过影子根突破注入

Breach injection through shadow root

我不是 JS 程序员。我自己没有足够的技能来测试它,所以寻求帮助。 是否可以将脚本或 HTML 标记注入 shadow_root 元素以检查网络上的漏洞?

例如<script>alert("alert");</script>

也许使用 <content> 之类的其他东西?

主要问题:可不可以?

另外一个问题:如何?

根据我在评论中可以挖掘的内容,您想知道您的用户是否可以在您的网站页面中注入代码。答案是肯定的,用户有权利玩他面前的DOM。简单的方法是打开您最喜欢的浏览器的开发者工具。

自己动手...在此处打开您的开发人员工具window,到达控制台并写入

document.write("<script>alert(\"alert\");</script>");

如您所见,您甚至可以直接在 Whosebug 上更改任何内容。但这绝对不会对他人造成伤害,只会对你造成伤害。虽然你可以在 SO 上做到这一点,但这意味着它根本不安全!只是您的浏览器可以完全控制它收到的内容...

现在,问题应该更多地是如何检测我的应用程序中可能有害的注入点。

答案很简单,永远不要相信客户的输入。服务器应该始终验证输入,并确保没有可能的数据库注入。在显示用户提供的内容时,还应确保没有隐藏的代码标记,这些代码标记会被查看网页的用户的浏览器 运行。

Whosebug 不适合这种知识共享。我建议您阅读有关网站安全的一般信息,然后找到与您的技术堆栈相关的更深入的资源以及您对用户输入的使用情况。

此外,如果您是为了一项真正的工作任务而提出此要求,那么您已经得到了。最重要的事情是告诉你的经理你不适合这项任务。不是因为你缺乏天赋,而是因为你缺乏知识。这说明你很聪明,把任务看得很重要(security IS very important),不愿意拿公司名誉做游戏。

如果您想知道如何最好地向您的上级解释这一点,请参阅 workplace.stackexchange.com