javascript - =_= 在 JavaScript 或 HTML 中是什么意思?

标签 javascript xss

阅读本文XSS cheat sheet ,我注意到一个我从未见过的特殊用法:

<img src="/" =_=" title="onerror='prompt(1)'">
“=_=”是什么意思?它在“鼠标悬停”这句话的下方。

最佳答案

它只是元素上的一个属性。它本身没有任何意义,所以它可能只是作为一条红鲱鱼出现。
美化,代码是:

<img
  src="/"
  =_=" title="
  onerror='prompt(1)'"
>
在 HTML 中,=在属性中指定属性名称和属性值之间的分隔符,所以它是:
=_=" title="
^^ attribute name

=_=" title="
  ^ delimiter between attribute name and attribute value

=_=" title="
   ^ attribute value contents delimiter

=_=" title="
    ^^^^^^^ attribute value

=_=" title="
           ^ attribute value contents delimiter
如果需要,您可以检索属性值。

const img = document.querySelector('img');
console.log(img.getAttribute('=_'));
<img
  src="/"
  =_=" title="
  onerror='prompt(1)'"
>

注意属性名是=_ ,而不是 =_= - 决赛 =是分隔符,而不是属性名称的一部分。
“XSS”仅由 src 引起和 onerror ,而不是其他任何东西。无论您在哪里遇到这种情况,=_可能根本不做任何事情。它可以,但它可能不会。

<img src="/" onerror='prompt(1)'">

关于javascript - =_= 在 JavaScript 或 HTML 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70457546/

相关文章:

javascript删除行匹配模式

javascript - 为什么变量名在同一行声明两次?

javascript - 等待 bluebird Promise 内的可选流程操作

javascript - 如何使用 angularjs 将样式应用于字符串中使用的分隔管道?

javascript - phonegap连接mysql数据库的方法

security - 单独使用 nginx 进行简单的 CSRF 保护

javascript - 什么是基于 DOM 的 XSS?

xss - 什么时候最好清理用户输入?

javascript - 错误 : Permission denied to access property "document"

javascript - 在 INPUT 元素中设置不执行 javascript 的特殊字符