<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Shielder</title><link>https://www.shielder.com/blog/</link><description>Recent content in Blog on Shielder</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 30 Apr 2026 13:30:00 +0000</lastBuildDate><atom:link href="https://www.shielder.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Inspektor Gadget Security Audit</title><link>https://www.shielder.com/blog/2026/04/inspektor-gadget-security-audit/</link><pubDate>Thu, 30 Apr 2026 13:30:00 +0000</pubDate><guid>https://www.shielder.com/blog/2026/04/inspektor-gadget-security-audit/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;In early 2026, Shielder was hired by &lt;a href="https://ostif.org/" target="_blank" rel="noopener noreferrer"&gt;OSTIF&lt;/a&gt; to perform a security audit of &lt;a href="https://github.com/inspektor-gadget/inspektor-gadget" target="_blank" rel="noopener noreferrer"&gt;Inspektor Gadget&lt;/a&gt;, an eBPF-based framework that provides powerful and flexible observability tools for Kubernetes and Linux hosts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Today, we are publishing the &lt;a href="https://github.com/ShielderSec/public-reports/blob/main/2026/%5BOSTIF%5D%20Inspektor%20Gadget%20-%20Report%20v1.2.pdf" target="_blank" rel="noopener noreferrer"&gt;full report&lt;/a&gt; in our &lt;a href="https://github.com/ShielderSec/public-reports/" target="_blank" rel="noopener noreferrer"&gt;dedicated repository&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="context"&gt;Context&lt;/h2&gt;
&lt;p&gt;Inspektor Gadget is both a framework and a toolkit to enhance observability on a Linux machine/Kubernetes node, using the eBPF technology. Inspektor Gadget manages the packaging, deployment and execution of &amp;ldquo;gadgets&amp;rdquo;, which are essentially eBPF programs encapsulated in OCI images. Gadgets export events that are caught by the tool and that can be filtered, sorted, exported or enriched.&lt;/p&gt;</description></item><item><title>MaterialX and OpenEXR Security Audit</title><link>https://www.shielder.com/blog/2025/07/materialx-and-openexr-security-audit/</link><pubDate>Thu, 31 Jul 2025 14:45:00 +0000</pubDate><guid>https://www.shielder.com/blog/2025/07/materialx-and-openexr-security-audit/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Shielder, together with &lt;a href="https://ostif.org/" target="_blank" rel="noopener noreferrer"&gt;OSTIF&lt;/a&gt; and the &lt;a href="https://www.aswf.io" target="_blank" rel="noopener noreferrer"&gt;Academy Software Foundation (ASWF)&lt;/a&gt;, performed a Security Audit on the &lt;a href="https://materialx.org/" target="_blank" rel="noopener noreferrer"&gt;MaterialX&lt;/a&gt; and &lt;a href="https://openexr.com" target="_blank" rel="noopener noreferrer"&gt;OpenEXR&lt;/a&gt; projects.&lt;/p&gt;
&lt;p&gt;The audit resulted in eleven (11) findings ranging from critical to informational severity. Most of them have been addressed by the project maintainers, but three of them - affecting MaterialX - are marked for a future iteration and are not disclosed in the public report yet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Today, we are publishing the reports of the audit in our &lt;a href="https://github.com/ShielderSec/public-reports/" target="_blank" rel="noopener noreferrer"&gt;dedicated repository&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Karmada Security Audit</title><link>https://www.shielder.com/blog/2025/01/karmada-security-audit/</link><pubDate>Thu, 16 Jan 2025 15:37:00 +0000</pubDate><guid>https://www.shielder.com/blog/2025/01/karmada-security-audit/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Shielder, together with &lt;a href="https://ostif.org/" target="_blank" rel="noopener noreferrer"&gt;OSTIF&lt;/a&gt; and &lt;a href="https://cncf.io/" target="_blank" rel="noopener noreferrer"&gt;CNCF&lt;/a&gt;, performed a Security Audit on the &lt;a href="https://karmada.io/" target="_blank" rel="noopener noreferrer"&gt;Karmada&lt;/a&gt; project.&lt;/p&gt;
&lt;p&gt;The audit resulted in six (6) findings ranging from high to informational severity. Most of them have been addressed by the Karmada core team, while two of them are marked for a future iteration.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Today, we are publishing the &lt;a href="https://github.com/ShielderSec/public-reports/blob/main/2025/%5BOSTIF%5D%20Karmada%20-%20Report%20v1.1.pdf" target="_blank" rel="noopener noreferrer"&gt;full report&lt;/a&gt; in our &lt;a href="https://github.com/ShielderSec/public-reports/" target="_blank" rel="noopener noreferrer"&gt;dedicated repository&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In September 2024, Shielder was hired to perform a Security Audit of &lt;a href="https://karmada.io/" target="_blank" rel="noopener noreferrer"&gt;Karmada&lt;/a&gt;, an open, multi-cloud, multi-cluster Kubernetes orchestration and management system. The audit has been sponsored by the &lt;a href="https://cncf.io/" target="_blank" rel="noopener noreferrer"&gt;CNCF&lt;/a&gt; and facilitated by the &lt;a href="https://ostif.org/" target="_blank" rel="noopener noreferrer"&gt;Open Source Technology Improvement Fund (OSTIF)&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>A Journey From `sudo iptables` To Local Privilege Escalation</title><link>https://www.shielder.com/blog/2024/09/a-journey-from-sudo-iptables-to-local-privilege-escalation/</link><pubDate>Fri, 20 Sep 2024 13:30:00 +0000</pubDate><guid>https://www.shielder.com/blog/2024/09/a-journey-from-sudo-iptables-to-local-privilege-escalation/</guid><description>&lt;figure&gt;&lt;img src="https://www.shielder.com/img/blog/sudo_iptables_og.jpg"&gt;
&lt;/figure&gt;

