gpt4 book ai didi

javascript - 这容易受到 XSS 攻击吗?

转载 作者:行者123 更新时间:2023-11-30 16:19:28 25 4
gpt4 key购买 nike

我知道这很容易受到攻击,因为黑客可以嵌入访问站点 URL 的图像,并使用“消息”参数进行各种操作:

<script>
var message = // get message parameter from URL, e.g domain.com?message=hello+there
document.write('Your message: ' + message);
</script>

...但是黑客有什么办法可以用它做任何事情吗(在没有任何其他 JS 的情况下单独使用)?:

<script>
function displayMessage(message) {
document.write(message);
}
</script>

显然,我可以在浏览器中打开控制台并输入任何内容,但黑客能否以某种方式调用 JavaScript 方法(仅使用此代码)?

我知道如果网站在最顶部也有代码,则可以调用该方法,但是可以单独调用一个方法吗?

顺便说一句。我并不是要执行上述操作,它只是帮助我理解这一点。

我尝试了什么?

最佳答案

在第一个代码中,message 是一个不受信任的字符串,可能包含恶意代码。将其解析为 HTML 可能会执行该代码:

var message = '<img src="//" onerror="alert(\'You are pwned!\')" />';
document.write('Your message: ' + message);

第二个代码不同。它只是一个函数,它本身不运行任何东西。

当然,如果你用一个不受信任的字符串调用它,你会遇到和第一个一样的问题。因此,不要那样做。

但是,攻击者不能调用任意函数。好吧,如果他们可以,那就意味着你已经被pwned了,所以这不再重要了。我的意思是,如果攻击者获得了足够的“特权”来调用 displayMessage,为什么还要调用它而不是直接调用 document.write(或其他)?

关于javascript - 这容易受到 XSS 攻击吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34958139/

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