From e2517c0b2059eb678eb0501444ff255902e2bbd3 Mon Sep 17 00:00:00 2001 From: Starbeamrainbowlabs Date: Fri, 3 Sep 2021 01:34:38 +0100 Subject: [PATCH] page-list: Yep, you guessed it! XSS again..... --- modules/page-list.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/page-list.php b/modules/page-list.php index d06756c..143654f 100644 --- a/modules/page-list.php +++ b/modules/page-list.php @@ -5,7 +5,7 @@ register_module([ "name" => "Page list", - "version" => "0.11.4", + "version" => "0.11.5", "author" => "Starbeamrainbowlabs", "description" => "Adds a page that lists all the pages in the index along with their metadata.", "id" => "page-list", @@ -60,7 +60,7 @@ register_module([ default: http_response_code(400); - exit(page_renderer::render_main("Format error - $settings->sitename", "

Error: The format '$format' is not currently supported by this action on $settings->sitename. Supported formats: " . implode(", ", $supported_formats) . ".")); + exit(page_renderer::render_main("Format error - $settings->sitename", "

Error: The format '".htmlentities($format)."' is not currently supported by this action on $settings->sitename. Supported formats: " . htmlentities(implode(", ", $supported_formats)) . ".")); } }); @@ -91,7 +91,7 @@ register_module([ if(!in_array($format, $supported_formats)) { http_response_code(400); - exit(page_renderer::render_main("Format error - $settings->sitename", "

Error: The format '$format' is not currently supported by this action on $settings->sitename. Supported formats: " . implode(", ", $supported_formats) . ".")); + exit(page_renderer::render_main("Format error - $settings->sitename", "

Error: The format '".htmlentities($format)."' is not currently supported by this action on $settings->sitename. Supported formats: " . htmlentities(implode(", ", $supported_formats)) . ".")); } if(!isset($_GET["tag"])) @@ -107,7 +107,7 @@ register_module([ $content = "

All tags

\n"; @@ -139,7 +139,7 @@ register_module([ switch($format) { case "html": - $content = "

Tag List: $tag

\n"; + $content = "

Tag List: ".htmlentities($tag)."

\n"; $content .= generate_page_list($pagelist); $content .= "

(All tags)

\n"; @@ -284,7 +284,7 @@ function generate_page_list($pagelist) $tags = substr($tags, 0, -2); // Remove the last ", " from the tag list } - $pageDisplayName = $pagename; + $pageDisplayName = htmlentities($pagename); if(isset($pageindex->$pagename) and !empty($pageindex->$pagename->redirect)) $pageDisplayName = "$pageDisplayName"; @@ -295,7 +295,7 @@ function generate_page_list($pagelist) $result .= "
  • $pageDisplayName (" . human_filesize($pageindex->$pagename->size) . ") - " . $pageindex->$pagename->lasteditor . " + " . htmlentities($pageindex->$pagename->lasteditor) . " $tags
  • "; }