&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;A low-privileged user on a Linux machine can obtain the &lt;code&gt;root&lt;/code&gt; privileges if:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;They can execute &lt;code&gt;iptables&lt;/code&gt; and &lt;code&gt;iptables-save&lt;/code&gt; with &lt;code&gt;sudo&lt;/code&gt; as they can inject a fake &lt;code&gt;/etc/passwd&lt;/code&gt; entry in the comment of an &lt;code&gt;iptables&lt;/code&gt; rule and then abusing &lt;code&gt;iptables-save&lt;/code&gt; to overwrite the legitimate &lt;code&gt;/etc/passwd&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;They can execute &lt;code&gt;iptables&lt;/code&gt; with &lt;code&gt;sudo&lt;/code&gt; and the underlying system misses one of the kernel modules loaded by &lt;code&gt;iptables&lt;/code&gt;. In this case they can use the &lt;code&gt;--modprobe&lt;/code&gt; argument to run an arbitrary command.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="intro"&gt;Intro&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;ve ever played with &lt;em&gt;boot2root&lt;/em&gt; CTFs (like Hack The Box), worked as a penetration tester, or just broke the law by infiltrating random machines (&lt;u&gt;NO, DON&amp;rsquo;T DO THAT&lt;/u&gt;), chances are good that you found yourself with a low-privileged shell - &lt;code&gt;www-data&lt;/code&gt;, I&amp;rsquo;m looking at you - on a Linux machine.&lt;/p&gt;</description></item><item><title>Boost Security Audit</title><link>https://www.shielder.com/blog/2024/05/boost-security-audit/</link><pubDate>Wed, 22 May 2024 15:00:00 +0000</pubDate><guid>https://www.shielder.com/blog/2024/05/boost-security-audit/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Shielder, with &lt;a href="https://ostif.org/" target="_blank" rel="noopener noreferrer"&gt;OSTIF&lt;/a&gt; and &lt;a href="https://aws.amazon.com/" target="_blank" rel="noopener noreferrer"&gt;Amazon Web Services&lt;/a&gt;, performed a Security Audit on a subset of the &lt;a href="https://boost.org/" target="_blank" rel="noopener noreferrer"&gt;Boost&lt;/a&gt; C++ libraries.
The audit resulted in five (5) findings ranging from low to medium severity plus two (2) informative notices.
The Boost maintainers of the affected libraries addressed some of the issues, while some other were acknowledged as accepted risks.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Today, we are publishing the &lt;a href="https://github.com/ShielderSec/public-reports/blob/main/2024/%5BOSTIF%5D%20Boost%20-%20Report%20v1.4.pdf" target="_blank" rel="noopener noreferrer"&gt;full report&lt;/a&gt; in our &lt;a href="https://github.com/ShielderSec/public-reports/" target="_blank" rel="noopener noreferrer"&gt;dedicated repository&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In December 2023, Shielder was hired to perform a Security Audit of &lt;a href="https://boost.org/" target="_blank" rel="noopener noreferrer"&gt;Boost&lt;/a&gt;, a set of free peer-reviewed portable C++ source libraries. The audit has been sponsored by &lt;a href="https://aws.amazon.com/" target="_blank" rel="noopener noreferrer"&gt;Amazon Web Services&lt;/a&gt; and facilitated by the &lt;a href="https://ostif.org/" target="_blank" rel="noopener noreferrer"&gt;Open Source Technology Improvement Fund (OSTIF)&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Element Android CVE-2024-26131, CVE-2024-26132 - Never Take Intents From Strangers</title><link>https://www.shielder.com/blog/2024/04/element-android-cve-2024-26131-cve-2024-26132-never-take-intents-from-strangers/</link><pubDate>Thu, 18 Apr 2024 08:00:00 +0000</pubDate><guid>https://www.shielder.com/blog/2024/04/element-android-cve-2024-26131-cve-2024-26132-never-take-intents-from-strangers/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;During a security audit of &lt;a href="https://play.google.com/store/apps/details?id=im.vector.app&amp;amp;hl=en&amp;amp;gl=US" target="_blank" rel="noopener noreferrer"&gt;Element Android&lt;/a&gt;, the official &lt;a href="https://matrix.org" target="_blank" rel="noopener noreferrer"&gt;Matrix&lt;/a&gt; client for Android, we have identified two vulnerabilities in how specially forged intents generated from other apps are handled by the application. As an impact, a malicious application would be able to significatively break the security of the application, with possible impacts ranging from exfiltrating sensitive files via arbitrary chats to fully taking over victims&amp;rsquo; accounts. After private disclosure of the details, the vulnerabilities have been promptly accepted and fixed by the Element Android team.&lt;/p&gt;</description></item><item><title>Bref Security Audit</title><link>https://www.shielder.com/blog/2024/03/bref-security-audit/</link><pubDate>Fri, 29 Mar 2024 12:00:00 +0000</pubDate><guid>https://www.shielder.com/blog/2024/03/bref-security-audit/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Shielder, with &lt;a href="https://ostif.org/" target="_blank" rel="noopener noreferrer"&gt;OSTIF&lt;/a&gt; and &lt;a href="https://aws.amazon.com/" target="_blank" rel="noopener noreferrer"&gt;Amazon Web Services&lt;/a&gt;, performed a Security Audit of &lt;a href="https://bref.sh/" target="_blank" rel="noopener noreferrer"&gt;Bref&lt;/a&gt;.
The audit resulted in five (5) findings ranging from low to medium severity.
The Bref maintainers and community addressed most of the the issues in a timely and accurate manner.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Today, we are publishing the &lt;a href="https://github.com/ShielderSec/public-reports/blob/main/2024/%5BOSTIF%5D%20Bref%20-%20Report%20v1.2.pdf" target="_blank" rel="noopener noreferrer"&gt;full report&lt;/a&gt; in our &lt;a href="https://github.com/ShielderSec/public-reports/" target="_blank" rel="noopener noreferrer"&gt;dedicated repository&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In December 2023, Shielder was hired to perform a Security Audit of &lt;a href="https://bref.sh/" target="_blank" rel="noopener noreferrer"&gt;Bref&lt;/a&gt;, an open-source project that helps you go serverless on AWS with PHP. The audit has been sponsored by &lt;a href="https://aws.amazon.com/" target="_blank" rel="noopener noreferrer"&gt;Amazon Web Services&lt;/a&gt; and facilitated by the &lt;a href="https://ostif.org/" target="_blank" rel="noopener noreferrer"&gt;Open Source Technology Improvement Fund (OSTIF)&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Hunting for ~~Un~~authenticated n-days in Asus Routers</title><link>https://www.shielder.com/blog/2024/01/hunting-for-~~un~~authenticated-n-days-in-asus-routers/</link><pubDate>Tue, 30 Jan 2024 10:00:00 +0000</pubDate><guid>https://www.shielder.com/blog/2024/01/hunting-for-~~un~~authenticated-n-days-in-asus-routers/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;After reading online the details of a few published critical CVEs affecting ASUS routers, we decided to analyze the vulnerable firmware and possibly write an n-day exploit. While we identified the vulnerable piece of code and successfully wrote an exploit to gain RCE, we also discovered that in real-world devices, the &lt;em&gt;&amp;ldquo;Unauthenticated Remote&amp;rdquo;&lt;/em&gt; property of the reported vulnerability doesn&amp;rsquo;t hold true, depending on the current configuration of the device.&lt;/p&gt;</description></item><item><title>CVE-2023-33466 - Exploiting Healthcare Servers with Polyglot Files</title><link>https://www.shielder.com/blog/2023/10/cve-2023-33466-exploiting-healthcare-servers-with-polyglot-files/</link><pubDate>Tue, 24 Oct 2023 10:00:00 +0000</pubDate><guid>https://www.shielder.com/blog/2023/10/cve-2023-33466-exploiting-healthcare-servers-with-polyglot-files/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.orthanc-server.com/" target="_blank" rel="noopener noreferrer"&gt;Orthanc&lt;/a&gt; is an open source software to manage, exchange and visualize medical imaging data. In versions &amp;lt; 1.12.0, it is affected by an arbitrary file overwrite vulnerability (&lt;a href="https://nvd.nist.gov/vuln/detail/CVE-2023-33466" target="_blank" rel="noopener noreferrer"&gt;CVE-2023-33466&lt;/a&gt;) that might allow an authenticated attacker to obtain RCE on the system. The CVE was published on June 2023, but no exploit was publicly available for it, so we chose to publish this blogpost with more details about the vulnerability so you can &lt;a href="#exploit"&gt;exploit&lt;/a&gt; and mitigate it.&lt;/p&gt;</description></item><item><title>AWS CodeBuild + S3 == Privilege Escalation</title><link>https://www.shielder.com/blog/2023/07/aws-codebuild--s3-privilege-escalation/</link><pubDate>Mon, 10 Jul 2023 10:00:30 +0000</pubDate><guid>https://www.shielder.com/blog/2023/07/aws-codebuild--s3-privilege-escalation/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In the last decade one of the most common patterns observed in web applications is their shift to cloud environments. This means that in 2023 you can&amp;rsquo;t evaluate the security of a web application without going through a review of its cloud infrastructure as you might miss the elephant in the room.
That&amp;rsquo;s why we - as in Shielder - always try to learn new techniques to assess the security of cloud environments.
This post is about a privilege escalation vector which we have discovered during a recent assessment and which was not documented.&lt;/p&gt;</description></item><item><title>How to Decrypt Manage Engine PMP Passwords for Fun and Domain Admin - a Red Teaming Tale</title><link>https://www.shielder.com/blog/2022/09/how-to-decrypt-manage-engine-pmp-passwords-for-fun-and-domain-admin-a-red-teaming-tale/</link><pubDate>Mon, 05 Sep 2022 10:00:30 +0000</pubDate><guid>https://www.shielder.com/blog/2022/09/how-to-decrypt-manage-engine-pmp-passwords-for-fun-and-domain-admin-a-red-teaming-tale/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;During a recent Red Teaming assessment we have found an internet-exposed instance of ManageEngine&amp;rsquo;s Password Manager Pro which was vulnerable to a pre-authentication Remote Code Execution (&lt;a href="https://www.manageengine.com/products/passwordmanagerpro/advisory/cve-2022-35405.html" target="_blank" rel="noopener noreferrer"&gt;CVE-2022-35405&lt;/a&gt;).
After gaining code execution we reverse engineered the password encryption/decryption routine to decrypt all the passwords and hack our way to become Domain Admin.&lt;/p&gt;
&lt;h2 id="whats-a-red-teaming"&gt;What&amp;rsquo;s a Red Teaming?&lt;/h2&gt;
&lt;p&gt;Red Team(ing) is an abused word in the InfoSec world and it&amp;rsquo;s commonly used to define various things:&lt;/p&gt;</description></item><item><title>Printing Fake Fiscal Receipts - An Italian Job p.2</title><link>https://www.shielder.com/blog/2022/05/printing-fake-fiscal-receipts-an-italian-job-p.2/</link><pubDate>Mon, 16 May 2022 10:00:30 +0000</pubDate><guid>https://www.shielder.com/blog/2022/05/printing-fake-fiscal-receipts-an-italian-job-p.2/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;The ItalRetail RistorAndro app installed on the SpiceT fiscal printer is affected by a &lt;strong&gt;pre-authentication remote arbitrary file write&lt;/strong&gt; and an &lt;strong&gt;arbitrary app installation&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Moreover, the Android OS version installed is affected by two known vulnerabilities, namely &lt;a href="https://source.android.com/security/bulletin/2017-12-01" target="_blank" rel="noopener noreferrer"&gt;CVE-2017-13156 (Janus)&lt;/a&gt;, that allows to esclate the privileges to &lt;strong&gt;system&lt;/strong&gt;, and &lt;a href="https://dirtycow.ninja/" target="_blank" rel="noopener noreferrer"&gt;CVE-2016-5195 (DirtyCOW)&lt;/a&gt; that allows to escalate the privileges to &lt;strong&gt;root&lt;/strong&gt; in the &lt;strong&gt;vold&lt;/strong&gt; SELinux context.&lt;/p&gt;
&lt;h2 id="rewind-"&gt;Rewind ⏮&lt;/h2&gt;
&lt;p&gt;In &lt;a href="https://www.shielder.com/blog/2022/04/printing-fake-fiscal-receipts-an-italian-job-p.1/"&gt;the first post&lt;/a&gt; we analyzed the fiscal unit and its local attack surface. We discovered how it&amp;rsquo;s possible for any installed Android app to abuse the fiscal features.&lt;/p&gt;</description></item><item><title>Printing Fake Fiscal Receipts - An Italian Job p.1</title><link>https://www.shielder.com/blog/2022/04/printing-fake-fiscal-receipts-an-italian-job-p.1/</link><pubDate>Tue, 19 Apr 2022 10:00:30 +0000</pubDate><guid>https://www.shielder.com/blog/2022/04/printing-fake-fiscal-receipts-an-italian-job-p.1/</guid><description>&lt;h2 id="tldr"&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;Italretail SpiceT fiscal printer allows any installed Android app to talk to the fiscal unit to print receipts, forge data in the Electronic Journal, open the cash drawer, etc.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In this post series I will walk you through the vulnerabilities I&amp;rsquo;ve found during my &lt;a href="https://www.shielder.it/advisories/" target="_blank" rel="noopener noreferrer"&gt;research time&lt;/a&gt; on a fiscal printer model that is widely used in Italy.&lt;/p&gt;
&lt;p&gt;Lets take a step back to better understand what we are talking about.&lt;/p&gt;</description></item><item><title>A Sneak Peek into Smart Contracts Reversing and Emulation</title><link>https://www.shielder.com/blog/2022/04/a-sneak-peek-into-smart-contracts-reversing-and-emulation/</link><pubDate>Tue, 05 Apr 2022 10:00:30 +0000</pubDate><guid>https://www.shielder.com/blog/2022/04/a-sneak-peek-into-smart-contracts-reversing-and-emulation/</guid><description>&lt;p&gt;In the last years the web3 topic became increasingly relevant and, as for every buzzword, a lot of companies and start-ups started developing solutions based on it.&lt;br&gt;
Consequently there also was an increase on the number of attacks and vulnerabilities found in such projects, for example: &lt;a href="https://www.saurik.com/optimism.html" target="_blank" rel="noopener noreferrer"&gt;Saurik&amp;rsquo;s write up on Optimism&lt;/a&gt;, the &lt;a href="https://research.kudelskisecurity.com/2021/08/12/the-poly-network-hack-explained/" target="_blank" rel="noopener noreferrer"&gt;PolyNetwork hack&lt;/a&gt;, the &lt;a href="https://roninblockchain.substack.com/p/community-alert-ronin-validators?s=w" target="_blank" rel="noopener noreferrer"&gt;Ronin Validator compromission&lt;/a&gt;, and &lt;a href="https://coinmarketcap.com/alexandria/article/a-history-of-the-dao-hack" target="_blank" rel="noopener noreferrer"&gt;many&lt;/a&gt; &lt;a href="https://cointelegraph.com/news/accidentally-killed-it-parity-grapples-with-280-mln-locked-eth" target="_blank" rel="noopener noreferrer"&gt;more&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this post we will scratch the surface of the topic, limiting our focus on the Ethereum blockchain. We will take a look at the EVM bytecode, and learn how to reverse and emulate a smart contract with &lt;a href="https://github.com/qilingframework/qiling" target="_blank" rel="noopener noreferrer"&gt;Qiling&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Reversing embedded device bootloader (U-Boot) - p.2</title><link>https://www.shielder.com/blog/2022/03/reversing-embedded-device-bootloader-u-boot-p.2/</link><pubDate>Mon, 21 Mar 2022 11:00:30 +0000</pubDate><guid>https://www.shielder.com/blog/2022/03/reversing-embedded-device-bootloader-u-boot-p.2/</guid><description>&lt;p&gt;&lt;em&gt;This blog post is not intended to be a &amp;ldquo;101&amp;rdquo; ARM firmware reverse-engineering tutorial or a guide to attacking a specific IoT device. The goal is to share our experience and, why not, perhaps save you some precious hours and headaches.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="sum-up"&gt;Sum up&lt;/h2&gt;
&lt;p&gt;The first post dealt with some more theoretical aspects at a very low level, instead this one will show how we finally decrypted the kernel image. DO NOT PANIC - we will not be as long-winded as in the first post. 😇&lt;/p&gt;</description></item><item><title>Reversing embedded device bootloader (U-Boot) - p.1</title><link>https://www.shielder.com/blog/2022/03/reversing-embedded-device-bootloader-u-boot-p.1/</link><pubDate>Tue, 08 Mar 2022 14:20:30 +0000</pubDate><guid>https://www.shielder.com/blog/2022/03/reversing-embedded-device-bootloader-u-boot-p.1/</guid><description>&lt;p&gt;&lt;em&gt;This blog post is not intended to be a &amp;ldquo;101&amp;rdquo; ARM firmware reverse-engineering tutorial or a guide to attacking a specific IoT device. The goal is to share our experience and, why not, perhaps save you some precious hours and headaches.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="bootrom"&gt;&amp;ldquo;Bootrom&amp;rdquo;&lt;/h2&gt;
&lt;p&gt;In this two posts series, we will share an analysis of some aspects of reversing a low-level binary.&lt;br&gt;
Why? Well, we have to admit we struggled a bit to collect the information to build the basic knowledge about this topic and the material we found was often not comprehensive enough, or many aspects were taken for granted.
For this reason, we share here what we learned from multiple sources and try to collect them in these posts, while also trying to give some context and analyze the more complex or cryptic aspects.&lt;/p&gt;</description></item><item><title>QilingLab – Release</title><link>https://www.shielder.com/blog/2021/07/qilinglab-release/</link><pubDate>Wed, 21 Jul 2021 15:00:30 +0000</pubDate><guid>https://www.shielder.com/blog/2021/07/qilinglab-release/</guid><description>&lt;figure&gt;&lt;img src="https://www.shielder.com/img/blog/qiling_small.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Two years ago Ross Marks created the &lt;a href="https://rossmarks.uk/blog/fridalab/" target="_blank" rel="noopener noreferrer"&gt;FridaLab&lt;/a&gt; challenge as a playground to test and learn how to use the &lt;a href="https://frida.re" target="_blank" rel="noopener noreferrer"&gt;Frida&lt;/a&gt; dynamic instrumentation toolkit.&lt;/p&gt;
&lt;p&gt;At that time, I solved FridaLab and wrote a &lt;a href="https://www.shielder.com/blog/2019/02/fridalab-writeup/" target="_blank" rel="noopener noreferrer"&gt;writeup&lt;/a&gt; about it explaining the main APIs and usages of Frida for Android.
This helped others to start getting familiar with it and as a reference when developing Frida scripts.&lt;/p&gt;
&lt;p&gt;After trying Qiling for some time I decided to follow &lt;a href="https://twitter.com/0xRoM" target="_blank" rel="noopener noreferrer"&gt;Ross Marks&amp;rsquo;&lt;/a&gt; steps and to develop a basic playground challenge to make use of the main Qiling features and I &lt;em&gt;obviously&lt;/em&gt; called it &lt;strong&gt;QilingLab&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Hunting for bugs in Telegram's animated stickers remote attack surface</title><link>https://www.shielder.com/blog/2021/02/hunting-for-bugs-in-telegrams-animated-stickers-remote-attack-surface/</link><pubDate>Tue, 16 Feb 2021 09:00:00 +0100</pubDate><guid>https://www.shielder.com/blog/2021/02/hunting-for-bugs-in-telegrams-animated-stickers-remote-attack-surface/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;At the end of October &amp;lsquo;19 I was skimming the &lt;a href="https://github.com/drklo/telegram" target="_blank" rel="noopener noreferrer"&gt;Telegram&amp;rsquo;s android app code&lt;/a&gt;, learning about the technologies in use and looking for potentially interesting features. Just a few months earlier, Telegram had introduced the &lt;a href="https://telegram.org/blog/animated-stickers" target="_blank" rel="noopener noreferrer"&gt;animated stickers&lt;/a&gt;; after reading the blogpost I wondered how they worked &lt;em&gt;under-the-hood&lt;/em&gt; and if they created a new image format for it, then forgot about it.
Back to the skimming, I stumbled upon the &lt;a href="https://github.com/DrKLO/Telegram/tree/master/TMessagesProj/jni/rlottie" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;rlottie&lt;/strong&gt; folder&lt;/a&gt; and started googling. It turned out to be the &lt;a href="https://github.com/samsung/rlottie" target="_blank" rel="noopener noreferrer"&gt;Samsung native library&lt;/a&gt; for playing Lottie animations, originally created by &lt;a href="http://airbnb.io/lottie/#/" target="_blank" rel="noopener noreferrer"&gt;Airbnb&lt;/a&gt;. I don&amp;rsquo;t know about you but the combination of &lt;strong&gt;Telegram&lt;/strong&gt;, &lt;strong&gt;Samsung&lt;/strong&gt;, &lt;strong&gt;native&lt;/strong&gt; and &lt;strong&gt;animations&lt;/strong&gt; instantly triggered my interest in learning more 👀.&lt;/p&gt;</description></item><item><title>Re-discovering a JWT Authentication Bypass in ServiceStack</title><link>https://www.shielder.com/blog/2020/11/re-discovering-a-jwt-authentication-bypass-in-servicestack/</link><pubDate>Mon, 02 Nov 2020 09:37:42 +0100</pubDate><guid>https://www.shielder.com/blog/2020/11/re-discovering-a-jwt-authentication-bypass-in-servicestack/</guid><description>&lt;h3 id="tldr"&gt;TL;DR&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://servicestack.net" target="_blank" rel="noopener noreferrer"&gt;ServiceStack&lt;/a&gt; before version 5.9.2 failed to properly verify JWT signatures, allowing to forge arbitrary tokens and bypass authentication/authorization mechanisms.&lt;br&gt;
The vulnerability was &lt;a href="https://github.com/ServiceStack/ServiceStack/commit/540d4060e877a03ae95343c1a8560a26768585ee" target="_blank" rel="noopener noreferrer"&gt;discovered and patched&lt;/a&gt; by the ServiceStack team &lt;a href="https://docs.servicestack.net/jwt-authprovider#upgrade-to-v592" target="_blank" rel="noopener noreferrer"&gt;without highlighting the actual impact&lt;/a&gt;, so we chose to publish this blog post along with an &lt;a href="https://www.shielder.com/advisories/servicestack-jwt-signature-verification-bypass/"&gt;advisory&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="routine-checks--auth-bypass"&gt;Routine checks &amp;ndash;&amp;gt; Auth bypass&lt;/h2&gt;
&lt;p&gt;During a &lt;a href="https://www.shielder.com/services/application-security/" target="_blank" rel="noopener noreferrer"&gt;Web Application Penetration Test&lt;/a&gt; for one of our customers, I noticed that after the login process through a 3rd-party Oauth service the web application used &lt;a href="https://tools.ietf.org/html/rfc7519" target="_blank" rel="noopener noreferrer"&gt;JWT tokens&lt;/a&gt; to track sessions and privileges.&lt;/p&gt;</description></item><item><title>Sometimes they come back: exfiltration through MySQL and CVE-2020-11579</title><link>https://www.shielder.com/blog/2020/07/sometimes-they-come-back-exfiltration-through-mysql-and-cve-2020-11579/</link><pubDate>Tue, 28 Jul 2020 16:18:14 +0200</pubDate><guid>https://www.shielder.com/blog/2020/07/sometimes-they-come-back-exfiltration-through-mysql-and-cve-2020-11579/</guid><description>&lt;p&gt;Let&amp;rsquo;s jump straight to the strange behavior: up until &lt;a href="https://www.php.net/manual/en/mysqli.configuration.php" target="_blank" rel="noopener noreferrer"&gt;PHP 7.2.16&lt;/a&gt; it was possible by default to exfiltrate local files via the &lt;a href="https://dev.mysql.com/doc/refman/8.0/en/load-data.html" target="_blank" rel="noopener noreferrer"&gt;MySQL LOCAL INFILE feature&lt;/a&gt; through the connection to a malicious MySQL server. Considering that the previous PHP versions are still &lt;a href="https://w3techs.com/technologies/details/pl-php" target="_blank" rel="noopener noreferrer"&gt;the majority&lt;/a&gt; in use, these exploits will remain useful for quite some time.&lt;/p&gt;
&lt;p&gt;Like many other vulnerabilities, after reading about this &lt;em&gt;quite&lt;/em&gt;-unknown attack technique (&lt;a href="https://w00tsec.blogspot.com/2018/04/abusing-mysql-local-infile-to-read.html" target="_blank" rel="noopener noreferrer"&gt;1&lt;/a&gt;, &lt;a href="http://russiansecurity.expert/2016/04/20/mysql-connect-file-read/" target="_blank" rel="noopener noreferrer"&gt;2&lt;/a&gt;), I could not wait to find a vulnerable software where to practice such unusual dynamic. The chance finally arrived after a network penetration test where &lt;a href="https://twitter.com/smaury92" target="_blank" rel="noopener noreferrer"&gt;@smaury&lt;/a&gt; encountered &lt;a href="https://www.knowledgebase-script.com/" target="_blank" rel="noopener noreferrer"&gt;PHPKB&lt;/a&gt;, a knowledge-base software written in PHP which he felt might be interesting to review, and that was my trigger. 😏&lt;/p&gt;</description></item><item><title>1-click RCE on Keybase</title><link>https://www.shielder.com/blog/2020/04/1-click-rce-on-keybase/</link><pubDate>Mon, 27 Apr 2020 18:00:42 +0000</pubDate><guid>https://www.shielder.com/blog/2020/04/1-click-rce-on-keybase/</guid><description>&lt;h3 id="tldr"&gt;TL;DR&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://keybase.io/download" target="_blank" rel="noopener noreferrer"&gt;Keybase clients&lt;/a&gt; allowed to send links in chats with arbitrary schemes and arbitrary display text. On Windows it was possible to send an apparently harmless link which, when clicked, could execute arbitrary commands on the victim&amp;rsquo;s system.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://keybase.io/" target="_blank" rel="noopener noreferrer"&gt;Keybase&lt;/a&gt; is a chat, file sharing, git, * platform, similar to &lt;a href="https://slack.com/" target="_blank" rel="noopener noreferrer"&gt;Slack&lt;/a&gt;, but with a security in-depth approach. *Everything* on Keybase is encrypted, allowing you to relax while syncing your private files on the cloud.&lt;/p&gt;</description></item><item><title>NotSoSmartConfig: broadcasting WiFi credentials Over-The-Air</title><link>https://www.shielder.com/blog/2020/04/notsosmartconfig-broadcasting-wifi-credentials-over-the-air/</link><pubDate>Mon, 20 Apr 2020 16:00:00 +0000</pubDate><guid>https://www.shielder.com/blog/2020/04/notsosmartconfig-broadcasting-wifi-credentials-over-the-air/</guid><description>&lt;p&gt;During one of our latest &lt;a href="https://www.shielder.com/services/iot-security/"&gt;IoT Penetration Tests&lt;/a&gt; we tested a device based on the &lt;a href="https://www.espressif.com/en/products/hardware/esp32/resources" target="_blank" rel="noopener noreferrer"&gt;ESP32 SoC&lt;/a&gt; by EspressIF. While assessing the activation procedure we faced for the first time a beautiful yet dangerous protocol: &lt;strong&gt;SmartConfig&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The idea behind the &lt;a href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_smartconfig.html" target="_blank" rel="noopener noreferrer"&gt;SmartConfig&lt;/a&gt; protocol is to allow an unconfigured IoT device to connect to a WiFi network without requiring a direct connection between the configurator and the device itself – I know, it’s scary.&lt;/p&gt;</description></item><item><title>Don’t open that XML: XXE to RCE in XML plugins for VS Code, Eclipse, Theia, …</title><link>https://www.shielder.com/blog/2019/10/dont-open-that-xml-xxe-to-rce-in-xml-plugins-for-vs-code-eclipse-theia/</link><pubDate>Thu, 24 Oct 2019 17:22:53 +0000</pubDate><guid>https://www.shielder.com/blog/2019/10/dont-open-that-xml-xxe-to-rce-in-xml-plugins-for-vs-code-eclipse-theia/</guid><description>&lt;h3 id="tldr"&gt;TL;DR&lt;/h3&gt;
&lt;p&gt;LSP4XML, the library used to parse &lt;code&gt;XML&lt;/code&gt; files in VSCode-XML, Eclipse’s wildwebdeveloper, theia-xml and more, was affected by an &lt;code&gt;XXE&lt;/code&gt; (&lt;a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-18213" target="_blank" rel="noopener noreferrer"&gt;CVE-2019-18213&lt;/a&gt;) which lead to &lt;code&gt;RCE&lt;/code&gt; (&lt;a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-18212" target="_blank" rel="noopener noreferrer"&gt;CVE-2019-18212&lt;/a&gt;) exploitable by just opening a malicious &lt;code&gt;XML&lt;/code&gt; file.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;2019 seems to be &lt;a href="https://www.owasp.org/index.php/XML_External_Entity_%28XXE%29_Processing" target="_blank" rel="noopener noreferrer"&gt;XXE&lt;/a&gt;’s year: during the latest &lt;a href="https://www.shielder.com/services/application-security/"&gt;Penetration Tests&lt;/a&gt; we successfully exploited a fair amount of &lt;code&gt;XXE&lt;/code&gt;s, an example being &lt;a href="https://www.shielder.com/blog/exploit-apache-solr-through-opencms/" target="_blank" rel="noopener noreferrer"&gt;https://www.shielder.com/blog/exploit-apache-solr-through-opencms/&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.shielder.com/img/blog/xxe_everywhere.jpg"
 alt="XXE, XXE everywhere meme"&gt;
