mirror of
https://github.com/gchq/CyberChef.git
synced 2025-04-20 23:06:16 -04:00
Merge pull request #77 from gchq/bug-html-entities
Fixed double encoding of HTML entities.
This commit is contained in:
commit
522e7a9439
6 changed files with 31 additions and 21 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -22,7 +22,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta charset="UTF-8">
|
||||
<title>CyberChef</title>
|
||||
|
||||
<meta name="copyright" content="Crown Copyright 2016" />
|
||||
|
|
|
@ -901,20 +901,30 @@ var Utils = {
|
|||
|
||||
|
||||
/**
|
||||
* Escapes HTML tags in a string to stop them being rendered
|
||||
* Escapes HTML tags in a string to stop them being rendered.
|
||||
* https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
|
||||
*
|
||||
* @param {string} str
|
||||
* @returns string
|
||||
*
|
||||
* @example
|
||||
* // return "A <script> tag"
|
||||
* // return "A <script> tag"
|
||||
* Utils.escapeHtml("A <script> tag");
|
||||
*/
|
||||
escapeHtml: function(str) {
|
||||
return str.replace(/</g, "<")
|
||||
.replace(/'/g, "'")
|
||||
.replace(/"/g, """)
|
||||
.replace(/&/g, "&");
|
||||
var HTML_CHARS = {
|
||||
"&": "&",
|
||||
"<": "<",
|
||||
">": ">",
|
||||
'"': """,
|
||||
"'": "'", // ' not recommended because it's not in the HTML spec
|
||||
"/": "/", // forward slash is included as it helps end an HTML entity
|
||||
"`": "`"
|
||||
};
|
||||
|
||||
return str.replace(/[&<>"'\/`]/g, function (match) {
|
||||
return HTML_CHARS[match];
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
212 source files
|
||||
115641 lines
|
||||
211 source files
|
||||
115651 lines
|
||||
4.3M size
|
||||
|
||||
142 JavaScript source files
|
||||
106451 lines
|
||||
106461 lines
|
||||
3.8M size
|
||||
|
||||
83 third party JavaScript source files
|
||||
|
@ -11,7 +11,7 @@
|
|||
3.0M size
|
||||
|
||||
59 first party JavaScript source files
|
||||
20193 lines
|
||||
20203 lines
|
||||
752K size
|
||||
|
||||
3.5M uncompressed JavaScript size
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue