{"id":283,"date":"2022-11-15T11:40:04","date_gmt":"2022-11-15T11:40:04","guid":{"rendered":"https:\/\/hacking.cool\/?p=283"},"modified":"2024-03-19T17:15:05","modified_gmt":"2024-03-19T17:15:05","slug":"what-are-serialization-deserialization-attacks-about","status":"publish","type":"post","link":"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/","title":{"rendered":"What are Serialization \/ Deserialization attacks about?"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"585\" src=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/03fc5a4c-75de-476e-b7a5-13267436008e-1024x585.webp\" alt=\"\" class=\"wp-image-917\" srcset=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/03fc5a4c-75de-476e-b7a5-13267436008e-1024x585.webp 1024w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/03fc5a4c-75de-476e-b7a5-13267436008e-300x171.webp 300w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/03fc5a4c-75de-476e-b7a5-13267436008e-768x439.webp 768w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/03fc5a4c-75de-476e-b7a5-13267436008e-1536x878.webp 1536w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2024\/03\/03fc5a4c-75de-476e-b7a5-13267436008e.webp 1792w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p class=\"has-black-color has-text-color\">So what is de-serialization? What are serialization attacks? What is serialization? What is serial? Ok ok, hold your horses, kemosabe&#8230;will start from the beginning, this is serial:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/serial-1024x768.jpeg\" alt=\"\" class=\"wp-image-284\" style=\"width:267px;height:200px\"\/><figcaption class=\"wp-element-caption\">Cereal?<\/figcaption><\/figure><\/div>\n\n\n<p class=\"has-black-color has-text-color\">Now that the hard part is out of our way, lets start dissecting the rest. Common explanation: Serialization is merely representing object as a stream of bits and bytes. We use it for transferring objects between different systems. But hey, aren&#8217;t all objects streams of bits and bytes, you may ask? <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"864\" height=\"576\" src=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/How-To-Ask-Questions-The-Smart-Way.jpg\" alt=\"\" class=\"wp-image-285\" style=\"width:280px;height:187px\" srcset=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/How-To-Ask-Questions-The-Smart-Way.jpg 864w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/How-To-Ask-Questions-The-Smart-Way-600x400.jpg 600w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/How-To-Ask-Questions-The-Smart-Way-300x200.jpg 300w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/How-To-Ask-Questions-The-Smart-Way-768x512.jpg 768w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/How-To-Ask-Questions-The-Smart-Way-570x380.jpg 570w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/How-To-Ask-Questions-The-Smart-Way-380x254.jpg 380w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/How-To-Ask-Questions-The-Smart-Way-285x190.jpg 285w\" sizes=\"auto, (max-width: 864px) 100vw, 864px\" \/><\/figure><\/div>\n\n\n<p class=\"has-black-color has-text-color\">Yes! Correct! In the end, they are&#8230;So? It&#8217;s all about formats. Even when you save a simple &#8220;hi there&#8221; text object, it gets transformed into a series of 0s and 1s and saved in such a &#8220;serialized&#8221; state on your local machine. Approximately the same happens (sometimes) when we transmit data from our application to another. Also, not all transmission formats are bits and bytes (binary) either, like in PHP. Different languages have their own different serialization\/de-serialization implementations. Folks use different serialized formats for reliable and effective transmission (so that no bits \/ data gets lost during various encodings\/decoding\/input transformation etc that can happen to the transmitted info along the way).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"351\" src=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/Java-Serialization-Flow-1024x351.jpg\" alt=\"\" class=\"wp-image-289\" srcset=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/Java-Serialization-Flow-1024x351.jpg 1024w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/Java-Serialization-Flow-600x206.jpg 600w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/Java-Serialization-Flow-300x103.jpg 300w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/Java-Serialization-Flow-768x263.jpg 768w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/Java-Serialization-Flow.jpg 1041w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p class=\"has-black-color has-text-color\">So you may think at this point, where can the vulnerability hide? Lets think logically&#8230;at some point our serialized objects will have to get DE-SERIALIZED!!!!! That&#8217;s right. That&#8217;s the soft underbelly, that&#8217;s the Achilles heel. When serialized objects get Deserialized on the other end.  <\/p>\n\n\n\n<p class=\"has-black-color has-text-color\">Now, it&#8217;s not an easy process, of course&#8230;couple of things need to happen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>You need to spot the serialized data that the application is sending to the other end (server).<\/li>\n\n\n\n<li>You need to figure out the format that was used to serialize data&#8230;hey, there can be ton of different formats, although..there are some standard ones as well.<\/li>\n\n\n\n<li>The application needs to de-serialize the data and use\/handle it in an insecure manner.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-black-color has-text-color\">So basically, stars will have to align for us to get it done&#8230;not one of the easiest vulns, but sure one of the more dangerous ones.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"510\" src=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/stars_aligned-1-1024x510.png\" alt=\"\" class=\"wp-image-300\" srcset=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/stars_aligned-1-1024x510.png 1024w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/stars_aligned-1-600x299.png 600w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/stars_aligned-1-300x149.png 300w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/stars_aligned-1-768x382.png 768w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/stars_aligned-1-570x285.png 570w, https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/08\/stars_aligned-1.png 1480w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Stars aligned&#8230;<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>So what is de-serialization? What are serialization attacks? What is serialization? What is serial? Ok ok, hold your horses, kemosabe&#8230;will start from the beginning, this is serial: Now that the hard part is out of our way, lets start dissecting the rest. Common explanation: Serialization is merely representing object as a stream of bits and<span class=\"post-excerpt-end\">&hellip;<\/span><\/p>\n<p class=\"more-link\"><a href=\"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/\" class=\"themebutton\">Read More<\/a><\/p>\n","protected":false},"author":3,"featured_media":874,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-283","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What are Serialization \/ Deserialization attacks about? - hacking.cool<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What are Serialization \/ Deserialization attacks about? - hacking.cool\" \/>\n<meta property=\"og:description\" content=\"So what is de-serialization? What are serialization attacks? What is serialization? What is serial? Ok ok, hold your horses, kemosabe&#8230;will start from the beginning, this is serial: Now that the hard part is out of our way, lets start dissecting the rest. Common explanation: Serialization is merely representing object as a stream of bits and&hellip;Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/\" \/>\n<meta property=\"og:site_name\" content=\"hacking.cool\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-15T11:40:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-19T17:15:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/11\/sdsdddd.png\" \/>\n\t<meta property=\"og:image:width\" content=\"811\" \/>\n\t<meta property=\"og:image:height\" content=\"412\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Atom\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Atom\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/#website\",\"url\":\"https:\/\/hacking.cool\/atomanya\/\",\"name\":\"hacking.cool\",\"description\":\"is the hacking school \ud83d\udc69\ud83c\udffb\u200d\ud83d\udcbb\ud83e\uddd1\ud83c\udffb\u200d\ud83d\udcbb\ud83d\uddfa\ud83d\udcda\ud83d\udcd6\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/hacking.cool\/atomanya\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/#primaryimage\",\"url\":\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/11\/sdsdddd.png\",\"contentUrl\":\"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/11\/sdsdddd.png\",\"width\":811,\"height\":412},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/\",\"url\":\"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/\",\"name\":\"What are Serialization \/ Deserialization attacks about? - hacking.cool\",\"isPartOf\":{\"@id\":\"https:\/\/hacking.cool\/atomanya\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/#primaryimage\"},\"datePublished\":\"2022-11-15T11:40:04+00:00\",\"dateModified\":\"2024-03-19T17:15:05+00:00\",\"author\":{\"@id\":\"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/804a839cfa61d89d69fb2cf1d2f0adc2\"},\"breadcrumb\":{\"@id\":\"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/hacking.cool\/atomanya\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What are Serialization \/ Deserialization attacks about?\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/804a839cfa61d89d69fb2cf1d2f0adc2\",\"name\":\"Atom\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ac4d05ec7d617e7f2dee5855900a855a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ac4d05ec7d617e7f2dee5855900a855a?s=96&d=mm&r=g\",\"caption\":\"Atom\"},\"url\":\"https:\/\/hacking.cool\/atomanya\/author\/atom\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What are Serialization \/ Deserialization attacks about? - hacking.cool","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/","og_locale":"en_US","og_type":"article","og_title":"What are Serialization \/ Deserialization attacks about? - hacking.cool","og_description":"So what is de-serialization? What are serialization attacks? What is serialization? What is serial? Ok ok, hold your horses, kemosabe&#8230;will start from the beginning, this is serial: Now that the hard part is out of our way, lets start dissecting the rest. Common explanation: Serialization is merely representing object as a stream of bits and&hellip;Read More","og_url":"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/","og_site_name":"hacking.cool","article_published_time":"2022-11-15T11:40:04+00:00","article_modified_time":"2024-03-19T17:15:05+00:00","og_image":[{"width":811,"height":412,"url":"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/11\/sdsdddd.png","type":"image\/png"}],"author":"Atom","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Atom","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/hacking.cool\/atomanya\/#website","url":"https:\/\/hacking.cool\/atomanya\/","name":"hacking.cool","description":"is the hacking school \ud83d\udc69\ud83c\udffb\u200d\ud83d\udcbb\ud83e\uddd1\ud83c\udffb\u200d\ud83d\udcbb\ud83d\uddfa\ud83d\udcda\ud83d\udcd6","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hacking.cool\/atomanya\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/#primaryimage","url":"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/11\/sdsdddd.png","contentUrl":"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/11\/sdsdddd.png","width":811,"height":412},{"@type":"WebPage","@id":"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/","url":"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/","name":"What are Serialization \/ Deserialization attacks about? - hacking.cool","isPartOf":{"@id":"https:\/\/hacking.cool\/atomanya\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/#primaryimage"},"datePublished":"2022-11-15T11:40:04+00:00","dateModified":"2024-03-19T17:15:05+00:00","author":{"@id":"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/804a839cfa61d89d69fb2cf1d2f0adc2"},"breadcrumb":{"@id":"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/hacking.cool\/atomanya\/what-are-serialization-deserialization-attacks-about\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hacking.cool\/atomanya\/"},{"@type":"ListItem","position":2,"name":"What are Serialization \/ Deserialization attacks about?"}]},{"@type":"Person","@id":"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/804a839cfa61d89d69fb2cf1d2f0adc2","name":"Atom","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hacking.cool\/atomanya\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ac4d05ec7d617e7f2dee5855900a855a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ac4d05ec7d617e7f2dee5855900a855a?s=96&d=mm&r=g","caption":"Atom"},"url":"https:\/\/hacking.cool\/atomanya\/author\/atom\/"}]}},"jetpack_featured_media_url":"https:\/\/hacking.cool\/atomanya\/wp-content\/uploads\/2022\/11\/sdsdddd.png","_links":{"self":[{"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/posts\/283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/comments?post=283"}],"version-history":[{"count":22,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/posts\/283\/revisions"}],"predecessor-version":[{"id":920,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/posts\/283\/revisions\/920"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/media\/874"}],"wp:attachment":[{"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/media?parent=283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/categories?post=283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hacking.cool\/atomanya\/wp-json\/wp\/v2\/tags?post=283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}