- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道这很容易受到攻击,因为黑客可以嵌入访问站点 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/
所以我试图让(例如)输入一些值:1 -2 -3 2 5正数的数量是 5 负数的数量是 -3总计为 3 平均值为 0.6我想让它像这样,但是当我运行它时,它不起作用哪一部分是错误的??? import
我编写了一个使用 OpenCV 的 cvCalcOpticalFlowLK 的程序。它在低分辨率网络摄像头输入上表现良好,但我需要在全高清流上运行它,并在对每一帧进行光流分析后进行重要的其他计算。处理
如果我有一个 ruby 脚本 Daemon,顾名思义,它作为守护进程运行,监视系统的各个部分并能够执行需要身份验证的命令,例如更改权限,是否存在一个简单的方法来拥有第二个 ruby 脚本,比如
我们有一个基于 Ant 和 Ivy 的构建管理系统,它基本上由一个共享的 ant 文件和一组围绕目录结构的约定组成。 我试图克服的一个障碍是相当常见的“递归发布”情况。比如说,我们有 5 个内部代码模
我在嵌入式 Linux 环境中遇到了问题。尝试确定它是否可以由应用程序引起。应用程序导致内核崩溃/锁定或终止 init 有多容易? 最佳答案 非根应用程序应该不可能影响任何一个。 以 root 身份运
我目前正在尝试学习 Nim(进展缓慢 - 无法投入太多时间)。另一方面,为了获得一些工作代码,我想对我正在 ruby 中开发的 Nim 应用程序的各个部分进行原型(prototype)设计。 由于
我是一名优秀的程序员,十分优秀!