Fix XSS for To Table operation and Magic button

master
j433866 2019-01-31 15:18:37 +00:00
parent 6f8a5ea1be
commit 8b44927cb6
2 changed files with 2 additions and 2 deletions

View File

@ -57,7 +57,7 @@ class ToTable extends Operation {
const [cellDelims, rowDelims, firstRowHeader, format] = args; const [cellDelims, rowDelims, firstRowHeader, format] = args;
// Process the input into a nested array of elements. // Process the input into a nested array of elements.
const tableData = Utils.parseCSV(input, cellDelims.split(""), rowDelims.split("")); const tableData = Utils.parseCSV(Utils.escapeHtml(input), cellDelims.split(""), rowDelims.split(""));
if (!tableData.length) return ""; if (!tableData.length) return "";

View File

@ -478,7 +478,7 @@ class OutputWaiter {
*/ */
showMagicButton(opSequence, result, recipeConfig) { showMagicButton(opSequence, result, recipeConfig) {
const magicButton = document.getElementById("magic"); const magicButton = document.getElementById("magic");
magicButton.setAttribute("data-original-title", `<i>${opSequence}</i> will produce <span class="data-text">"${Utils.truncate(result, 30)}"</span>`); magicButton.setAttribute("data-original-title", `<i>${opSequence}</i> will produce <span class="data-text">"${Utils.truncate(Utils.escapeHtml(result), 30)}"</span>`);
magicButton.setAttribute("data-recipe", JSON.stringify(recipeConfig), null, ""); magicButton.setAttribute("data-recipe", JSON.stringify(recipeConfig), null, "");
magicButton.classList.remove("hidden"); magicButton.classList.remove("hidden");
} }