{"id":1478,"date":"2017-11-21T10:40:04","date_gmt":"2017-11-21T10:40:04","guid":{"rendered":"https:\/\/www.varutra.com\/blog\/?p=1478"},"modified":"2023-03-24T11:06:15","modified_gmt":"2023-03-24T05:36:15","slug":"thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution","status":"publish","type":"post","link":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/","title":{"rendered":"Thick Client Penetration Testing \u2013 Exploiting JAVA Deserialization Vulnerability for Remote Code Execution"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1080\" src=\"https:\/\/varutra-1a3b6.kxcdn.com\/wp-content\/uploads\/2017\/11\/Java-Deserialization-1-1024x535.png\"  class=\"sh-overlay-item sh-table-cell ls-is-cached lazyloaded\" data-rel=\"lightcase\" title=\"Java Deserialization - Varutra Consulting\"><\/p>\n<h3><strong>Thick Client? What do you mean by that?<\/strong><\/h3>\n<p>Thick client is the kind of application which is installed on the client side and major of its processing is done at the client side only which is independent of the server. Like we installed some players or .EXE files in our windows system.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Main difference between Thin Client and Thick Client<\/strong><\/h3>\n<p>Thin client is the browser based application which is having database (server) only in the back end &amp; there is no need to install thin client applications at the client side. Also they are lightweight and do not occupy more space at the client system, whereas Thick client needs more storage space in order to install it on client side.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>What is Java Serialization?<\/strong><\/h3>\n<p>Java serialization offers an object to convert itself into a stream of bytes that includes object data to store it into the file systems or to transfer it to another remote system.<\/p>\n<p>After serialize input (stream of bytes) is written to a file, it can be read from the file after deserialization process like stream of bytes then converted to the object again into the memory.<\/p>\n<p>&nbsp;<\/p>\n<p>Classes <strong>ObjectInputStream<\/strong> and <strong>ObjectOutputStream<\/strong> are high level streams that contain the methods of serialization and deserialization.<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/6-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1494\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/6-1.png\" alt=\"Java Serialization Methods\" width=\"409\" height=\"243\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/6-1.png 505w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/6-1-300x178.png 300w\" sizes=\"(max-width: 409px) 100vw, 409px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Why it is vulnerable?<\/strong><\/h3>\n<p>The Apache Commons Collection (ACC) Library is the main reason behind the successful RCE attack. This library has the dangerous class InvokerTransformer which an attacker abused to gain access to remote system.<\/p>\n<p>The InvokerTransformer\u2019s goal is to transform objects in a collection by invoking a method. Attackers take advantage of this functionality and manage to call any method they want.<\/p>\n<p>To create malicious method attacker uses readily available tool called ysoserial<\/p>\n<p>Here is the link to the tool: <a href=\"https:\/\/github.com\/frohoff\/ysoserial\">https:\/\/github.com\/frohoff\/ysoserial<\/a><\/p>\n<p>The attack can be summarized as:<\/p>\n<ol>\n<li>A vulnerable application(Thick Client) accepts user supplied serialized objects<\/li>\n<li>An attacker creates malicious payload into stream of bytes (serialization process) to invoke any class\/method they want and sends it to application.<\/li>\n<li>Then the application reads the stream of bytes and tries to construct the object from it(Deserialization process)<\/li>\n<li>During deserialization the malicious payload gets executed on target system resulting into compromised system.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h3><strong>How to Perform this Attack?<\/strong><\/h3>\n<p><strong>Step 1:<\/strong> First we should know what is the IP and Port the Thick client is communicating to, in order to intercept the request\/response using burp suite.<\/p>\n<p>In cmd ping the thick client URL to know the IP.<\/p>\n<p>In our case lets the assume the URL for thick client is http:\/\/thickclient:8081 and after pinging this URL we got the IP 192.168.0.1 and port is 8081<\/p>\n<p>Make the changes in the burp proxy<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1485 size-full\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/7.png\" alt=\"IP and Port the Thick client is communicating\" width=\"626\" height=\"295\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/7.png 626w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/7-300x141.png 300w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Step 2:<\/strong> Edit the host file in your system so that the server host (http:\/\/thickclient:8081 in our case) points to local host and our burp proxy can intercept the request.<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1486 size-full\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/8.png\" alt=\"local host and our burp proxy\" width=\"519\" height=\"112\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/8.png 519w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/8-300x65.png 300w\" sizes=\"(max-width: 519px) 100vw, 519px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Step 3:<\/strong> Run the thick client and intercept the request in burp<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1480 size-full\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/1.png\" alt=\"thick client and intercept the request\" width=\"638\" height=\"198\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/1.png 638w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/1-300x93.png 300w\" sizes=\"(max-width: 638px) 100vw, 638px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Step 4:<\/strong> Now, we will replace this serialized data with our malicious serialized data, which will be de serialized server side and our command will be executed. For this purpose we will use a tool called ysoserial (download: <a href=\"https:\/\/github.com\/frohoff\/ysoserial\">https:\/\/github.com\/frohoff\/ysoserial<\/a>)<\/p>\n<p>Run this tool with following syntax and create our malicious serialized payload (the IP should be your system IP and port I am using here is 4444)<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1481 size-full\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/2.png\" alt=\"serialized payload\" width=\"979\" height=\"33\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/2.png 979w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/2-300x10.png 300w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/2-768x26.png 768w\" sizes=\"(max-width: 979px) 100vw, 979px\" \/><\/a><\/p>\n<p>The output will be somewhat like below<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1487 size-full\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/10\/con_logo_black.png\" alt=\"\" width=\"99\" height=\"59\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Step 5:<\/strong> Now on another side listen to incoming connection from server where our malicious data will get execute. We are using netcat tool for this. You can get this tool here: <a href=\"https:\/\/nmap.org\/download.html\">https:\/\/nmap.org\/download.html<\/a><\/p>\n<p><a href=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1482 size-full\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/3.png\" alt=\"malicious data\" width=\"475\" height=\"23\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/3.png 475w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/3-300x15.png 300w\" sizes=\"(max-width: 475px) 100vw, 475px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Step 6:<\/strong> Now our payload is created in a file (test.out in my case), we will use Burps \u2018paste from file\u2019 option to paste our malicious payload in the intercepted login request as follows and will then execute our malicious data.<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1483\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/4.png\" alt=\"Thick Client Penetration Testing \" width=\"913\" height=\"536\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/4.png 1029w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/4-300x176.png 300w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/4-1024x601.png 1024w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/4-768x451.png 768w\" sizes=\"(max-width: 913px) 100vw, 913px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Step 7:<\/strong> Now to check whether our command got executed or not on the server, netcat to the connection and you can see in below screenshot that we got incoming connection form the server, meaning our malicious code get executed on the server.<\/p>\n<p><a href=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1484 size-full\" src=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/5.png\" alt=\"Thick client 7\" width=\"493\" height=\"147\" srcset=\"https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/5.png 493w, https:\/\/www.varutra.com\/varutravrt3\/wp-content\/uploads\/2017\/11\/5-300x89.png 300w\" sizes=\"(max-width: 493px) 100vw, 493px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Further Reading:<\/p>\n<ol>\n<li><a href=\"https:\/\/www.owasp.org\/index.php\/Deserialization_of_untrusted_data\">https:\/\/www.owasp.org\/index.php\/Deserialization_of_untrusted_data<\/a><\/li>\n<li><a href=\"https:\/\/dzone.com\/articles\/why-runtime-compartmentalization-is-the-most-compr\">https:\/\/dzone.com\/articles\/why-runtime-compartmentalization-is-the-most-compr<\/a><\/li>\n<li><a href=\"https:\/\/www.synopsys.com\/content\/dam\/synopsys\/sig-assets\/whitepapers\/exploiting-the-java-deserialization-vulnerability.pdf\">https:\/\/www.synopsys.com\/content\/dam\/synopsys\/sig-assets\/whitepapers\/exploiting-the-java-deserialization-vulnerability.pdf<\/a><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>Author<br \/>\nPranav Jagtap.<\/p>\n<p><em>Attack &amp; PenTest Team,<\/em><\/p>\n<p><em>Varutra Consulting<\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>Thick Client? What do you mean by that? Thick client is the kind of application which is installed on the client side and major of&#8230;<\/p>\n","protected":false},"author":3,"featured_media":17895,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"aside","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":[140,289,266,121],"tags":[98,117,99,119,120,122],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Understand what is Thick Client Penetration Testing, JAVA Deserialization and Exploitation of JAVA Deserialization Vulnerability for Remote Code Execution.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"kalpadmin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 4.9.8\" \/>\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=\"Thick Client Penetration Testing \u2013 JAVA Deserialization\" \/>\n\t\t<meta property=\"og:description\" content=\"Understand what is Thick Client Penetration Testing, JAVA Deserialization and Exploitation of JAVA Deserialization Vulnerability for Remote Code Execution.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/Java-Deserialization-1.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/Java-Deserialization-1.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t\t<meta property=\"article:section\" content=\"Case Study\" \/>\n\t\t<meta property=\"article:tag\" content=\"external penetration testing\" \/>\n\t\t<meta property=\"article:tag\" content=\"java deserialization\" \/>\n\t\t<meta property=\"article:tag\" content=\"network penetration testing\" \/>\n\t\t<meta property=\"article:tag\" content=\"rce\" \/>\n\t\t<meta property=\"article:tag\" content=\"remote code execution\" \/>\n\t\t<meta property=\"article:tag\" content=\"thick client penetration testing\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2017-11-21T10:40:04+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-03-24T05:36:15+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Thick Client Penetration Testing \u2013 JAVA Deserialization Remote Code Exe\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Understand what is Thick Client Penetration Testing, JAVA Deserialization and Exploitation of JAVA Deserialization Vulnerability for Remote Code Execution.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/Java-Deserialization-1.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=\"4 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\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#article\",\"name\":\"Thick Client Penetration Testing \\u2013 JAVA Deserialization\",\"headline\":\"Thick Client Penetration Testing \\u2013 Exploiting JAVA Deserialization Vulnerability for Remote Code Execution\",\"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\\\/2017\\\/11\\\/Java-Deserialization-1.png\",\"width\":1200,\"height\":627,\"caption\":\"Java Deserialization\"},\"datePublished\":\"2017-11-21T10:40:04+05:30\",\"dateModified\":\"2023-03-24T11:06:15+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#webpage\"},\"articleSection\":\"Case Study, Java Security, Security Advisory, Thick Client Penetration Testing, External Penetration Testing, Java Deserialization, Network Penetration Testing, RCE, Remote Code Execution, Thick Client Penetration Testing, Aside\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/category\\\/thick-client-penetration-testing\\\/#listItem\",\"name\":\"Thick Client Penetration Testing\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/category\\\/thick-client-penetration-testing\\\/#listItem\",\"position\":2,\"name\":\"Thick Client Penetration Testing\",\"item\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/category\\\/thick-client-penetration-testing\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#listItem\",\"name\":\"Thick Client Penetration Testing \\u2013 Exploiting JAVA Deserialization Vulnerability for Remote Code Execution\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#listItem\",\"position\":3,\"name\":\"Thick Client Penetration Testing \\u2013 Exploiting JAVA Deserialization Vulnerability for Remote Code Execution\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/category\\\/thick-client-penetration-testing\\\/#listItem\",\"name\":\"Thick Client Penetration Testing\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#organization\",\"name\":\"Varutra\",\"description\":\"Secure your digital world with our Cybersecurity services.\",\"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\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#organizationLogo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#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\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d69b4bf504d3e2e3c6ad0c424e16bcb2?s=96&d=mm&r=g\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#webpage\",\"url\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/\",\"name\":\"Thick Client Penetration Testing \\u2013 JAVA Deserialization\",\"description\":\"Understand what is Thick Client Penetration Testing, JAVA Deserialization and Exploitation of JAVA Deserialization Vulnerability for Remote Code Execution.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#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\\\/2017\\\/11\\\/Java-Deserialization-1.png\",\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#mainImage\",\"width\":1200,\"height\":627,\"caption\":\"Java Deserialization\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.varutra.com\\\/varutravrt3\\\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\\\/#mainImage\"},\"datePublished\":\"2017-11-21T10:40:04+05:30\",\"dateModified\":\"2023-03-24T11:06:15+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>Thick Client Penetration Testing \u2013 JAVA Deserialization<\/title>\n\n","aioseo_head_json":{"title":"Thick Client Penetration Testing \u2013 JAVA Deserialization","description":"Understand what is Thick Client Penetration Testing, JAVA Deserialization and Exploitation of JAVA Deserialization Vulnerability for Remote Code Execution.","canonical_url":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#article","name":"Thick Client Penetration Testing \u2013 JAVA Deserialization","headline":"Thick Client Penetration Testing \u2013 Exploiting JAVA Deserialization Vulnerability for Remote Code Execution","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\/2017\/11\/Java-Deserialization-1.png","width":1200,"height":627,"caption":"Java Deserialization"},"datePublished":"2017-11-21T10:40:04+05:30","dateModified":"2023-03-24T11:06:15+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#webpage"},"isPartOf":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#webpage"},"articleSection":"Case Study, Java Security, Security Advisory, Thick Client Penetration Testing, External Penetration Testing, Java Deserialization, Network Penetration Testing, RCE, Remote Code Execution, Thick Client Penetration Testing, Aside"},{"@type":"BreadcrumbList","@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3#listItem","position":1,"name":"Home","item":"https:\/\/www.varutra.com\/varutravrt3","nextItem":{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/category\/thick-client-penetration-testing\/#listItem","name":"Thick Client Penetration Testing"}},{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/category\/thick-client-penetration-testing\/#listItem","position":2,"name":"Thick Client Penetration Testing","item":"https:\/\/www.varutra.com\/varutravrt3\/category\/thick-client-penetration-testing\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#listItem","name":"Thick Client Penetration Testing \u2013 Exploiting JAVA Deserialization Vulnerability for Remote Code Execution"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#listItem","position":3,"name":"Thick Client Penetration Testing \u2013 Exploiting JAVA Deserialization Vulnerability for Remote Code Execution","previousItem":{"@type":"ListItem","@id":"https:\/\/www.varutra.com\/varutravrt3\/category\/thick-client-penetration-testing\/#listItem","name":"Thick Client Penetration Testing"}}]},{"@type":"Organization","@id":"https:\/\/www.varutra.com\/varutravrt3\/#organization","name":"Varutra","description":"Secure your digital world with our Cybersecurity services.","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\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#organizationLogo"},"image":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#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","url":"https:\/\/secure.gravatar.com\/avatar\/d69b4bf504d3e2e3c6ad0c424e16bcb2?s=96&d=mm&r=g"}},{"@type":"WebPage","@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#webpage","url":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/","name":"Thick Client Penetration Testing \u2013 JAVA Deserialization","description":"Understand what is Thick Client Penetration Testing, JAVA Deserialization and Exploitation of JAVA Deserialization Vulnerability for Remote Code Execution.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/#website"},"breadcrumb":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#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\/2017\/11\/Java-Deserialization-1.png","@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#mainImage","width":1200,"height":627,"caption":"Java Deserialization"},"primaryImageOfPage":{"@id":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/#mainImage"},"datePublished":"2017-11-21T10:40:04+05:30","dateModified":"2023-03-24T11:06:15+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"}}]},"og:locale":"en_US","og:site_name":"Varutra Consulting","og:type":"article","og:title":"Thick Client Penetration Testing \u2013 JAVA Deserialization","og:description":"Understand what is Thick Client Penetration Testing, JAVA Deserialization and Exploitation of JAVA Deserialization Vulnerability for Remote Code Execution.","og:url":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/","og:image":"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/Java-Deserialization-1.png","og:image:secure_url":"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/Java-Deserialization-1.png","og:image:width":"1200","og:image:height":"627","article:section":"Case Study","article:tag":["external penetration testing","java deserialization","network penetration testing","rce","remote code execution","thick client penetration testing"],"article:published_time":"2017-11-21T10:40:04+00:00","article:modified_time":"2023-03-24T05:36:15+00:00","twitter:card":"summary_large_image","twitter:title":"Thick Client Penetration Testing \u2013 JAVA Deserialization Remote Code Exe","twitter:description":"Understand what is Thick Client Penetration Testing, JAVA Deserialization and Exploitation of JAVA Deserialization Vulnerability for Remote Code Execution.","twitter:image":"https:\/\/www.varutra.com\/wp-content\/uploads\/2017\/11\/Java-Deserialization-1.png","twitter:label1":"Written by","twitter:data1":"kalpadmin","twitter:label2":"Est. reading time","twitter:data2":"4 minutes"},"aioseo_meta_data":{"post_id":"1478","title":"Thick Client Penetration Testing \u2013 JAVA Deserialization","description":"Understand what is Thick Client Penetration Testing, JAVA Deserialization and Exploitation of JAVA Deserialization Vulnerability for Remote Code Execution.","keywords":[],"keyphrases":{"focus":{"keyphrase":"Thick Client","analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":2},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInSubHeadings":{"score":9,"maxScore":9,"error":0},"keyphraseInImageAlt":{"score":9,"maxScore":9,"error":0}},"score":90},"additional":[{"keyphrase":"Thick Client Penetration Testing","score":83,"analysis":{"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":4},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":9,"maxScore":9,"error":0}}},{"keyphrase":"JAVA Deserialization","score":67,"analysis":{"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":2},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":3,"maxScore":9,"error":1}}},{"keyphrase":"Penetration Testing","score":83,"analysis":{"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":2},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":9,"maxScore":9,"error":0}}}]},"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\/2017\/11\/Java-Deserialization-1.png","og_image_width":"1200","og_image_height":"627","og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":"Case Study","og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":"Thick Client Penetration Testing \u2013 JAVA Deserialization Remote Code Exe","twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","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,"reviewed_by":null,"open_ai":null,"created":"2021-10-27 15:17:57","updated":"2026-05-24 09:09:46","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":"2026-05-22 14:05:01"},"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\/thick-client-penetration-testing\/\" title=\"Thick Client Penetration Testing\">Thick Client Penetration Testing<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\tThick Client Penetration Testing \u2013 Exploiting JAVA Deserialization Vulnerability for Remote Code Execution\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.varutra.com\/varutravrt3"},{"label":"Thick Client Penetration Testing","link":"https:\/\/www.varutra.com\/varutravrt3\/category\/thick-client-penetration-testing\/"},{"label":"Thick Client Penetration Testing \u2013 Exploiting JAVA Deserialization Vulnerability for Remote Code Execution","link":"https:\/\/www.varutra.com\/varutravrt3\/thick-client-penetration-testing-exploiting-java-deserialization-vulnerability-for-remote-code-execution\/"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/1478"}],"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=1478"}],"version-history":[{"count":5,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/1478\/revisions"}],"predecessor-version":[{"id":21197,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/posts\/1478\/revisions\/21197"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/media\/17895"}],"wp:attachment":[{"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/media?parent=1478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/categories?post=1478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.varutra.com\/varutravrt3\/wp-json\/wp\/v2\/tags?post=1478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}