&lt;/figure&gt;

&lt;p&gt;It all started during a web application penetration test, while I was trying to exploit a &lt;code&gt;blind XXE&lt;/code&gt; with &lt;a href="https://twitter.com/zi0black" target="_blank" rel="noopener noreferrer"&gt;zi0black&lt;/a&gt;. We started with a standard &lt;code&gt;XXE&lt;/code&gt; payload with an external &lt;code&gt;DTD&lt;/code&gt; pointing to our listening web-server; we knew the target server couldn’t perform &lt;code&gt;HTTP&lt;/code&gt; requests to the internet, so we were expecting only a &lt;code&gt;DNS&lt;/code&gt; interaction, but then we received two different &lt;code&gt;DNS&lt;/code&gt; interactions and one &lt;code&gt;HTTP&lt;/code&gt; request… What the Phrack?!&lt;/p&gt;</description></item><item><title>Exploiting an old noVNC XSS (CVE-2017-18635) in OpenStack</title><link>https://www.shielder.com/blog/2019/10/exploiting-an-old-novnc-xss-cve-2017-18635-in-openstack/</link><pubDate>Sat, 19 Oct 2019 17:40:30 +0000</pubDate><guid>https://www.shielder.com/blog/2019/10/exploiting-an-old-novnc-xss-cve-2017-18635-in-openstack/</guid><description>&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; noVNC had a &lt;strong&gt;DOM-based XSS&lt;/strong&gt; that allowed attackers to use a malicious VNC&lt;br&gt;
server to inject JavaScript code inside the web page.&lt;br&gt;
As OpenStack uses noVNC and its patching system doesn’t update third parties’ software, fully-updated OpenStack installations may still be vulnerable.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.shielder.com/img/blog/openstack-novnc-xss.png"&gt;
&lt;/figure&gt;

