{"id":2339,"date":"2018-09-08T06:50:29","date_gmt":"2018-09-08T06:50:29","guid":{"rendered":"https:\/\/www.varutra.com\/blog\/?p=1559"},"modified":"2022-12-02T15:49:09","modified_gmt":"2022-12-02T10:19:09","slug":"case-study-java-serialization","status":"publish","type":"post","link":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/","title":{"rendered":"Case Study &#8211; New way to Exploit Java Deserialization Vulnerability"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/varutra-1a3b6.kxcdn.com\/wp-content\/uploads\/2018\/09\/java-desc-1024x683.png\"  class=\"sh-overlay-item sh-table-cell ls-is-cached lazyloaded\" data-rel=\"lightcase\" title=\"java desc - Varutra Consulting\"><\/p>\n<h3><a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/Desearlization-exploitation.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-1586 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/Desearlization-exploitation.png\" alt=\"\" width=\"727\" height=\"361\" \/><\/a><\/h3>\n<p><strong>Introduction<\/strong><\/p>\n<p>In this case study, we will not focus on how serialization vulnerabilities and how they work because there are plenty of articles on this subject. Instead, we will focus on how to reliably detect and exploit these issues. For this task, all we need to know is that the vulnerability depends on how Java deserializes serialized objects. Default Java classes responsible for the deserialization task first deserialize each serialized object and then try to cast the object to the expected Java class. So, all the received objects are deserialized, even if they are not instances of the expected types; in this case, after deserialization an exception arises when trying to cast the object to the expected type. What makes the issue so critical is the fact that the Java language offers the possibility to add custom code to the class definition that is executed upon deserialization.<\/p>\n<p>For this reason, to be able to achieve Remote Command Execution (RCE) it is necessary to find a \u201cchain\u201d to an object that, once deserialized, allows the attacker to execute arbitrary Java code. Obviously, the class of the chosen object must be loaded in the ClassLoader of the target system. For this reason, usually some \u201cvulnerable\u201d libraries are needed to exploit this issue. These libraries expose the objects used for the exploitation, but the vulnerability itself lies in how Java deserializes the objects, and not in the libraries used for the exploitation. Removing only the \u201cvulnerable\u201d libraries does not protect completely against this issue, because new chains could be discovered and the vulnerability could be triggered anyway.<\/p>\n<p>Once a deserialization issue is discovered, the ysoserial tool can be used for exploitation. This tool generates custom exploitation vectors, based on the \u201cvulnerable\u201d libraries loaded in the target system. In this article we will analyze how to discover and exploit Java deserialization vulnerabilities using a Burp Suite plugin we developed based on ysoserial: the Java Deserialization Scanner.<\/p>\n<p><strong>Installation<\/strong><\/p>\n<p>The Java Deserialization Scanner plugin can be installed in two ways:<\/p>\n<ul>\n<li>Download it directly in Burp Suite from the BApp Store (Extender -&gt; BApp Store). This is the easiest way to get the plugin, but the downloaded version may not be the latest one. At the moment, for example, the latest version (0.5 pre-release) is available only from GitHub (see next method). When the release version will be published, we will submit it to the BApp Store.<\/li>\n<li>Download the latest release from GitHub and manually install the JAR from the Burp Suite Extender tab (Extender -&gt; Extensions -&gt; Add)<\/li>\n<\/ul>\n<p><strong>Serialization<\/strong><\/p>\n<p>Serialization is the process of converting a complex object into a representation that can more easily be transmitted.<\/p>\n<ol>\n<li>To transfer over a network or write to a persistent store<\/li>\n<li>AKA \u201cmarshalling\u201d or \u201cpickling\u201d<\/li>\n<\/ol>\n<p>Deserialization is the process of recreating the object from that representation.<\/p>\n<ol>\n<li>As when receiving data over a network<\/li>\n<li>AKA \u201cunmarshalling\u201d or \u201cunpickling\u201d<\/li>\n<\/ol>\n<p>Several Java technologies are layered over serialization:<\/p>\n<ul>\n<li>Remote Method Invocation (RMI)<\/li>\n<li>Java Management Extensions (JMX)<\/li>\n<\/ul>\n<p style=\"text-align: center\"><a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/bbbbbbbbbbbbbbbbbbbb-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1562 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/bbbbbbbbbbbbbbbbbbbb-1-1024x369.png\" alt=\"\" width=\"540\" height=\"195\" \/><\/a><\/p>\n<p style=\"text-align: center\">PoC:\u00a0Serialization Process<\/p>\n<p><strong>Trust Boundaries<\/strong><\/p>\n<p>Web Application often contains multiple components &amp; libraries each component may operate in one or more trusted domains.<\/p>\n<ul>\n<li>Details of trusted domains driven by architecture, security policy, required resources, functionality, etc.<\/li>\n<\/ul>\n<p>Examples:<\/p>\n<ol>\n<li>Component A can access file system, but lacks any network access.<\/li>\n<li>Component B has general network access, but lacks access to the file system and the secure network.<\/li>\n<li>Component C can access a secure network, but lacks access to the file system and the general network.<\/li>\n<\/ol>\n<p><strong>Deserialization of Untrusted Data<\/strong><\/p>\n<p>In Java, reading a Data object from a serialized stream is as simple as:<\/p>\n<p>ObjectInputStream in = new ObjectInputStream( inputStream );<\/p>\n<p>return (Data)in.readObject();<\/p>\n<p>The problem is that there\u2019s no way to know what object Deserializing before it gets decoded.\u00a0 So an attacker can serialize a bunch of malicious objects and send them to web application. Hence, the call of readObject (), it gets too late. The attacker\u2019s malicious objects have already been instantiated, and have taken over entire server.<\/p>\n<p><strong>Detection<\/strong><\/p>\n<p>The detection of deserialization vulnerabilities is not always a simple task. By generating a payload with ysoserial and sending it to the target application, usually we may either get a Java Stack Trace (and if we are lucky we can discover the presence of the issue, but only with a knowledge of the vulnerable library targeted) or no verbose output at all.<\/p>\n<p>Therefore, in order to reliably detect the presence of the vulnerability, we modified ysoserial to generate Java native sleep payloads instead of RCE payloads and we added these payloads to the Java Deserialization Scanner. For this task it is necessary to use Java native sleep payloads, because the Java sleep call is synchronous; executing a system sleep using the default RCE payloads generated by ysoserial would be useless, because they are asynchronous and we would get the response from the server before the end of the sleep command, regardless of the presence or the absence of the issue.<\/p>\n<p>In the latest version of the plugin, we added two new methods to further improve detection:<\/p>\n<ul>\n<li>DNS<\/li>\n<li>CPU<\/li>\n<\/ul>\n<p>In order to generate payloads that execute native Java DNS resolution, we modified ysoserial again. Usually, DNS resolution requests are the ones that are most likely to bypass corporate firewalls and consequently are a quite good detection method. In general, the timing method is more reliable and preferable, but the DNS method can be useful on unstable systems or highly delayed networks. Thanks to Burp Suite Collaborator, it is not necessary to have authority on a DNS zone, and everything can be done within the Burp Suite pro tool.<\/p>\n<p>The CPU detection method is based on <a href=\"https:\/\/gist.github.com\/coekie\/a27cc406fc9f3dc7a70d\">Wouter Coekaerts\u2019 SerialDOS work<\/a>: it is able to detect deserialization issues without the presence of any vulnerable library. The payload is based on a system object (java.util.HashSet) that employs many CPU cycles for the deserialization task. SerialDOS was created as a PoC of a Denial of Service (DoS) attack, but by decreasing the CPU cycles necessary for deserialization it can also be used as a detection method. This payload is very useful to detect if the application endpoint actually performs Java deserialization and if it implements a strict whitelist.<\/p>\n<p>approach. If this check gives a positive result there is also the possibility that the target application implements a whitelist approach that permits HashSet class of java.util package. In this case the application is still vulnerable to DoS attacks (using full-power SerialDOS payloads).<\/p>\n<p><strong>Demonstration<\/strong><\/p>\n<p>Now, let\u2019s demonstrate how to use desearlization plugin for detection. The detection is integrated in Burp Suite Active and Passive Scanner. By default, Time and DNS checks are added to Burp Suite scanner, but they can be disabled from the Configurations panel of the plugin, in the section \u201cAutomatic scanner configurations\u201d:<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/ccccccccccccccc.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1564 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/ccccccccccccccc-1024x208.png\" alt=\"\" width=\"540\" height=\"110\" \/><\/a><\/p>\n<p>In order to reduce the number of requests executed by the Active Scanner, the checks added by the plugin are executed only if a serialized object is present in the original request. The payload is encoded with the same encoding found in the original request (for instance, if the serialized object is encoded in BASE64, the exploit vector will be encoded in BASE64 and so on). The currently supported encoding formats are:<\/p>\n<ul>\n<li>Raw<\/li>\n<li>BASE64<\/li>\n<li>ASCII HEX<\/li>\n<li>GZIP<\/li>\n<li>BASE64 GZIP<\/li>\n<\/ul>\n<p>The CPU detection method is not included by default in the active scan checks, because it must be used with caution: sending a huge number of \u201clight\u201d SerialDOS payloads may still cause problems on old or highly-loaded systems. In order to execute checks with custom insertion points or use the CPU payload, the plugin provides the \u201cManual Testing\u201d tab, in which the user can select the insertion point (currently only one at a time is supported) like in the Burp Suite Intruder, choose the check type (DNS, Time, or CPU), choose the preferred encoding and test the parameter. By selecting Sleep or DNS checks, the plugin tests all the supported vulnerable libraries, while with the CPU check the plugin will use a library-independent CPU payload. By default, detected issues are automatically added to the global issues of the host, but this behavior can be disabled in the \u201cConfigurations\u201d tab. In the same tab it is possible to enable verbose mode, in order to inspect the requests and their responses in the results pane.<\/p>\n<p>The requests to test can be manually inserted in the Manual Testing tab or can be sent from other Burp Suite tabs using the contextual menu that opens with the right button of the mouse:<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/dddddddddddddd.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1565 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/dddddddddddddd-1024x646.png\" alt=\"\" width=\"540\" height=\"341\" \/><\/a><\/p>\n<p style=\"text-align: center\">PoC: Menu for exploitation<\/p>\n<p>The configuration of the Manual Testing tool is explained in the following PoC:<\/p>\n<p style=\"text-align: center\"><a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/Steps-for-Detection-of-Serialization-Vulnerability-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1577 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/Steps-for-Detection-of-Serialization-Vulnerability-1-1024x525.png\" alt=\"\" width=\"540\" height=\"277\" \/><\/a>PoC: Steps for Detection of Serialization Vulnerability<\/p>\n<p><strong>Exploitation<\/strong><\/p>\n<p>The \u201cExploiting\u201d tab offers a comfortable interface to exploit deserialization vulnerabilities. This tab uses the ysoserial tool to generate exploitation vectors and includes the generated payload in a HTTP request. ysoserial takes as argument a vulnerable library and a command and generates a serialized object in binary form that can be sent to the vulnerable application to execute the command on the target system (obviously if the target application is vulnerable). The Exploiting tab supports the same encoding formats as the detection sections of the plugin.<\/p>\n<p>Now, let\u2019s demonstrate how to use the plugin for exploitation. First, we need to open the \u201cConfiguration\u201d tab and insert the path where we have a copy of the ysoserial tool (ysoserial is necessary only for exploitation; detection payloads are already included in the plugin):<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/fffffffffffffffff.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1567 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/fffffffffffffffff-1024x263.png\" alt=\"\" width=\"540\" height=\"139\" \/><\/a><\/p>\n<p style=\"text-align: center\">PoC: Configuration Tab<\/p>\n<p><strong>Step: 1 &#8211;<\/strong> Then, as we saw for manual testing, it is possible to insert the request manually or to send it from other Burp Suite tabs using the contextual menu that opens with the right button of the mouse. The user can then select the insertion point (currently only one at a time is supported) like in the Burp Suite Intruder, insert the ysoserial command (refer to the ysoserial manual for syntax) and click the correct \u201cAttack\u201d button, based on the desired encoding. The configuration of the \u201cExploiting\u201d tool is explained in the following PoC:<a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/gggggggggggggggg.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1568 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/gggggggggggggggg-1024x509.png\" alt=\"\" width=\"540\" height=\"268\" \/><\/a><\/p>\n<p style=\"text-align: center\">PoC: Steps to Perform Manual Exploitation<\/p>\n<p><strong>Step: 2 &#8211;<\/strong> As shown in above PoC, we have used burp collaborator to check whether it is exploitable with the help of ping command. Burp Suite Collaborator is an external server added to Burp Suite in order to discover out-of-band vulnerabilities and issues that can be found only from external service interaction. It is a great tool and increases the power of Burp Suite Scanner a lot. However, a simple ping payload that does a DNS query confirmed that the system is indeed vulnerable.<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/hhhhhhhhhhhhhh.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1569 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/hhhhhhhhhhhhhh-1024x510.png\" alt=\"\" width=\"540\" height=\"269\" \/><\/a><\/p>\n<p style=\"text-align: center\">PoC: DNS Query to Burp Collaborator Server<\/p>\n<p><strong>Step: 3 &#8211;<\/strong> For further exploitation, we can use windows commands like nslookup to check if any DNS query is received, so that we can confirm the vulnerability as shown in following PoC.<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/iiiiiiiiiiiiiiiii.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1570 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/iiiiiiiiiiiiiiiii-1024x509.png\" alt=\"\" width=\"540\" height=\"268\" \/><\/a><\/p>\n<p style=\"text-align: center\">PoC: Nslookup<\/p>\n<p><strong>Step: 4 &#8211;<\/strong> As we know that, it is vulnerable for serialization attack so that we can craft our payload as harmful as possible and we have clue about that it is using windows server. Hence, we can craft the payload accordingly like we will send the command restart to server. Payload as motioned in the following PoC.<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/jjjjjjjjjjjjjjjjjj.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1571 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/jjjjjjjjjjjjjjjjjj-1024x510.png\" alt=\"\" width=\"540\" height=\"269\" \/><\/a><\/p>\n<p style=\"text-align: center\">PoC: Restart Command sent to Windows Server<\/p>\n<p><strong>Step: 5 &#8211;<\/strong> After the command execution server will get restart and it will show service unavailable error. Our exploitation part will get successful. Attacker can do remote code execution (RCE) by using serialization vulnerability.<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/kkkkkkkkkkkkkkk.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1572 aligncenter\" src=\"https:\/\/www.varutra.com\/blog\/wp-content\/uploads\/2018\/09\/kkkkkkkkkkkkkkk-1024x663.png\" alt=\"\" width=\"540\" height=\"350\" \/><\/a><\/p>\n<p style=\"text-align: center\">PoC: Server gets restart and it will display \u201cService Unavailable\u201d<\/p>\n<p><strong>Additional considerations<\/strong><\/p>\n<p>Once the vulnerability is confirmed, the PenTester may need to do some trial and error of commands to execute in order to get a shell. Here are a few useful tips getting that working:<\/p>\n<ul>\n<li>Make sure to test various reverse shell commands (see <a href=\"http:\/\/pentestmonkey.net\/cheat-sheet\/shells\/reverse-shell-cheat-sheet\">Reverse Shell Cheat-Sheet<\/a>)<\/li>\n<li>Common collection payload may fail on certain JVM (IBM J9 for example). Mathias Kaiser made a payload specifically to support less common JVM: see <a href=\"https:\/\/github.com\/frohoff\/ysoserial\/blob\/master\/src\/main\/java\/ysoserial\/payloads\/CommonsCollections6.java\">CommonsCollections6<\/a>.<\/li>\n<li>If a security manager is enforced, may need to craft a custom payloads. One prevalent approach is to find the path to the web root directory and write a web shell that could be later executed.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Author,<\/p>\n<p>Tanmay Nashte<br \/>\n<em>Attack &amp; PenTest Team<\/em><\/p>\n<p><em>Varutra Consulting<\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>Introduction In this case study, we will not focus on how serialization vulnerabilities and how they work because there are plenty of articles on this&#8230;<\/p>\n","protected":false},"author":3,"featured_media":3204,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[259,140,284,289,121,272],"tags":[139,141,142,143,144],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 4.6.3 - aioseo.com -->\n\t\t<meta name=\"description\" content=\"In this case study, we will not focus on how serialization vulnerabilities. Instead, we will focus on New way to Exploit Java Deserialization Vulnerability.\" \/>\n\t\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t\t<link rel=\"canonical\" href=\"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 4.6.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Varutra Consulting\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"New way to Exploit Java Deserialization Vulnerability\" \/>\n\t\t<meta property=\"og:description\" content=\"In this case study, we will not focus on how serialization vulnerabilities. Instead, we will focus on New way to Exploit Java Deserialization Vulnerability.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2018\/09\/java-desc.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2018\/09\/java-desc.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1125\" \/>\n\t\t<meta property=\"og:image:height\" content=\"750\" \/>\n\t\t<meta property=\"article:section\" content=\"Authentication &amp; Authorization\" \/>\n\t\t<meta property=\"article:tag\" content=\"attack and pentest\" \/>\n\t\t<meta property=\"article:tag\" content=\"case study\" \/>\n\t\t<meta property=\"article:tag\" content=\"information security\" \/>\n\t\t<meta property=\"article:tag\" content=\"java serialization\" \/>\n\t\t<meta property=\"article:tag\" content=\"vulnerability\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2018-09-08T06:50:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-12-02T10:19:09+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"New way to Exploit Java Deserialization Vulnerability\" \/>\n\t\t<meta name=\"twitter:description\" content=\"In this case study, we will not focus on how serialization vulnerabilities. Instead, we will focus on New way to Exploit Java Deserialization Vulnerability.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2018\/09\/java-desc.png\" \/>\n\t\t<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t\t<meta name=\"twitter:data1\" content=\"kalpadmin\" \/>\n\t\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#article\",\"name\":\"New way to Exploit Java Deserialization Vulnerability\",\"headline\":\"Case Study &#8211; New way to Exploit Java Deserialization Vulnerability\",\"author\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/java-desc.png\",\"width\":1125,\"height\":750,\"caption\":\"java desc\"},\"datePublished\":\"2018-09-08T06:50:29+05:30\",\"dateModified\":\"2022-12-02T15:49:09+05:30\",\"inLanguage\":\"en-US\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#webpage\"},\"articleSection\":\"Authentication &amp; Authorization, Case Study, Encryption &amp; Cryptography, Java Security, Thick Client Penetration Testing, Web Application Security, attack and pentest, Case Study, information security, Java Serialization, Vulnerability\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/\",\"nextItem\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#listItem\"},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#listItem\",\"position\":2,\"name\":\"Case Study - New way to Exploit Java Deserialization Vulnerability\",\"previousItem\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#listItem\"}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#organization\",\"name\":\"Varutra\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Varutra-Found-e1612984024606.jpg\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#organizationLogo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/admin\\\/\",\"name\":\"kalpadmin\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d69b4bf504d3e2e3c6ad0c424e16bcb2?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"kalpadmin\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#webpage\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/\",\"name\":\"New way to Exploit Java Deserialization Vulnerability\",\"description\":\"In this case study, we will not focus on how serialization vulnerabilities. Instead, we will focus on New way to Exploit Java Deserialization Vulnerability.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/author\\\/admin\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/wp-content\\\/uploads\\\/2018\\\/09\\\/java-desc.png\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#mainImage\",\"width\":1125,\"height\":750,\"caption\":\"java desc\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/case-study-java-serialization\\\/#mainImage\"},\"datePublished\":\"2018-09-08T06:50:29+05:30\",\"dateModified\":\"2022-12-02T15:49:09+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#website\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/\",\"name\":\"Varutra Consulting\",\"description\":\"Secure your digital world with our Cybersecurity services.\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>New way to Exploit Java Deserialization Vulnerability<\/title>\n\n","aioseo_head_json":{"title":"New way to Exploit Java Deserialization Vulnerability","description":"In this case study, we will not focus on how serialization vulnerabilities. Instead, we will focus on New way to Exploit Java Deserialization Vulnerability.","canonical_url":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"og:locale":"en_US","og:site_name":"Varutra Consulting","og:type":"article","og:title":"New way to Exploit Java Deserialization Vulnerability","og:description":"In this case study, we will not focus on how serialization vulnerabilities. Instead, we will focus on New way to Exploit Java Deserialization Vulnerability.","og:url":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/","og:image":"https:\/\/www.varutra.com\/wp-content\/uploads\/2018\/09\/java-desc.png","og:image:secure_url":"https:\/\/www.varutra.com\/wp-content\/uploads\/2018\/09\/java-desc.png","og:image:width":"1125","og:image:height":"750","article:section":"Authentication &amp; Authorization","article:tag":["attack and pentest","case study","information security","java serialization","vulnerability"],"article:published_time":"2018-09-08T06:50:29+00:00","article:modified_time":"2022-12-02T10:19:09+00:00","twitter:card":"summary_large_image","twitter:title":"New way to Exploit Java Deserialization Vulnerability","twitter:description":"In this case study, we will not focus on how serialization vulnerabilities. Instead, we will focus on New way to Exploit Java Deserialization Vulnerability.","twitter:image":"https:\/\/www.varutra.com\/wp-content\/uploads\/2018\/09\/java-desc.png","twitter:label1":"Written by","twitter:data1":"kalpadmin","twitter:label2":"Est. reading time","twitter:data2":"10 minutes","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#article","name":"New way to Exploit Java Deserialization Vulnerability","headline":"Case Study &#8211; New way to Exploit Java Deserialization Vulnerability","author":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2018\/09\/java-desc.png","width":1125,"height":750,"caption":"java desc"},"datePublished":"2018-09-08T06:50:29+05:30","dateModified":"2022-12-02T15:49:09+05:30","inLanguage":"en-US","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#webpage"},"isPartOf":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#webpage"},"articleSection":"Authentication &amp; Authorization, Case Study, Encryption &amp; Cryptography, Java Security, Thick Client Penetration Testing, Web Application Security, attack and pentest, Case Study, information security, Java Serialization, Vulnerability"},{"@type":"BreadcrumbList","@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/#listItem","position":1,"name":"Home","item":"https:\/\/www.varutra.com\/varutravrt3\/","nextItem":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#listItem"},{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#listItem","position":2,"name":"Case Study - New way to Exploit Java Deserialization Vulnerability","previousItem":"https:\/\/www.varutra.com\/varutravrt3\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/www.varutra.com\/varutravrt3\/#organization","name":"Varutra","url":"https:\/\/www.varutra.com\/varutravrt3\/","logo":{"@type":"ImageObject","url":"https:\/\/www.varutra.com\/wp-content\/uploads\/2021\/11\/Varutra-Found-e1612984024606.jpg","@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#organizationLogo"},"image":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/admin\/#author","url":"https:\/\/www.varutra.com\/varutravrt3\/author\/admin\/","name":"kalpadmin","image":{"@type":"ImageObject","@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d69b4bf504d3e2e3c6ad0c424e16bcb2?s=96&d=mm&r=g","width":96,"height":96,"caption":"kalpadmin"}},{"@type":"WebPage","@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#webpage","url":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/","name":"New way to Exploit Java Deserialization Vulnerability","description":"In this case study, we will not focus on how serialization vulnerabilities. Instead, we will focus on New way to Exploit Java Deserialization Vulnerability.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/#website"},"breadcrumb":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#breadcrumblist"},"author":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/admin\/#author"},"creator":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/author\/admin\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2018\/09\/java-desc.png","@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#mainImage","width":1125,"height":750,"caption":"java desc"},"primaryImageOfPage":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/#mainImage"},"datePublished":"2018-09-08T06:50:29+05:30","dateModified":"2022-12-02T15:49:09+05:30"},{"@type":"WebSite","@id":"https:\/\/www.varutra.com\/varutravrt3\/#website","url":"https:\/\/www.varutra.com\/varutravrt3\/","name":"Varutra Consulting","description":"Secure your digital world with our Cybersecurity services.","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/#organization"}}]}},"aioseo_meta_data":{"post_id":"2339","title":"New way to Exploit Java Deserialization Vulnerability","description":"In this case study, we will not focus on how serialization vulnerabilities. Instead, we will focus on New way to Exploit Java Deserialization Vulnerability.","keywords":[],"keyphrases":"{\"focus\":{\"keyphrase\":\"\",\"score\":0,\"analysis\":{\"keyphraseInTitle\":{\"score\":0,\"maxScore\":9,\"error\":1}}},\"additional\":[]}","primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"featured","og_image_url":"https:\/\/www.varutra.com\/wp-content\/uploads\/2018\/09\/java-desc.png","og_image_width":"1125","og_image_height":"750","og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":"Authentication &amp; Authorization","og_article_tags":[],"twitter_use_og":true,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":"{\"article\":{\"articleType\":\"BlogPosting\"},\"course\":{\"name\":\"\",\"description\":\"\",\"provider\":\"\"},\"faq\":{\"pages\":[]},\"product\":{\"reviews\":[]},\"recipe\":{\"ingredients\":[],\"instructions\":[],\"keywords\":[]},\"software\":{\"reviews\":[],\"operatingSystems\":[]},\"webPage\":{\"webPageType\":\"WebPage\"}}","pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"limit_modified_date":false,"open_ai":null,"created":"2021-10-27 15:16:26","updated":"2022-12-02 10:23:28"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.varutra.com\/varutravrt3\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/www.varutra.com\/varutravrt3\/category\/authentication-authorization\/\" title=\"Authentication &amp; Authorization\">Authentication &amp; Authorization<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\tCase Study \u2013 New way to Exploit Java Deserialization Vulnerability\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.varutra.com\/varutravrt3"},{"label":"Authentication &amp; Authorization","link":"https:\/\/www.varutra.com\/varutravrt3\/category\/authentication-authorization\/"},{"label":"Case Study &#8211; New way to Exploit Java Deserialization Vulnerability","link":"https:\/\/www.varutra.com\/varutravrt3\/case-study-java-serialization\/"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/2339"}],"collection":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/comments?post=2339"}],"version-history":[{"count":4,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/2339\/revisions"}],"predecessor-version":[{"id":20357,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/2339\/revisions\/20357"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/media\/3204"}],"wp:attachment":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/media?parent=2339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/categories?post=2339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/tags?post=2339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}