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

时间:2018-11-08 05:05:51

标签: javascript html xss csrf

注意::我正在参加网络安全课程,我们一直在学习CSRF和XSS。我们班上该项目的站点故意易受crsf和xss的攻击。我有一个带有以下表单的恶意html页面,该页面是在onload时提交的。您可以看到脚本正在尝试覆盖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的更改。任何提示将非常感谢。

1 个答案:

答案 0 :(得分:1)

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

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

等等。