&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Last week I was testing an &lt;strong&gt;OpenStack&lt;/strong&gt; infrastructure during a &lt;a href="https://www.shielder.com/servizi/sicurezza-informatica/penetration-test.php" target="_blank" rel="noopener noreferrer"&gt;Penetration Test&lt;/a&gt;.&lt;br&gt;
OpenStack is a &lt;em&gt;free&lt;/em&gt; and &lt;em&gt;open-source&lt;/em&gt; software platform for cloud computing, where you can manage and deploy virtual servers and other resources.&lt;br&gt;
OpenStack is a huge piece of software, made of many different “&lt;em&gt;modules&lt;/em&gt; ”, as can be seen in the &lt;a href="https://github.com/openstack/openstack" target="_blank" rel="noopener noreferrer"&gt;official Github repository&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Exploiting Apache Solr through OpenCMS</title><link>https://www.shielder.com/blog/2019/04/exploiting-apache-solr-through-opencms/</link><pubDate>Sat, 13 Apr 2019 09:19:53 +0000</pubDate><guid>https://www.shielder.com/blog/2019/04/exploiting-apache-solr-through-opencms/</guid><description>&lt;h2 id="tldr"&gt;Tl;dr&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s possible to exploit a known Apache Solr vulnerability through OpenCMS.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://www.shielder.com/img/blog/apachesolr-meme.jpg"
 alt="Introduction meme"&gt;&lt;figcaption&gt;
 &lt;p&gt;Introduction meme&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;During one of my last Penetration Test I was asked to analyze some &lt;a href="http://www.opencms.org/en/" target="_blank" rel="noopener noreferrer"&gt;OpenCMS&lt;/a&gt; instances. Before the assessment I wasn&amp;rsquo;t really familiar with OpenCMS, so I spent some time on the official documentation in order to understand how it works, which is the default configuration and if there are some security-related configurations which I should check during the test.&lt;/p&gt;</description></item><item><title>Nagios XI 5.5.10: XSS to #</title><link>https://www.shielder.com/blog/2019/04/nagios-xi-5.5.10-xss-to-/</link><pubDate>Wed, 10 Apr 2019 13:10:36 +0000</pubDate><guid>https://www.shielder.com/blog/2019/04/nagios-xi-5.5.10-xss-to-/</guid><description>&lt;h2 id="tldr"&gt;Tl;dr&lt;/h2&gt;
