gpt4 book ai didi

javascript - 谁能解释一下这些 XSS 测试字符串?

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

最近我发现了这篇关于 XSS 和 Web 应用程序安全的教程 -> https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#XSS_Locator

一开始有一些字符串要注入(inject),以测试站点是否容易受到 xss 攻击。这些字符串是:

';alert(String.fromCharCode(88,83,83))//';alert(String.fromCharCode(88,83,83))//";
alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//--
></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>

'';!--"<XSS>=&{()}

我知道 XSS 的基本概念,但在这里我无法理解为什么在第一个字符串中重复出现 'alert(String.fromCharCode(88,83,83))' 以及为什么那些 //'; //"; //--> 需要注释(在搜索 xss 错误时以这种方式使用它们是否意味着一些特殊的东西? ).在第二个字符串中,&{()} 序列的目的是什么?

谁能用具体示例向我解释这两个字符串应该如何工作才能检索网络应用程序中的 xss 错误?因为在我链接的网站上没有给出任何解释......

最佳答案

这看起来像是在尝试几种不同的注入(inject),所以我将尝试一次分解它们:

第一次注入(inject)

';alert(String.fromCharCode(88,83,83))//

此注入(inject)尝试终止 JavaScript 字符串文字(使用 ' ),然后终止语句(使用 ; )并调用 alert(String.fromCharCode(88,83,83))这将导致包含“XSS”的弹出框。以下//是试图“注释掉”语句的其余部分,这样就不会发生语法错误并且脚本会执行。

第二次注入(inject)

";alert(String.fromCharCode(88,83,83))//

像第一次注入(inject),但它使用 "试图终止 JavaScript 字符串文字。

第三次注入(inject)

--></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>

这会尝试做以下事情:

  1. 终止 HTML(或 XML)注释(使用 --> )
  2. 终止现有 <SCRIPT>使用 </SCRIPT> 标记
    • 这样做是为了防止注入(inject)的脚本导致语法错误,语法错误会阻止注入(inject)的脚本执行。
  3. 终止 HTML 属性和标签,使用 ">
  4. 终止 HTML 属性和标签,使用 '>
  5. 使用 <SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT> 注入(inject) JavaScript

第四次注入(inject)

'';!--"<XSS>=&{()}

这是一个常用字符串,用于测试在用户输入上使用了哪些过滤器和/或编码(如果有的话)。通常,此注入(inject)后的页面源将包含 &lt;XSS<XSS .如果找到第二个,应用程序很可能没有过滤用户输入(因为它允许添加任意标签)并且很可能容易受到 XSS 攻击。


回答您更直接的问题:

why there's that repetition of 'alert(String.fromCharCode(88,83,83))'

这是一个常见的“概念验证”功能,会导致出现包含“XSS”的弹出框。如果发生这种情况,则会执行注入(inject)的 JavaScript。

why there's that repetition of 'alert(String.fromCharCode(88,83,83))' in the first string and why those //'; //"; //-->

这些用于防止语法错误,语法错误可能导致注入(inject)的 JavaScript 无法执行。

关于javascript - 谁能解释一下这些 XSS 测试字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25461418/

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