这个 XSS 有效载荷中的 ;(1 有什么需要?

信息安全 xss
2021-09-02 06:33:14

在 XSS 攻击(出于渗透测试原因的概念证明)中,将以下字符串附加到 url:

;alert(String.fromCharCode(88,83,83));(1

我了解它的;alert(String.fromCharCode(88,83,83))作用(它只是创建一个警告对话框,上面写着“XSS”)。我不明白为什么它需要;(1它才能工作。

最后一段文字需要什么?还有为什么有数字1?我尝试了字母和不同的数字,但都有效。

1个回答

在我看来,

;in;(1仅用于结束警报标签。

而且由于您没有提到您在哪个上下文中使用此有效负载,因此最好说它(只是开始,因为之后必须有另一个),以便两个括号可以匹配。

另外,当您担心 1 时,我认为您可以在那里写任何东西“aaa”“blahblahblah”也可以。

PS您自己在问题中提到数字和字符串都有效。当您使用此有效负载时,只需在响应中检查它的插入位置。这样您就可以自己看到一个括号如何用于关闭另一个括号以做出有效的陈述。干杯..:)