&lt;p&gt;A remote attacker could trick an authenticated victim (with “autodiscovery job” creation privileges) to visit a malicious URL and obtain a remote root shell via a reflected Cross-Site Scripting (XSS), an authenticated Remote Code Execution (RCE) and a Local Privilege Escalation (LPE).&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;A few months ago I read about &lt;a href="https://medium.com/tenable-techblog/rooting-nagios-via-outdated-libraries-bb79427172" target="_blank" rel="noopener noreferrer"&gt;some Nagios XI vulnerabilities&lt;/a&gt; which got me interested in studying it a bit by myself. For those of you who don&amp;rsquo;t know what Nagios XI is I suggest you have a look &lt;a href="https://www.nagios.com/products/nagios-xi/" target="_blank" rel="noopener noreferrer"&gt;at their website&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>WebTech, identify technologies used on websites</title><link>https://www.shielder.com/blog/2019/03/webtech-identify-technologies-used-on-websites/</link><pubDate>Fri, 08 Mar 2019 00:37:49 +0000</pubDate><guid>https://www.shielder.com/blog/2019/03/webtech-identify-technologies-used-on-websites/</guid><description>&lt;figure&gt;&lt;img src="https://www.shielder.com/img/blog/webtech_help.png"&gt;
&lt;/figure&gt;

