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

2024-04-25

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

一开始需要注入一些字符串,以测试站点是否容易受到 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> 

and

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

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

谁能解释一下我具体例子这两个字符串应该如何工作才能检索 Web 应用程序内的 xss bug?因为我链接的网站上没有给出任何解释......


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

第一次注射

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

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

第二次注射

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

与第一次注射类似,但它使用"试图终止 JavaScript 字符串文字。

第三次注射

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

这试图做以下事情:

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

第四次注射

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

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


回答您更直接的问题:

为什么会重复“alert(String.fromCharCode(88,83,83))”

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

为什么第一个字符串中重复出现 'alert(String.fromCharCode(88,83,83))' 以及为什么 //'; //"; //-->

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

谁能解释一下这些 XSS 测试字符串吗? 的相关文章

随机推荐

  • 在 Tensorboard 中获取简单的绘图

    我正在尝试在张量板上画一个简单的图 就像他们在主页上一样 如下所示 To understand how this is working I ve wrote the following import tensorflow as tf imp
  • 具有异构数据类型的 3 个字段的多列索引

    我有一个包含 3 个字段的 postgres 表 a postgis几何 b 数组 varchar c 整数 我有一个涉及所有这些的查询 我想添加一个多列索引来加快速度 但我不能 因为这 3 个字段由于其性质而不能位于同一索引下 这种情况下
  • 创建当前日期的查询匹配[重复]

    这个问题在这里已经有答案了 可能的重复 在 JPA 查询中使用 CURRENT DATE 的示例 https stackoverflow com questions 1637323 example of using current date
  • ASP.Net Identity 2.0:用户是System.Web.Security.RolePrincipal,为什么?

    我正在尝试在现有应用程序中实现 Asp Net Identity 2 0 OWIN 但在角色方面我遇到了各种麻烦 我从项目模板创建了一个示例项目 并且 据我所知 我已将其中的所有内容复制到我的应用程序中 我修改了连接信息 以便身份验证表来自
  • .Net 与 Java 垃圾收集器

    有谁知道 Java 和 Net 垃圾收集器之间的主要区别 网上搜索并没有透露太多信息 这是一个测试中出现的问题 区别在于 CLR Net GC 和 JVM GC 之间 而不是语言本身 两者都可能发生变化 并且其行为规范宽松 允许在不影响程序
  • ASP.NET MVC 路由中的通配符

    我正在使用 asp net mvc 与 vs2008 和 IIS7 我想要完成的是所有以 summer 开头的请求都路由到同一个控制器 到目前为止 我已经构建了大量的路线 但它们都是针对一条路径的 带有偏离参数的路径 但这条路线必须路由 w
  • 将输入类型数限制为角度 2 中的小数点后 2 位

    我在一个html页面上有很多输入框 我想限制用户输入小数点后两位后的任何数字 目前尝试应用 html 5 input Step 0 00 但不起作用 任何打字稿解决方案也可以 请参阅以下指令的演示Plnkr https plnkr co e
  • JPQL 和联接表

    我对 SQL 和 JPQL 的理解不是很好 我一直在尝试创建以下 sql 语句的 JPQL 查询 select group from user user group group where user group user id user i
  • Elixir 中的递归和匿名函数

    我正在尝试定义一个匿名函数来执行点积 我可以将其编码为私有函数 没有任何问题 但我正在努力解决匿名函数语法 我知道我可以以不同的方式实现这一点 但我试图了解如何使用模式匹配和递归来定义匿名函数 这是我当前的实现 dot fn i input
  • 最大覆盖不相交间隔

    假设您有 k 无法尝试所有可能的子集 2 k 不可行 贪婪方法按 a i 区间覆盖算法 排序 按 b i 最大不相交区间数算法 排序不起作用 不知道是否有动态程序解决方案 考虑到输入的大小 我认为解决方案应该是 O k log k 或 O
  • JavaScript 中的奇怪字符导致其无法加载

    我的网站在本地主机上运行良好 我的 JavaScript 正在加载并运行良好 但是当我部署站点时 脚本不起作用 当我右键单击页面并说查看源代码 然后查看链接的脚本文件时 文件开头有一些奇怪的字符 函数 在本地主机上 我的脚本文件像这样开始
  • 如何在powerpoint vba中制作进度条?

    如何使用 PowerPoint VBA 制作进度条 它应该作为幻灯片上的动画来完成 这是您要找的吗 http www pptfaq com FAQ00597 htm http www pptfaq com FAQ00597 htm
  • `npm i` 命令有什么作用?

    什么是i在 npm CLI 中执行命令 我看到它是这样使用的 npm i package The iflag 是一个别名install so npm i package 是相同的 npm install package 从文档中 npm i
  • 如何创建可以跨多个页面或在框架/iframe 内访问的全局 JSP 变量?

    简而言之 如何在 JSP 中创建全局变量 以便可以跨其他 JSP 页面和 或内部框架 iframe 访问它 我尝试了 但出现错误 无法在单独的 jsp 页面中解析该变量 是否有可能在多个页面中访问 JSP 变量而无需求助于查询字符串 会话变
  • git tag -l 不会删除已删除的标签

    这是场景 我将我的存储库克隆到一个定期更新的目录 git pull 现在我又创建了一个目录并签出了相同的存储库 我必须创建一些标签 但我错误地创建了名称错误的标签 所以我从第一个目录中删除了标签 git tag d old git push
  • 错误:SPAN_EXCLUSIVE_EXCLUSIVE 跨度的长度不能为零

    我的 Android 应用程序出现问题 我有一个按钮和一个关联的事件 但是当我第一次单击时出现错误 跨度不能有零长度 但是当我第二次单击时 事件 onclick 运行良好 看看我的java代码 public class MainActivi
  • 如何调试 Apache mod_rewrite

    我对 mod rewrite 有两个主要问题 当我的规则无效时 不会报告任何有意义的错误 To reliably test each modification I have to erase Google Chrome s cache Th
  • 新的 Basecamp api 告诉我该地址没有 Basecamp 帐户

    我是 Basecamp api 的新手 在尝试最简单的示例时 curl u user pass H User Agent MyApp email protected cdn cgi l email protection https base
  • Pyspark 删除数据帧列中的多个字符

    看看 pyspark 我明白了translate and regexp replace帮助我了解数据框列中存在的单个字符 我想知道是否有一种方法可以在regexp replace or translate这样它就会解析它们并用其他东西替换它
  • 谁能解释一下这些 XSS 测试字符串吗?

    最近我发现了这个关于 XSS 和 Web 应用程序安全的教程 gt https www owasp org index php XSS Filter Evasion Cheat Sheet XSS Locator https www owa