{"id":2285,"date":"2021-10-18T12:21:37","date_gmt":"2021-10-18T10:21:37","guid":{"rendered":"https:\/\/mikadmin.fr\/blog\/?p=2285"},"modified":"2021-10-18T14:11:03","modified_gmt":"2021-10-18T12:11:03","slug":"my-first-cve-wordpress-plugin","status":"publish","type":"post","link":"https:\/\/mikadmin.fr\/blog\/my-first-cve-wordpress-plugin\/","title":{"rendered":"My first CVE (2021-24856) &#8211; WordPress Plugin"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\"> 2<\/span> <span class=\"rt-label rt-postfix\">min read<\/span><\/span><p>Views: 566<\/p>\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Salut \u00e0 tous, petit article rapide d\u00e9taillant ma d\u00e9couverte et ma premi\u00e8re <strong><span style=\"color:#fcb900\" class=\"tadv-color\">CVE<\/span><\/strong> qui est donc sur un <span style=\"color:#0693e3\" class=\"tadv-color\"><strong>plugin WordPress.<\/strong><\/span><\/p>\n\n\n\n<div style=\"height:13px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Il s&rsquo;agit donc ici d&rsquo;une tr\u00e8s simple <strong><span style=\"color:#cf2e2e\" class=\"tadv-color\">XSS Stock\u00e9e<\/span><\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-2-1024x251.png\" alt=\"\" class=\"wp-image-2300\" width=\"934\" height=\"228\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-2-1024x251.png 1024w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-2-300x73.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-2-150x37.png 150w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-2-768x188.png 768w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-2.png 1143w\" sizes=\"auto, (max-width: 934px) 100vw, 934px\" \/><\/figure><\/div>\n\n\n\n<div style=\"height:21px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Un report sur <strong>WPScan<\/strong> tr\u00e8s complet est disponible ici : <a href=\"https:\/\/wpscan.com\/vulnerability\/8fd483fb-d399-4b4f-b4ef-bbfad1b5cf1b\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/wpscan.com\/vulnerability\/8fd483fb-d399-4b4f-b4ef-bbfad1b5cf1b<\/a><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-1-1024x136.png\" alt=\"\" class=\"wp-image-2297\" width=\"1028\" height=\"136\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-1-1024x136.png 1024w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-1-300x40.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-1-150x20.png 150w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-1-768x102.png 768w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-1.png 1116w\" sizes=\"auto, (max-width: 1028px) 100vw, 1028px\" \/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h1 class=\"has-text-align-center wp-block-heading\" style=\"font-size:40px\">WordPress Plugin :<\/h1>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Version : <strong>1.6.59<\/strong><br>Author : <a href=\"https:\/\/www.tammersoft.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.tammersoft.com\/<\/a><br>Link : <a href=\"https:\/\/wordpress.org\/plugins\/shared-files\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/wordpress.org\/plugins\/shared-files\/<\/a><br>Download : <a href=\"https:\/\/downloads.wordpress.org\/plugin\/shared-files.1.6.59.zip\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/downloads.wordpress.org\/plugin\/shared-files.1.6.59.zip<\/a><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"577\" height=\"331\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image.png\" alt=\"\" class=\"wp-image-2296\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image.png 577w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-300x172.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-150x86.png 150w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Ce dernier permet de <strong>g\u00e9rer<\/strong> et <strong>lister facilement un partage de fichiers<\/strong> sur une page d\u00e9finie.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"has-text-align-center wp-block-heading\" style=\"font-size:40px\">Exploitation :<\/h1>\n\n\n\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-black-color has-text-color has-medium-font-size\">Vuln\u00e9rabilit\u00e9<strong><em> : <span style=\"color:#cf2e2e\" class=\"tadv-color\"><span style=\"background-color:#7bdcb5\" class=\"tadv-background-color\">Shared Files &lt; 1.6.61 &#8211; Admin+ Stored Cross-Site Scripting<\/span><\/span><\/em><\/strong><\/p>\n\n\n\n<div style=\"height:21px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Il faut donc \u00eatre connect\u00e9 sur le <strong>panel admin<\/strong> de notre <strong><span style=\"color:#0693e3\" class=\"tadv-color\">WordPress<\/span><\/strong> puis se rendre dans <strong>Settings<\/strong> et <strong>Shared Files<\/strong> :<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-3.png\" alt=\"\" class=\"wp-image-2301\" width=\"153\" height=\"117\"\/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Le champ <strong><span style=\"color:#cf2e2e\" class=\"tadv-color\">Download counter text<\/span><\/strong> qui permet de nommer <strong>le compteur du nombre de t\u00e9l\u00e9chargements<\/strong> et de l&rsquo;<strong>afficher<\/strong> sur le widget est <strong>vuln\u00e9rable \u00e0 une <span style=\"color:#cf2e2e\" class=\"tadv-color\"><a href=\"https:\/\/mikadmin.fr\/blog\/hackthebox-shocker\/\" target=\"_blank\" rel=\"noreferrer noopener\">XSS Injection<\/a><\/span><\/strong> malgr\u00e9 le fait que la variable <strong><span style=\"color:#fcb900\" class=\"tadv-color\">unfiltered_html<\/span> <\/strong>soit activ\u00e9e dans le fichier<strong> <span style=\"color:#00d084\" class=\"tadv-color\">wp-config.php<\/span><\/strong> :<\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-4.png\" alt=\"wordpress\" class=\"wp-image-2302\" width=\"713\" height=\"341\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-4.png 665w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-4-300x143.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-4-150x72.png 150w\" sizes=\"auto, (max-width: 713px) 100vw, 713px\" \/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">On peut donc simplement utiliser ce <strong><span style=\"color:#cf2e2e\" class=\"tadv-color\">payload<\/span><\/strong> par exemple :<\/p>\n\n\n\n<div style=\"height:3px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-markup\">&lt;svg\/onload=prompt(1)&gt;<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">Afin de v\u00e9rifier ceci, il faut donc se rendre sur une <strong>page<\/strong> o\u00f9 il y a le widget<span style=\"color:#ff6900\" class=\"tadv-color\"> <strong>Shared Files<\/strong><\/span> configur\u00e9 et d\u00e8s que le <strong>compteur de t\u00e9l\u00e9chargements<\/strong> va charger le <strong><span style=\"color:#cf2e2e\" class=\"tadv-color\">payload<\/span><\/strong> va s&rsquo;ex\u00e9cuter !<\/p>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-5.png\" alt=\"wordpress\" class=\"wp-image-2303\" width=\"681\" height=\"490\" srcset=\"https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-5.png 660w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-5-300x216.png 300w, https:\/\/mikadmin.fr\/blog\/wp-content\/uploads\/2021\/10\/image-5-150x108.png 150w\" sizes=\"auto, (max-width: 681px) 100vw, 681px\" \/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h1 class=\"has-text-align-center wp-block-heading\" style=\"font-size:40px\">Conclusion :<\/h1>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">La <strong><span style=\"color:#fcb900\" class=\"tadv-color\">CVE-2021-24856<\/span><\/strong> a donc \u00e9t\u00e9 assign\u00e9e et est donc disponible : <a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-24856\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-24856<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center has-medium-font-size\">\u2b50<em>Je tiens \u00e9galement \u00e0 remercier la team de <a href=\"https:\/\/wpscan.com\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"https:\/\/wpscan.com\/\">WPScan<\/a> qui fait un excellent travail et qui est tr\u00e8s r\u00e9actif et professionnel.<\/em><\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\"><\/span> <span class=\"rt-time\"> 2<\/span> <span class=\"rt-label rt-postfix\">min read<\/span><\/span>The plugin does not sanitise and escape the Download Counter Text settings, which could allow high privilege users to perform Cross-Site Scripting attacks. <a href=\"https:\/\/mikadmin.fr\/blog\/my-first-cve-wordpress-plugin\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":2293,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[4],"tags":[64,76,45,10,60,75,74],"class_list":["post-2285","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-infosec","tag-cve","tag-findings","tag-pentest","tag-security","tag-web","tag-wordpress","tag-xss"],"aioseo_notices":[],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/posts\/2285","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/comments?post=2285"}],"version-history":[{"count":0,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/posts\/2285\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/media\/2293"}],"wp:attachment":[{"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/media?parent=2285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/categories?post=2285"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikadmin.fr\/blog\/wp-json\/wp\/v2\/tags?post=2285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}