{"id":10537,"date":"2014-05-29T13:16:43","date_gmt":"2014-05-29T11:16:43","guid":{"rendered":"https:\/\/www.corelan.be\/?p=10537"},"modified":"2014-05-29T13:16:43","modified_gmt":"2014-05-29T11:16:43","slug":"hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing","status":"publish","type":"post","link":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/","title":{"rendered":"HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing"},"content":{"rendered":"<h4>Vulnerability Hunting<\/h4>\n<p>Active security testing, Fabien explains, is the process of generating input which travel in the application, hit a sink and violate a property. \u00a0It applies to all kinds of vulnerabilities, not just limited to buffer overflows or memory corruption bugs. \u00a0 Blackbox and whitebox\/greybox testing (both static and dynamic) are ways to perform security testing.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: block; margin-left: auto; margin-right: auto;\" title=\"DSC_0556.jpg\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2014\/05\/DSC_0556.jpg\" alt=\"DSC 0556\" width=\"600\" height=\"400\" border=\"0\" \/><\/p>\n<p>Fuzzing is an active testing technique which automates the creation and evaluation of numerous malicious inputs. \u00a0It's based on \"knowledge\" (random, grammar, model) and was mostly used to find memory corruption bugs in the past. \u00a0A genetic algorithm is used to guide the fuzzing.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: block; margin-left: auto; margin-right: auto;\" title=\"DSC_0559.jpg\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2014\/05\/DSC_0559.jpg\" alt=\"DSC 0559\" width=\"600\" height=\"400\" border=\"0\" \/><\/p>\n<h4>Evolutionary PDF Fuzzing<\/h4>\n<p>Fabien introduced the people who joined his efforts to look at PDF blackbox fuzzing and then explains that the inital approach he took is to take an initial PDF file (download from the internet), and take an ordered list of seed, anomaly operators and parameters to create mutated versions of the original PDF file. Fabien explained that you can improve the crash triage classification by using Dr Memory or AddressSanitizer. \u00a0 To determine how close the \"individual\" is to find a vuln, he used a classification scale based on Depth of the production tree, used grammar production rules, distinct anomaly operators, interpreter warnings, the fact that the file was rejected by the app, duration to load and singularity. \u00a0<\/p>\n<p>The fuzzing operators applied are based on anti-random testing, where the source file, seed, 1st anomaly operator and it's parameter, etc \u00a0are used as dimensions. \u00a0The idea is to create an individual (file) that are as much different as possible as the other\/previous files. \u00a0Additionally, they used a combination of mutation and crossover fuzzing operators. \u00a0<\/p>\n<p>This approach is implemented in \"ShiftMonkey\" (Ruby + Python) and uses te Origami (Ruby) framework to create PDF files. \u00a0The anomaly generator used is \"Radamsa\" (which has 26 operators). \u00a0 Comparing the results with other tools, the approach to focus on singularity (= dimension of fitness) achieved a higher level of distinct vulnerabilities using ShiftMonkey.<\/p>\n<p>Another experiment that was performed is based on Basic Blocks Coverage. \u00a0 They instrumented the tested executable to see which basic blocks were used and used that as input to improve ShiftMonkey so it would produce cases that cover more basic blocks.<\/p>\n<p>Some of the remaining questions are :<\/p>\n<ol>\n<li>can we improve our ability to find \"complex\" vulnerabilities (where the metric is based on the depth of the stack trace and weighted by the rarity of the targeted basic blocks).<\/li>\n<li>can we find a combination of anomaly operators, of greater efficiency, when fuzzing a given format. \u00a0If you apply too many anomaly operators, you often violate too many constraints, which means the files would be rejected by the application.<\/li>\n<\/ol>\n<p>Fabien continues by listing some related work on evolutionary fuzzing by Jared De Mott, Budynek (et al), B. Nagy, Noreen et al.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: block; margin-left: auto; margin-right: auto;\" title=\"DSC_0561.jpg\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2014\/05\/DSC_05611.jpg\" alt=\"DSC 0561\" width=\"600\" height=\"400\" border=\"0\" \/><\/p>\n<h4>Evolutionary XSS Fuzzing<\/h4>\n<p>The idea is to find Type-1 (Reflected) and Type-2 (Stored) XSS vulnerabilities in websites, in a blackbox approach. \u00a0BlackBox web scanners use fuzzing to find XSS vulnerabilities, but there are some problems:\u00a0<\/p>\n<ul>\n<li>Where to fuzz? There is no model, low quality. \u00a0Fabien explains that they attempted to overcome the issue using model inference and control+taint flows<\/li>\n<li>How to generate input? \u00a0The set of malicious input may be limited. A solution might be to define an attack grammer.<\/li>\n<li>How to find\/discover the XSS? There may not be a precise test verdict (hard to detect if something is an XSS or not) + sensitive to sanitizers (code that will filter your input). \u00a0A possible solution would be to use precise taint inference and use a genetic algorithm.<\/li>\n<\/ul>\n<p>\u00a0Fabien continues by explaining the concept of XSS Control &amp; Taint flows (and transitions), which allowed them to define where to start fuzzing.<\/p>\n<p>The approach to detect XSS vulnerabilities consists of 2 steps:<\/p>\n<ol>\n<li>Reverse Engineering (LigRE) to detect where an attacker can obtain reflection. This \"RE\" phase is basically based on crawling the website and analysing the outputs, creating a \"model\" of the application.<\/li>\n<li>Use KameleonFuzz to check if the attacker can use that reflection in an malicious way.<\/li>\n<\/ol>\n<p>The better you control the model, the better the fuzzing process weill be, Fabien continues. Keeping track of state changes between 2 pages (GET and POST), and identifying state differences (2 GETs of the same page, but with different output) is important too, as well as identifying what exactly has caused the state to change. \u00a0The idea is to keep track of the requests vs state changes and indicate changes by coloring nodes (pages) in a different color. \u00a0 Next, the LigRE tool can identify where state changes occur and what parameter was used\/can be used; and then save the reflections. When all interesting points of attack have been identified, KameleonFuzz can be used to create &amp; mutate fuzzed values, using a set of attack grammer, in order to find XSS bugs.<\/p>\n<p>It's important to detect XSS without causing too many false positives. To improve the test verdict quality, to determine how \"close\" a finding is to a bug, they used a combination of Taint-aware parse trees and Tree patterns. \u00a0In other words, they break down the page into a DOM tree and nodes, and search for the inputs (tree patterns). \u00a0If a match is found, an XSS is detected. \u00a0To determine how \"fit\" a result is or, in other words, how big the chance is that a finding is indeed a vulnerability, they used a couple of dimensions and corresponding weights. \u00a0 The number of tainted nodes and number of injected character classes play a big role in this process. The higher the score, the higher the fitness and thus the higher the likelihood that a finding is a true XSS vulnerability. \u00a0Fabien explains that, even if the tool is not perfect, as a human you can review the potentially interesting findings and focus on the ones that \"look\" promising. \u00a0Additionally you can edit the grammar set and find even more bugs (not only XSS, but also SQL Injection, Shell Command injection, etc).<\/p>\n<p>A comparison against other XSS fuzzing frameworks (wapiti, w3af, skipfish) demonstrates that this approach appears to find more XSS bugs. \u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: block; margin-left: auto; margin-right: auto;\" title=\"DSC_0560.jpg\" src=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2014\/05\/DSC_0560.jpg\" alt=\"DSC 0560\" width=\"600\" height=\"400\" border=\"0\" \/><\/p>\n<p>He also compared the number of HTTP requests needed to find XSS bugs. \u00a0Below 800 requests, w3af appears to find the largest number of bugs, but beyond that point, the use of LigRE and KameleonFuzz is a lot more effective. \u00a0Testing against real targets (HITB CFP registration page, the admin page of a french DSL box, SFR webmail, mega.co.nz, etc) prove that the techniques and tools work well.<\/p>\n<p>Fabien explains that it would be possible to use control &amp; taint flow models to use it as an input to create Content Security Policies (CSP). \u00a0<\/p>\n<p>\u00a0<\/p>\n<hr \/>\n<h3>About the speaker<\/h3>\n<p><a href=\"https:\/\/twitter.com\/fabien_duchene\"><strong>Fabien Duchene <\/strong><\/a>is a (soon-to-be-over) PhD candidate at LIG Lab-IMAG, University of Grenoble, France. His current research focuses on evolutionary fuzzing to improve vulnerabilities detection in black-box (not grey-box!) harness. \u00a0He created the GreHack hardcore security conference. Previously, he worked at Microsoft and Sogeti-ESEC. He holds an MSc in Computer Science from the \u201cGrande Ecole\u201d Ensimag, France, where he created the SecurIMAG CTF team, and is now lecturing basics in fuzzing, memory corruption exploit writing, pen-testing, web security, and network security. He has also been studying at University of Queensland, Australia and Universidad Politecnica de Madrid, Spain. \u00a0Fabien spoke at prestigious hacking and academic conferences: Black-Hat, IEEE WCRE, ACM Codaspy (double-blinded, 16% acceptance rate)\u2026<\/p>\n<hr \/>\n","protected":false},"excerpt":{"rendered":"<p>Vulnerability Hunting Active security testing, Fabien explains, is the process of generating input which travel in the application, hit a sink and violate a property. \u00a0It applies to all kinds of vulnerabilities, not just limited to buffer overflows or memory corruption bugs. \u00a0 Blackbox and whitebox\/greybox testing (both static and dynamic) are ways to perform &hellip; <a href=\"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> \"HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing\"<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2250],"tags":[2775,1991],"class_list":["post-10537","post","type-post","status-publish","format-standard","hentry","category-cons-seminars","tag-hitb","tag-fuzzing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing - Corelan | Exploit Development &amp; Vulnerability Research<\/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:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing - Corelan | Exploit Development &amp; Vulnerability Research\" \/>\n<meta property=\"og:description\" content=\"Vulnerability Hunting Active security testing, Fabien explains, is the process of generating input which travel in the application, hit a sink and violate a property. \u00a0It applies to all kinds of vulnerabilities, not just limited to buffer overflows or memory corruption bugs. \u00a0 Blackbox and whitebox\/greybox testing (both static and dynamic) are ways to perform &hellip; Continue reading &quot;HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/\" \/>\n<meta property=\"og:site_name\" content=\"Corelan | Exploit Development &amp; Vulnerability Research\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/corelanconsulting\" \/>\n<meta property=\"article:published_time\" content=\"2014-05-29T11:16:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.corelan.be\/wp-content\/uploads\/2014\/05\/DSC_0556.jpg\" \/>\n<meta name=\"author\" content=\"corelanc0d3r\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@corelanc0d3r\" \/>\n<meta name=\"twitter:site\" content=\"@corelanc0d3r\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/\"},\"author\":{\"name\":\"corelanc0d3r\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/person\\\/3be5542b9b0a0787893db83a5ad68e8f\"},\"headline\":\"HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing\",\"datePublished\":\"2014-05-29T11:16:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/\"},\"wordCount\":1242,\"publisher\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2014\\\/05\\\/DSC_0556.jpg\",\"keywords\":[\"hitb\",\"fuzzing\"],\"articleSection\":[\"Cons and Seminars\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/\",\"name\":\"HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing - Corelan | Exploit Development &amp; Vulnerability Research\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2014\\\/05\\\/DSC_0556.jpg\",\"datePublished\":\"2014-05-29T11:16:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2014\\\/05\\\/DSC_0556.jpg\",\"contentUrl\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2014\\\/05\\\/DSC_0556.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/2014\\\/05\\\/29\\\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.corelan.be\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HITB2014AMS &#8211; Day 1 &#8211; Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#website\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/\",\"name\":\"Corelan CyberSecurity Research\",\"description\":\"Corelan publishes in-depth tutorials on exploit development, Windows exploitation, vulnerability research, heap internals, reverse engineering and security tooling used by professionals worldwide.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.corelan.be\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#organization\",\"name\":\"Corelan CyberSecurity Research\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/corelanlogo2_small-20.png\",\"contentUrl\":\"https:\\\/\\\/www.corelan.be\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/corelanlogo2_small-20.png\",\"width\":200,\"height\":200,\"caption\":\"Corelan CyberSecurity Research\"},\"image\":{\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/corelanconsulting\",\"https:\\\/\\\/x.com\\\/corelanc0d3r\",\"https:\\\/\\\/x.com\\\/corelanconsulting\",\"https:\\\/\\\/instagram.com\\\/corelanconsult\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.corelan.be\\\/#\\\/schema\\\/person\\\/3be5542b9b0a0787893db83a5ad68e8f\",\"name\":\"corelanc0d3r\",\"pronouns\":\"he\\\/him\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x\",\"caption\":\"corelanc0d3r\"},\"description\":\"Peter Van Eeckhoutte is the founder of Corelan and a globally recognized expert in exploit development and vulnerability research. With over two decades in IT security, he built Corelan into a respected platform for deep technical research, hands-on training, and knowledge sharing. Known for his influential exploit development tutorials, tools, and real-world training, Peter combines a strong research mindset with a passion for education\u2014helping security professionals understand not just how exploits work, but why.\",\"sameAs\":[\"https:\\\/\\\/www.corelan-training.com\",\"https:\\\/\\\/instagram.com\\\/corelanc0d3r\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/petervaneeckhoutte\\\/\",\"https:\\\/\\\/x.com\\\/corelanc0d3r\"],\"url\":\"https:\\\/\\\/www.corelan.be\\\/index.php\\\/author\\\/admin0\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing - Corelan | Exploit Development &amp; Vulnerability Research","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:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/","og_locale":"en_US","og_type":"article","og_title":"HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing - Corelan | Exploit Development &amp; Vulnerability Research","og_description":"Vulnerability Hunting Active security testing, Fabien explains, is the process of generating input which travel in the application, hit a sink and violate a property. \u00a0It applies to all kinds of vulnerabilities, not just limited to buffer overflows or memory corruption bugs. \u00a0 Blackbox and whitebox\/greybox testing (both static and dynamic) are ways to perform &hellip; Continue reading \"HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing\"","og_url":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/","og_site_name":"Corelan | Exploit Development &amp; Vulnerability Research","article_publisher":"https:\/\/www.facebook.com\/corelanconsulting","article_published_time":"2014-05-29T11:16:43+00:00","og_image":[{"url":"https:\/\/www.corelan.be\/wp-content\/uploads\/2014\/05\/DSC_0556.jpg","type":"","width":"","height":""}],"author":"corelanc0d3r","twitter_card":"summary_large_image","twitter_creator":"@corelanc0d3r","twitter_site":"@corelanc0d3r","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/#article","isPartOf":{"@id":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/"},"author":{"name":"corelanc0d3r","@id":"https:\/\/www.corelan.be\/#\/schema\/person\/3be5542b9b0a0787893db83a5ad68e8f"},"headline":"HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing","datePublished":"2014-05-29T11:16:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/"},"wordCount":1242,"publisher":{"@id":"https:\/\/www.corelan.be\/#organization"},"image":{"@id":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.corelan.be\/wp-content\/uploads\/2014\/05\/DSC_0556.jpg","keywords":["hitb","fuzzing"],"articleSection":["Cons and Seminars"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/","url":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/","name":"HITB2014AMS - Day 1 - Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing - Corelan | Exploit Development &amp; Vulnerability Research","isPartOf":{"@id":"https:\/\/www.corelan.be\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/#primaryimage"},"image":{"@id":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.corelan.be\/wp-content\/uploads\/2014\/05\/DSC_0556.jpg","datePublished":"2014-05-29T11:16:43+00:00","breadcrumb":{"@id":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/#primaryimage","url":"https:\/\/www.corelan.be\/wp-content\/uploads\/2014\/05\/DSC_0556.jpg","contentUrl":"https:\/\/www.corelan.be\/wp-content\/uploads\/2014\/05\/DSC_0556.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.corelan.be\/index.php\/2014\/05\/29\/hitb2014ams-day-1-harder-better-faster-fuzzer-advances-in-blackbox-evolutionary-fuzzing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.corelan.be\/"},{"@type":"ListItem","position":2,"name":"HITB2014AMS &#8211; Day 1 &#8211; Harder, Better, Faster Fuzzer: Advances in BlackBox Evolutionary Fuzzing"}]},{"@type":"WebSite","@id":"https:\/\/www.corelan.be\/#website","url":"https:\/\/www.corelan.be\/","name":"Corelan CyberSecurity Research","description":"Corelan publishes in-depth tutorials on exploit development, Windows exploitation, vulnerability research, heap internals, reverse engineering and security tooling used by professionals worldwide.","publisher":{"@id":"https:\/\/www.corelan.be\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.corelan.be\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.corelan.be\/#organization","name":"Corelan CyberSecurity Research","url":"https:\/\/www.corelan.be\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.corelan.be\/#\/schema\/logo\/image\/","url":"https:\/\/www.corelan.be\/wp-content\/uploads\/2026\/03\/corelanlogo2_small-20.png","contentUrl":"https:\/\/www.corelan.be\/wp-content\/uploads\/2026\/03\/corelanlogo2_small-20.png","width":200,"height":200,"caption":"Corelan CyberSecurity Research"},"image":{"@id":"https:\/\/www.corelan.be\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/corelanconsulting","https:\/\/x.com\/corelanc0d3r","https:\/\/x.com\/corelanconsulting","https:\/\/instagram.com\/corelanconsult"]},{"@type":"Person","@id":"https:\/\/www.corelan.be\/#\/schema\/person\/3be5542b9b0a0787893db83a5ad68e8f","name":"corelanc0d3r","pronouns":"he\/him","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x","url":"https:\/\/secure.gravatar.com\/avatar\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3783bed6acd72d7fa5bb2387d88acbb9a3403e7cada60b2037e1cbb74ad451f9?s=96&d=mm&r=x","caption":"corelanc0d3r"},"description":"Peter Van Eeckhoutte is the founder of Corelan and a globally recognized expert in exploit development and vulnerability research. With over two decades in IT security, he built Corelan into a respected platform for deep technical research, hands-on training, and knowledge sharing. Known for his influential exploit development tutorials, tools, and real-world training, Peter combines a strong research mindset with a passion for education\u2014helping security professionals understand not just how exploits work, but why.","sameAs":["https:\/\/www.corelan-training.com","https:\/\/instagram.com\/corelanc0d3r","https:\/\/www.linkedin.com\/in\/petervaneeckhoutte\/","https:\/\/x.com\/corelanc0d3r"],"url":"https:\/\/www.corelan.be\/index.php\/author\/admin0\/"}]}},"views":5263,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts\/10537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/comments?post=10537"}],"version-history":[{"count":0,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/posts\/10537\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/media?parent=10537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/categories?post=10537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.corelan.be\/index.php\/wp-json\/wp\/v2\/tags?post=10537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}