GlobalProtect can send the challenge-based 2FA form in an even stupider way
To the previously-known possibilities of XML and JavaScript, we must now add "JavaScript as the body of an HTML document".
From #495 (closed), here's the form in which one GlobalProtect server sends its challenge/2FA form:
<html>
<head></head>
<body>
var respStatus = "Challenge";
var respMsg = "Enter a passcode or select an option to continue: 1 - Push. Enter '0' to abort.";
thisForm.inputStr.value = "631e685100000570";
</body>
</html>
Fortunately, this is fairly easy to handle by simply passing the contents of the
tag to parse_javascript(). This also adds production of 2FA challenges in this form to the fake GP server, so that we can test against it.