&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;We’re very proud to release WebTech as open-source software.&lt;br&gt;
WebTech is a Python software that can identify web technologies by visiting a given website, parsing a single response file or replaying a request described in a text file. This way you can have reproducible results and minimize the requests you need to make to a target website.&lt;/p&gt;
&lt;p&gt;The RECON phase in a Penetration Test is one among the most important ones. By being able to detect which software runs on the target it’s easier to search for vulnerabilities in a specific module or version.&lt;br&gt;
WebTech scans websites and detect software and versions in use and can report data in a structured format like JSON or in a grepable text for later analysis.&lt;/p&gt;</description></item><item><title>FridaLab – Writeup</title><link>https://www.shielder.com/blog/2019/02/fridalab-writeup/</link><pubDate>Mon, 04 Feb 2019 15:20:24 +0000</pubDate><guid>https://www.shielder.com/blog/2019/02/fridalab-writeup/</guid><description>&lt;figure&gt;&lt;img src="https://www.shielder.com/img/blog/frida.png"&gt;
&lt;/figure&gt;

&lt;p&gt;Today I solved &lt;a href="http://rossmarks.uk/blog/fridalab/" target="_blank" rel="noopener noreferrer"&gt;FridaLab&lt;/a&gt;, a playground Android application for playing with &lt;a href="https://www.frida.re" target="_blank" rel="noopener noreferrer"&gt;Frida&lt;/a&gt; and testing your skills.&lt;/p&gt;
&lt;p&gt;The app is made of various challenges, with increasing difficulty, that will guide you through Frida’s potential.&lt;/p&gt;
&lt;p&gt;This is a writeup with solutions to the challenges in FridaLab. We suggest the reader to take a look at it and try to solve it by itself before reading further.&lt;/p&gt;
&lt;p&gt;In this writeup we will assume that the reader has a working environment with &lt;a href="https://github.com/frida/frida/releases" target="_blank" rel="noopener noreferrer"&gt;&lt;em&gt;frida-server&lt;/em&gt;&lt;/a&gt; already installed on the Android device and &lt;a href="https://pypi.org/project/frida-tools/" target="_blank" rel="noopener noreferrer"&gt;&lt;em&gt;frida-tools&lt;/em&gt;&lt;/a&gt; installed on the PC as well, since we will not cover those topics.&lt;/p&gt;</description></item><item><title>XSSGame by Google at #HITB2017AMS – Writeup</title><link>https://www.shielder.com/blog/2017/04/xssgame-by-google-at-hitb2017ams-writeup/</link><pubDate>Wed, 26 Apr 2017 10:19:22 +0000</pubDate><guid>https://www.shielder.com/blog/2017/04/xssgame-by-google-at-hitb2017ams-writeup/</guid><description>&lt;figure&gt;&lt;img src="https://www.shielder.com/img/blog/googlectf-intro.png"
 alt="CTF&amp;rsquo;s homepage"&gt;&lt;figcaption&gt;
 &lt;p&gt;CTF&amp;rsquo;s homepage&lt;/p&gt;
 &lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;During the last edition of &lt;a href="https://conference.hitb.org/hitbsecconf2017ams/" target="_blank" rel="noopener noreferrer"&gt;HITB&lt;/a&gt; in Amsterdam we partecipated in the &lt;a href="https://hitb.xssgame.com/" target="_blank" rel="noopener noreferrer"&gt;XSSGame&lt;/a&gt; by Google: 8 XSS challenges to win a &lt;a href="https://www.google.com/nexus/5x/" target="_blank" rel="noopener noreferrer"&gt;Nexus 5X&lt;/a&gt;. The various levels exposed common vulnerabilities present in modern web apps.&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Each level required to trigger the JavaScript&amp;rsquo;s &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/alert" target="_blank" rel="noopener noreferrer"&gt;alert function&lt;/a&gt; by creating an URL with a Cross-Site Scripting (&lt;a href="https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29" target="_blank" rel="noopener noreferrer"&gt;XSS&lt;/a&gt;) payload inside, which should be executed without any user interaction: once it is executed, the server replies with the link to the following challenge.&lt;/p&gt;</description></item></channel></rss>