javascript - 带有 XSS 的 CRSF 将 GET 请求中的 % 解析为 %25

标签 javascript html xss csrf

注意:我正在上网络安全类(class),我们一直在学习 CSRF 和 XSS。我们类的项目网站故意容易受到 crsf 和 xss 的攻击。我有一个恶意 html 页面,其表单在加载时提交。您可以看到脚本正在尝试覆盖 cookie。编码使用 %xx 对 ASCII 字符进行编码。

Request with % encoding

当我访问恶意网站,然后使用 Chrome 中的网络监控时,我看到 % 的编码已变成 %25。 enter image description here

我知道 ASCII 中的 %25 只是百分号本身,但这种编码会搞乱 XSS。如果我在 CSRF html 表单之外使用恶意 XSS 链接,那么攻击就会起作用并且 cookie 会被覆盖。但是,通过 CSRF 进行的编码无法覆盖 cookie,因为文字“%25”会扰乱 XSS 脚本。有关如何使用此 GET 请求在 CSRF 中完成 XSS 的任何提示吗?我将尝试其他工具通过 HTML 和 Javascript 执行 GET 请求。我是一名嵌入式程序员,所以 HTML 和 Javascript 不是我的强项,但我也一直在网上寻找解决这个问题的方法,但不明白为什么 CSRF 中会发生从 % 到 %25 的变化。任何提示将非常感谢。

最佳答案

在 HTML 文档中设置隐藏表单字段的 value 属性时,不应进行 URL 编码。相反,您应该将 HTML 中具有特殊含义的字符编码为 HTML 实体:

  • <变成&lt;
  • "变成&quot;
  • &变成&amp;

等等

关于javascript - 带有 XSS 的 CRSF 将 GET 请求中的 % 解析为 %25,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53201835/

相关文章:

php - 防止从 PHP 中不受信任的来源发生注销操作

ruby-on-rails - 我如何安全且廉价地允许在我的网站上显示图片?

javascript - Bootstrap 折叠侧边栏菜单到下拉菜单

javascript - 如果我在异步调用中省略 "await",操作是否仍会完成?

javascript - 如何使用调试工具在页面加载后手动加载 javascript 库?

php - 机器人提交表单的方式与使用浏览器的方式不同吗?

jquery - 在资源管理器中工作时图像的最大宽度?

javascript - 如何通过URL防止XSS?

javascript - TypeError : $(. ..).colorbox 不是函数

java - 动态表格 :select and form:option in Spring form tags