<?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>Onvio</title>
	<atom:link href="https://www.onvio.nl/feed" rel="self" type="application/rss+xml" />
	<link>https://www.onvio.nl/</link>
	<description>Specialist in het uitvoeren van een penetratietest / pentest</description>
	<lastBuildDate>Wed, 25 Dec 2024 15:43:01 +0000</lastBuildDate>
	<language>nl-NL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.3</generator>
	<item>
		<title>Onvio is ISO 9001 gecertificeerd</title>
		<link>https://www.onvio.nl/nieuws/onvio-is-iso-9001-gecertificeerd</link>
		
		<dc:creator><![CDATA[Onvio]]></dc:creator>
		<pubDate>Wed, 25 Dec 2024 15:34:57 +0000</pubDate>
				<category><![CDATA[Nieuws]]></category>
		<guid isPermaLink="false">https://www.onvio.nl/?p=67243</guid>

					<description><![CDATA[<p>Het bericht <a href="https://www.onvio.nl/nieuws/onvio-is-iso-9001-gecertificeerd">Onvio is ISO 9001 gecertificeerd</a> verscheen eerst op <a href="https://www.onvio.nl">Onvio</a>.</p>
]]></description>
										<content:encoded><![CDATA[<section class="fw-section">
	<span class="overlay" style="background-color: #444a59; opacity: 0;"></span>

	<div class="container">
		<div class="row">
			<div class="wpb_column vc_col-sm-12">
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p><strong>Onvio behaalt ISO 9001 certificering.</strong></p>
<p class="wp-block-paragraph">Wij zijn verheugd te kunnen aankondigen dat Onvio <a href="https://www.iso.org/standard/9001">ISO 9001</a> gecertificeerd is. Dit certificaat is een internationaal erkende norm die de eisen stelt voor een kwaliteitsmanagementsysteem (KMS / QMS). Deze certificering toont onze toewijding aan het leveren van hoogwaardige diensten en het continu verbeteren van onze processen en klanttevredenheid.</p>
<p>De certificering ons zal helpen in onze missie om onze klanten de best mogelijke diensten te bieden. Vertrouw op ons voor uw cybersecurity behoeften en ervaar de voordelen van werken met een gecertificeerd bedrijf dat kwaliteit en klanttevredenheid voorop stelt.</p>
<p>De certificering wordt jaarlijks door een geaccrediteerde auditor gecontroleerd door ons beleid en de effectiviteit hiervan door te lichten.</p>
<p>Onvio is gecertificeerd onder licentienummer QSC 1050.</p>
<p class="wp-block-paragraph"> <a class="wp-block-file__button" href="https://www.bsigroup.com/nl-NL/valideren-van-door-bsi-afgegeven-certificaten/client-directory-certificate/QSC%201050" download="">Bekijk ons ISO 9001 certificaat</a></p>

		</div>
	</div>
</div>		</div>
	</div>
</section><p>Het bericht <a href="https://www.onvio.nl/nieuws/onvio-is-iso-9001-gecertificeerd">Onvio is ISO 9001 gecertificeerd</a> verscheen eerst op <a href="https://www.onvio.nl">Onvio</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>RESEARCH DAY: Discovering vulnerabilities in WordPress plugins</title>
		<link>https://www.onvio.nl/nieuws/research-day-discovering-vulnerabilities-in-wordpress-plugins</link>
		
		<dc:creator><![CDATA[Andreas]]></dc:creator>
		<pubDate>Fri, 28 Jul 2023 09:32:52 +0000</pubDate>
				<category><![CDATA[Nieuws]]></category>
		<guid isPermaLink="false">https://www.onvio.nl/?p=66748</guid>

					<description><![CDATA[<p>Introduction For the past few Fridays I have been working on my second research project at Onvio. This time the challenge consisted of finding 3 new vulnerabilities in existing WordPress plugins. And getting CVE&#8217;s registered for each of the vulnerabilities found. In this blog you will read about the process of finding these vulnerabilities, as...</p>
<p>Het bericht <a href="https://www.onvio.nl/nieuws/research-day-discovering-vulnerabilities-in-wordpress-plugins">RESEARCH DAY: Discovering vulnerabilities in WordPress plugins</a> verscheen eerst op <a href="https://www.onvio.nl">Onvio</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading" id="h-introduction"><strong>Introduction</strong></h2>



<p class="wp-block-paragraph">For the past few Fridays I have been working on my second research project at Onvio. This time the challenge consisted of finding 3 new vulnerabilities in existing WordPress plugins. And getting CVE&#8217;s registered for each of the vulnerabilities found. <strong>In this blog you will read about the process of finding these vulnerabilities, as well as the process of requesting the CVE&#8217;s. </strong></p>



<div style="height:46px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-the-process"><strong>The process</strong></h2>



<h3 class="wp-block-heading" id="h-step-one-what-type-of-plugins-to-test"><strong>Step one: What type of plugins to test?</strong></h3>



<p class="wp-block-paragraph">The first step in the process of finding vulnerabilities in existing WordPress plugins was identifying which plugins were going to be tested. I decided I wanted to look at plugins that made it possible to deliver a malicious payload to an admin user from the perspective of an anonymous user. Plugins that adhered to this requirement were mostly of the following kind:</p>



<ul class="wp-block-list">
<li>Contact forms</li>



<li>Surveys</li>



<li>Polls</li>
</ul>



<p class="wp-block-paragraph">Also, I wanted to test plugins that had quite a few users. This would have the greatest impact when finding vulnerabilities. I ended up finding vulnerabilities in multiple plugins with the user count of one plugin being a minimum of 10.000+ users and another one with a user count of <strong>400.000+ </strong>users. </p>



<div style="height:46px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-step-two-what-type-of-vulnerabilities-to-test"><strong>Step two: What type of vulnerabilities to test?</strong></h3>



<p class="wp-block-paragraph">Next, I wanted to focus my attention on the most common web vulnerabilities. For this I kept the <a href="https://owasp.org/www-project-top-ten/">OWASP TOP 10</a> in mind. I focussed most of my attention on finding vulnerabilities related to injection. </p>



<figure class="wp-block-image size-full"><img wpfc-lazyload-disable="true" fetchpriority="high" decoding="async" width="936" height="258" src="https://www.onvio.nl/wp-content/uploads/image-81.png" alt="" class="wp-image-66770" srcset="https://www.onvio.nl/wp-content/uploads/image-81.png 936w, https://www.onvio.nl/wp-content/uploads/image-81-300x83.png 300w, https://www.onvio.nl/wp-content/uploads/image-81-768x212.png 768w" sizes="(max-width: 936px) 100vw, 936px" /></figure>



<div style="height:46px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-step-three-the-pentesting-process"><strong>Step three: The pentesting process</strong></h3>



<p class="wp-block-paragraph">As preparation for the pentesting process, I created a list of WordPress plugins that fell into the categories mentioned above. Each plugin was going to be tested both manually and automatically in order to get the highest probability of finding vulnerabilities. </p>



<h4 class="wp-block-heading" id="h-automatic-testing"><strong>Automatic testing</strong></h4>



<p class="wp-block-paragraph">For automatic testing, I decided to use Semgrep. I looked up some custom rulesets for known injection vulnerabilities like XSS, SQL-Injection, Command Injection, SSTI, SSRF and more. </p>



<p class="wp-block-paragraph">Each of the plugins were scanned using Semgrep. This was done with the intent of getting a starting point for manual testing. </p>



<figure class="wp-block-image size-full"><img wpfc-lazyload-disable="true" decoding="async" width="936" height="258" src="https://www.onvio.nl/wp-content/uploads/image-82.png" alt="" class="wp-image-66778" srcset="https://www.onvio.nl/wp-content/uploads/image-82.png 936w, https://www.onvio.nl/wp-content/uploads/image-82-300x83.png 300w, https://www.onvio.nl/wp-content/uploads/image-82-768x212.png 768w" sizes="(max-width: 936px) 100vw, 936px" /></figure>



<p class="wp-block-paragraph">The automatic testing phase resulted in a lot of false positives, that mostly related to XSS. Nevertheless, it was a good starting point that gave an indication on where to look for exploiting possible vulnerabilities. Which in the end <strong>resulted in the detection of a valid XSS</strong>. </p>



<h4 class="wp-block-heading" id="h-manual-testing"><strong>Manual testing</strong></h4>



<p class="wp-block-paragraph">The manual testing phase consisted of both inspecting the Semgrep findings and investigating if these could be exploited, and installing the plugins to manually investigate them in order to find exploitable injection points. </p>



<p class="wp-block-paragraph">This process mostly consisted of sending different payloads and seeing if they got executed for someone in another user context, and bypassing filters put in place to prevent these types of attacks. </p>



<p class="wp-block-paragraph">For example, <strong>the following images demonstrate the exploitation of one of the contact forms</strong>. First the plugin components are researched. Here, it was concluded that <strong>the value sent in the message field would be loaded in a textarea field</strong>. Because of this, a payload was created that <strong>first closed the textarea field before inserting the XSS image payload</strong>. </p>



<figure class="wp-block-image size-large"><img wpfc-lazyload-disable="true" decoding="async" width="1024" height="393" src="https://www.onvio.nl/wp-content/uploads/image-83-1024x393.png" alt="" class="wp-image-66779" srcset="https://www.onvio.nl/wp-content/uploads/image-83-1024x393.png 1024w, https://www.onvio.nl/wp-content/uploads/image-83-300x115.png 300w, https://www.onvio.nl/wp-content/uploads/image-83-768x294.png 768w, https://www.onvio.nl/wp-content/uploads/image-83.png 1064w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Here, it can be seen that the image part of the payload is loaded under the textarea field because it was closed off using the first part of the payload, even though normally the value would be loaded within the textarea field. </p>



<figure class="wp-block-image size-large"><img wpfc-lazyload-disable="true" loading="lazy" decoding="async" width="1024" height="418" src="https://www.onvio.nl/wp-content/uploads/image-84-1024x418.png" alt="" class="wp-image-66781" srcset="https://www.onvio.nl/wp-content/uploads/image-84-1024x418.png 1024w, https://www.onvio.nl/wp-content/uploads/image-84-300x122.png 300w, https://www.onvio.nl/wp-content/uploads/image-84-768x313.png 768w, https://www.onvio.nl/wp-content/uploads/image-84.png 1475w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">The code snippet loading the vulnerable component is displayed in the image below. </p>



<figure class="wp-block-image size-full"><img wpfc-lazyload-disable="true" loading="lazy" decoding="async" width="1016" height="217" src="https://www.onvio.nl/wp-content/uploads/image-85.png" alt="" class="wp-image-66814" srcset="https://www.onvio.nl/wp-content/uploads/image-85.png 1016w, https://www.onvio.nl/wp-content/uploads/image-85-300x64.png 300w, https://www.onvio.nl/wp-content/uploads/image-85-768x164.png 768w" sizes="auto, (max-width: 1016px) 100vw, 1016px" /></figure>



<div style="height:46px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-step-four-the-findings"><strong>Step four: The Findings</strong></h3>



<p class="wp-block-paragraph">I ended up finding three XSS vulnerabilities in three different WordPress plugins. With the perspective of two of the vulnerabilities being unauthenticated user to admin, and one being authenticated user to admin. </p>



<p class="wp-block-paragraph">For each of the plugins the main trigger for further investigation was that the &#8220;&lt;&gt;&#8221; tags were not always filtered out. Which led me to believe I would be able to exploit the vulnerability. </p>



<p class="wp-block-paragraph">POC&#8217;s for the vulnerabilities will be released by WPScan after users have had some time to upgrade to a patched version. These POC&#8217;s can be found as links in the chapter &#8220;<strong>The CVE&#8217;s</strong>&#8220;. </p>



<div style="height:46px" aria-hidden="true" class="wp-block-spacer"></div>



<h3 class="wp-block-heading" id="h-step-five-reporting"><strong>Step five: Reporting</strong></h3>



<p class="wp-block-paragraph">After finding the vulnerabilities I contacted the developers of each of the plugins in order to inform them about the vulnerability inside their plugin. Finding contact information for the developers of the plugin was easily done by visiting the page of the vulnerable plugin on <a href="https://wordpress.org/plugins/">the WordPress plugin site</a>. A link to the website of the developing organization can be found in the &#8220;By *VENDOR-NAME*&#8221; section. From here, I contacted support with the question on where I could safely report the vulnerability that I had found. </p>



<p class="wp-block-paragraph">After that, I created POC&#8217;s for each of the vulnerabilities, so the developers could easily identify the issue. These POC&#8217;s will also be added to each of the entries created on the <a href="https://wpscan.com/plugins">WPScan</a> website.</p>



<p class="wp-block-paragraph">The communication process differed a lot depending on the plugin manufacturer. In one of the three cases I was immediately met with a response via email notifying me they would patch the vulnerability as soon as possible. Which turned out to be <strong>the same day!</strong></p>



<p class="wp-block-paragraph">In one of the other two cases I had to put a lot of effort into explaining and demonstrating the severity of the vulnerability before the developers would consider patching the vulnerability. But in the end I managed to convince them of the risk. </p>



<div style="height:46px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-getting-the-cve-s-registered"><strong>Getting the CVE&#8217;s registered</strong></h2>



<p class="wp-block-paragraph">After finding the vulnerabilities, reporting them to the organizations, and waiting for them to fix the vulnerabilities I wanted to get them registered. This was done by requesting a CVE for each of the findings. Requesting WordPress CVE&#8217;s was done by filling in a form at <a href="http://wpscan.com/submit">wpscan.com/submit</a>. </p>



<h3 class="wp-block-heading" id="h-the-cve-s"><strong>The CVE&#8217;s</strong></h3>



<p class="wp-block-paragraph">The following CVE&#8217;s were registered as a result of my research:</p>



<ul class="wp-block-list">
<li>Contact Form Email XSS: <a href="https://wpscan.com/vulnerability/8ad824a6-2d49-4f02-8252-393c59aa9705">CVE-2023-2718</a></li>



<li>Forminator XSS: <a href="https://wpscan.com/vulnerability/6d50d3cc-7563-42c4-977b-f834fee711da">CVE-2023-3134</a> (still reserved at the moment of writing)</li>



<li>Quiz And Survey Master XSS: <a href="https://wpscan.com/vulnerability/6f884688-2c0d-4844-bd31-ef7085edf112">CVE-2023-3575</a> (still reserved at the moment of writing)</li>
</ul>



<div style="height:46px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading" id="h-conclusion">Conclusion</h2>



<p class="wp-block-paragraph">In the end, it was a good exercise for me to better understand how to identify possible vulnerabilities, as well as practising the demonstration and convincing the developers of the risk of the vulnerability. Which helps me better understand the vulnerabilities myself. Because if you can&#8217;t explain something to someone else, you don&#8217;t really understand it yourself. ;)</p>



<p class="wp-block-paragraph">This is the summarization of my entire process of pentesting WordPress plugins, from the scope definition phase to the registration of CVE&#8217;s. Thank you for reading my blog post. </p>



<p class="wp-block-paragraph">Happy hacking!</p>
<p>Het bericht <a href="https://www.onvio.nl/nieuws/research-day-discovering-vulnerabilities-in-wordpress-plugins">RESEARCH DAY: Discovering vulnerabilities in WordPress plugins</a> verscheen eerst op <a href="https://www.onvio.nl">Onvio</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
