gpt4 book ai didi

javascript - 跨站脚本注入(inject)

转载 作者:数据小太阳 更新时间:2023-10-29 05:13:01 27 4
gpt4 key购买 nike

我正在测试一个网络应用程序。我想编写一个 XSS 脚本,它将显示一个警报 “Hello”

我写的第一个脚本是:

<script >alert("Hello");</script > 

但没有显示警告 "Hello"。我发现有效的 XSS 脚本是

<SCRIPT >alert(String.fromCharCode(72,101,108,108,111,33))</SCRIPT >

我想知道为什么第一个脚本不起作用。

最佳答案

很可能该站点用 HTML 实体替换了双引号,或者试图以某种其他方式转义它们,使它们不适用于 JavaScript。使用 String.fromCharCode(...) 时您不必使用任何引号,因此它会起作用。它获取字符串字符的 ASCII 代码列表,并在运行时从中创建一个字符串。因此无需任何引用。

避免这种XSS的正确方法是替换<&lt; - 这样根本无法创建脚本标签。

请注意 > , "&在清理包含 HTML 的数据时,也应该用它们各自的 HTML 实体替换!然而,只有<假设在 HTML 属性中不能使用不受信任的数据(这是 " 需要清理的地方),绝对需要击败 XSS 攻击

关于javascript - 跨站脚本注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15135678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com