{"id":1126,"date":"2023-04-09T09:16:39","date_gmt":"2023-04-09T14:16:39","guid":{"rendered":"https:\/\/www.searchevolution.com\/security\/?p=1126"},"modified":"2023-04-09T09:16:41","modified_gmt":"2023-04-09T14:16:41","slug":"trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty","status":"publish","type":"post","link":"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/","title":{"rendered":"Trouver des vuln\u00e9rabilit\u00e9s par SQL injection dans les Bug Bounty"},"content":{"rendered":"\n<p>Les vuln\u00e9rabilit\u00e9s par injection SQL sont l&#8217;une des principales menaces de s\u00e9curit\u00e9 pour les applications web. Les attaquants utilisent des entr\u00e9es utilisateur malveillantes pour ex\u00e9cuter des instructions SQL non autoris\u00e9es et acc\u00e9der \u00e0 des informations sensibles ou m\u00eame prendre le contr\u00f4le du syst\u00e8me. Les vuln\u00e9rabilit\u00e9s par injection SQL se produisent lorsque les d\u00e9veloppeurs n&#8217;utilisent pas de param\u00e8tres de requ\u00eate s\u00e9curis\u00e9s et concat\u00e8nent directement les entr\u00e9es utilisateur dans les requ\u00eates SQL. Les cons\u00e9quences d&#8217;une injection SQL r\u00e9ussie peuvent \u00eatre graves, notamment la perte de donn\u00e9es, la violation de la confidentialit\u00e9 et l&#8217;alt\u00e9ration du syst\u00e8me. Il est donc important de prendre des mesures de s\u00e9curit\u00e9 pour pr\u00e9venir les vuln\u00e9rabilit\u00e9s par injection SQL, telles que l&#8217;utilisation de param\u00e8tres de requ\u00eate s\u00e9curis\u00e9s, les instructions pr\u00e9par\u00e9es et la validation des entr\u00e9es utilisateur.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"720\" src=\"https:\/\/www.searchevolution.com\/security\/wp-content\/uploads\/2023\/04\/injection-sql-1.png\" alt=\"\" class=\"wp-image-1141\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Comment v\u00e9rifier un logiciel pour une faille SQL injection<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">1. Choisir le param\u00e8tre \u00e0 v\u00e9rifier<\/h2>\n\n\n\n<p>  ? param\u00e8tres dans le URL <br>  ? contenu POST<br>  ? HTTP Headers<br>  ? Cookies<\/p>\n\n\n\n<p>Cela peut \u00eatre n&#8217;importe lequel param\u00e8tre. Commen\u00e7ons par les param\u00e8tres de type entier<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Si le param\u00e8tre est entier, un calcul sera fait<\/h2>\n\n\n\n<p>  ? user_id=1338-1<\/p>\n\n\n\n<p>Si vous \u00eates chanceux et que l&#8217;injection SQL a fonctionn\u00e9, vous verrez le r\u00e9sultat user_id=1337<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Essayez d&#8217;ajouter des symboles \u00e0 la fin du param\u00e8tre<\/h2>\n\n\n\n<p>  ? &#8216; (guillement simple)<br>  ? &#8221; (guillement)<br>  ? ; (point-virgule)<\/p>\n\n\n\n<p>Observer la r\u00e9ponse. S&#8217;il y a un erreur, il y a probablement possibilit\u00e9 d&#8217;injection SQL<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Essayez d&#8217;ajouter un autre symbole pour voir si l&#8217;erreur dispara\u00eet<\/h2>\n\n\n\n<p>  ? login=admin (status: 200)<br>  ? login=admin&#8217; (status: 500)<br>  ? login=admin&#8221; (status: 200)<\/p>\n\n\n\n<p>En SQL, la s\u00e9quence d&#8217;\u00e9chappement pour un guillement simple est un deuxi\u00e8me guillement simple. Pour un guillement, c&#8217;est un deuxi\u00e8me guillement. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Essayer des fonctions SQL<\/h2>\n\n\n\n<p>Int<br>  ? user_id=1337 AND 1=1 (status: 200)<br>  ? user_id=1337 AND 2=1 (status: 500)<\/p>\n\n\n\n<p>Text<br>  ? login=admin&#8217; AND &#8216;A&#8217;=&#8217;A (status: 200)<br>  ? login=admin&#8217; AND &#8216;A&#8217;=&#8217;B (status: 500)<\/p>\n\n\n\n<p>JSON int<br>  ?{&#8220;user_id&#8221;:&#8221;1337 AND 1=1&#8243;} (status: 200)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Essayer de combiner des commentaires SQL avec des fonctions SQL<\/h2>\n\n\n\n<p>Int<br>   ?user_id=1337 AND 1=1 &#8212; (status: 200)<\/p>\n\n\n\n<p>Text<br>   ?login=admin&#8217; AND &#8216;A&#8217;=&#8217;A&#8217; &#8212; (status: 200)<\/p>\n\n\n\n<p>JSON int<br>   ?{&#8220;user_id&#8221;:&#8221;1337 AND 1=1 &#8211;&#8220;} (status: 200)<\/p>\n\n\n\n<p>JSON text<br>   ?{&#8220;login&#8221;:&#8221;admin&#8217; AND &#8216;A&#8217;=&#8217;A&#8217; &#8211;&#8220;} (status: 200)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Utilisez ces logiciels pour une d\u00e9couverte automatis\u00e9e des SQL Injection<\/h2>\n\n\n\n<p>   ? sqlmap<br>   ? r0oth3x49\/ghauri (github)<\/p>\n\n\n\n<p>Rappelez-vous que vous ne devriez extraire aucune information confidentielle. Essayer d&#8217;obtenir la version de la base de donn\u00e9es comme preuve. Vous devez obtenir l&#8217;autorisation de l&#8217;entreprise pour continuer si vous souhaitez pousser plus loin.<\/p>\n\n\n\n<p>Vous pouvez utiliser ce DB fiddle pour tester diff\u00e9rentes requ\u00eates SQL et le comportement.<\/p>\n\n\n\n<p>\u00c9diter la requ\u00eate SQL \u00e0 droite et cliquez RUN pour voir la fa\u00e7on dont celle-ci est ex\u00e9cut\u00e9e et obtenir le r\u00e9sultat en bas.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.db-fiddle.com\/f\/mZ2ftcLLzZLbrEELn38hjQ\/0\">https:\/\/www.db-fiddle.com\/f\/mZ2ftcLLzZLbrEELn38hjQ\/0<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Se prot\u00e9ger contre les attaques SQL en Python<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>import mysql.connector\nfrom mysql.connector import Error\n\ndef get_user(username):\n    try:\n        connection = mysql.connector.connect(host='localhost',\n                                             database='users',\n                                             user='user',\n                                             password='password')\n\n        cursor = connection.cursor(prepared=True)\n\n        sql_query = \"\"\"SELECT * FROM user WHERE username = %s\"\"\"\n\n        cursor.execute(sql_query, (username,))\n\n        result = cursor.fetchone()\n\n        return result\n\n    except Error as e:\n        print(f\"Error while connecting to MySQL: {e}\")\n    finally:\n        if (connection.is_connected()):\n            cursor.close()\n            connection.close()\n            print(\"MySQL connection is closed\")\n<\/code><\/pre>\n\n\n\n<p>Dans cet exemple, nous utilisons un param\u00e8tre de requ\u00eate s\u00e9curis\u00e9, <code>%s<\/code>, pour la requ\u00eate SQL, au lieu de concat\u00e9ner directement la valeur d&#8217;entr\u00e9e de l&#8217;utilisateur dans la requ\u00eate. Cela emp\u00eache les attaquants d&#8217;injecter des instructions SQL malveillantes dans la requ\u00eate.<\/p>\n\n\n\n<p>Nous utilisons \u00e9galement la m\u00e9thode <code>prepared=True<\/code> du curseur pour activer les instructions pr\u00e9par\u00e9es, qui pr\u00e9-compilent la requ\u00eate SQL et la lient au param\u00e8tre de requ\u00eate s\u00e9curis\u00e9. Cela am\u00e9liore les performances et offre une s\u00e9curit\u00e9 suppl\u00e9mentaire.<\/p>\n\n\n\n<p>Enfin, nous utilisons un bloc try-except-finally pour g\u00e9rer les exceptions et fermer correctement la connexion \u00e0 la base de donn\u00e9es, m\u00eame en cas d&#8217;erreur.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prot\u00e9ger son code PHP contre les SQL injection<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n$servername = \"localhost\";\n$username = \"username\";\n$password = \"password\";\n$dbname = \"myDB\";\n\n\/\/ Cr\u00e9ation de la connexion\n$conn = new mysqli($servername, $username, $password, $dbname);\n\n\/\/ V\u00e9rification de la connexion\nif ($conn-&gt;connect_error) {\n  die(\"Connection failed: \" . $conn-&gt;connect_error);\n}\n\n\/\/ Utilisation de la requ\u00eate pr\u00e9par\u00e9e pour \u00e9viter l'injection SQL\n$stmt = $conn-&gt;prepare(\"SELECT * FROM users WHERE username = ?\");\n$stmt-&gt;bind_param(\"s\", $username);\n\n\/\/ Assignation de la variable $username \u00e0 une valeur d'entr\u00e9e utilisateur\n$username = $_POST&#91;'username'];\n\n\/\/ Ex\u00e9cution de la requ\u00eate\n$stmt-&gt;execute();\n$result = $stmt-&gt;get_result();\n\n\/\/ Traitement des r\u00e9sultats\nwhile ($row = $result-&gt;fetch_assoc()) {\n  echo \"Username: \" . $row&#91;\"username\"] . \"&lt;br&gt;\";\n}\n\n\/\/ Fermeture de la connexion\n$stmt-&gt;close();\n$conn-&gt;close();\n?&gt;\n<\/code><\/pre>\n\n\n\n<p>Dans cet exemple, nous utilisons des requ\u00eates pr\u00e9par\u00e9es pour \u00e9viter l&#8217;injection SQL. La requ\u00eate pr\u00e9par\u00e9e utilise un marqueur de param\u00e8tre, &#8220;?&#8221; dans la requ\u00eate SQL, qui est li\u00e9 \u00e0 une variable de param\u00e8tre en utilisant la m\u00e9thode <code>bind_param()<\/code>. Cela permet de s\u00e9parer clairement les requ\u00eates SQL des donn\u00e9es utilisateur et de garantir que les donn\u00e9es sont trait\u00e9es en toute s\u00e9curit\u00e9.<\/p>\n\n\n\n<p>Ensuite, nous r\u00e9cup\u00e9rons la valeur de l&#8217;entr\u00e9e utilisateur, <code>$username<\/code>, \u00e0 partir de la variable <code>$_POST['username']<\/code>, qui contient les donn\u00e9es soumises par l&#8217;utilisateur via un formulaire. Ensuite, nous ex\u00e9cutons la requ\u00eate pr\u00e9par\u00e9e en appelant la m\u00e9thode <code>execute()<\/code> sur l&#8217;objet <code>$stmt<\/code>.<\/p>\n\n\n\n<p>Enfin, nous traitons les r\u00e9sultats et fermons la connexion \u00e0 la base de donn\u00e9es en utilisant les m\u00e9thodes <code>fetch_assoc()<\/code>, <code>close()<\/code>, et <code>close()<\/code>, respectivement. En utilisant des requ\u00eates pr\u00e9par\u00e9es, nous pouvons emp\u00eacher efficacement les attaques par injection SQL et garantir que les donn\u00e9es de l&#8217;utilisateur sont trait\u00e9es en toute s\u00e9curit\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Autres ressources<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.searchevolution.com\/security\/2021\/07\/09\/attaque-sqlmap\">Attaques avec SQLmap<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Les vuln\u00e9rabilit\u00e9s par injection SQL sont l&#8217;une des principales menaces de s\u00e9curit\u00e9 pour les applications web. Les attaquants utilisent des entr\u00e9es utilisateur malveillantes pour ex\u00e9cuter des instructions SQL non autoris\u00e9es et acc\u00e9der \u00e0 des informations sensibles ou m\u00eame prendre le contr\u00f4le du syst\u00e8me. Les vuln\u00e9rabilit\u00e9s par injection SQL se produisent lorsque les d\u00e9veloppeurs n&#8217;utilisent pas de param\u00e8tres de requ\u00eate s\u00e9curis\u00e9s et concat\u00e8nent directement les entr\u00e9es utilisateur dans les requ\u00eates SQL. Les cons\u00e9quences d&#8217;une injection SQL r\u00e9ussie peuvent \u00eatre graves, notamment la perte de donn\u00e9es, la violation de la confidentialit\u00e9 et l&#8217;alt\u00e9ration du syst\u00e8me. Il est donc important de prendre des <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,76,29],"tags":[77],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Trouver des vuln\u00e9rabilit\u00e9s par SQL injection dans les Bug Bounty -<\/title>\n<meta name=\"description\" content=\"Des m\u00e9thodes pour d\u00e9tecter des failles SQL injection et des outils automatiques. Un exemple de code s\u00e9curitaire pour les \u00e9viter\" \/>\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.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Trouver des vuln\u00e9rabilit\u00e9s par SQL injection dans les Bug Bounty -\" \/>\n<meta property=\"og:description\" content=\"Des m\u00e9thodes pour d\u00e9tecter des failles SQL injection et des outils automatiques. Un exemple de code s\u00e9curitaire pour les \u00e9viter\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/\" \/>\n<meta property=\"og:site_name\" content=\"S\u00e9curiser votre site\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-09T14:16:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-09T14:16:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.searchevolution.com\/security\/wp-content\/uploads\/2023\/04\/injection-sql-1.png\" \/>\n<meta name=\"author\" content=\"Germain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Germain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimation du temps de lecture\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/\",\"url\":\"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/\",\"name\":\"Trouver des vuln\u00e9rabilit\u00e9s par SQL injection dans les Bug Bounty -\",\"isPartOf\":{\"@id\":\"https:\/\/www.searchevolution.com\/security\/#website\"},\"datePublished\":\"2023-04-09T14:16:39+00:00\",\"dateModified\":\"2023-04-09T14:16:41+00:00\",\"author\":{\"@id\":\"https:\/\/www.searchevolution.com\/security\/#\/schema\/person\/e1318e0782dc5a7d6b03471347f881d8\"},\"description\":\"Des m\u00e9thodes pour d\u00e9tecter des failles SQL injection et des outils automatiques. Un exemple de code s\u00e9curitaire pour les \u00e9viter\",\"breadcrumb\":{\"@id\":\"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.searchevolution.com\/security\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Trouver des vuln\u00e9rabilit\u00e9s par SQL injection dans les Bug Bounty\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.searchevolution.com\/security\/#website\",\"url\":\"https:\/\/www.searchevolution.com\/security\/\",\"name\":\"S\u00e9curiser votre site\",\"description\":\"Conna\u00eetre son ennemi\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.searchevolution.com\/security\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-CA\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.searchevolution.com\/security\/#\/schema\/person\/e1318e0782dc5a7d6b03471347f881d8\",\"name\":\"Germain\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\/\/www.searchevolution.com\/security\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6a203854efbec130dd49471ccbba1abc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6a203854efbec130dd49471ccbba1abc?s=96&d=mm&r=g\",\"caption\":\"Germain\"},\"sameAs\":[\"https:\/\/www.searchevolution.com\/security\"],\"url\":\"https:\/\/www.searchevolution.com\/security\/author\/germain\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Trouver des vuln\u00e9rabilit\u00e9s par SQL injection dans les Bug Bounty -","description":"Des m\u00e9thodes pour d\u00e9tecter des failles SQL injection et des outils automatiques. Un exemple de code s\u00e9curitaire pour les \u00e9viter","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.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/","og_locale":"fr_CA","og_type":"article","og_title":"Trouver des vuln\u00e9rabilit\u00e9s par SQL injection dans les Bug Bounty -","og_description":"Des m\u00e9thodes pour d\u00e9tecter des failles SQL injection et des outils automatiques. Un exemple de code s\u00e9curitaire pour les \u00e9viter","og_url":"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/","og_site_name":"S\u00e9curiser votre site","article_published_time":"2023-04-09T14:16:39+00:00","article_modified_time":"2023-04-09T14:16:41+00:00","og_image":[{"url":"https:\/\/www.searchevolution.com\/security\/wp-content\/uploads\/2023\/04\/injection-sql-1.png"}],"author":"Germain","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Germain","Estimation du temps de lecture":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/","url":"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/","name":"Trouver des vuln\u00e9rabilit\u00e9s par SQL injection dans les Bug Bounty -","isPartOf":{"@id":"https:\/\/www.searchevolution.com\/security\/#website"},"datePublished":"2023-04-09T14:16:39+00:00","dateModified":"2023-04-09T14:16:41+00:00","author":{"@id":"https:\/\/www.searchevolution.com\/security\/#\/schema\/person\/e1318e0782dc5a7d6b03471347f881d8"},"description":"Des m\u00e9thodes pour d\u00e9tecter des failles SQL injection et des outils automatiques. Un exemple de code s\u00e9curitaire pour les \u00e9viter","breadcrumb":{"@id":"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.searchevolution.com\/security\/2023\/04\/09\/trouver-des-vulnerabilites-par-sql-injection-dans-les-bug-bounty\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.searchevolution.com\/security\/"},{"@type":"ListItem","position":2,"name":"Trouver des vuln\u00e9rabilit\u00e9s par SQL injection dans les Bug Bounty"}]},{"@type":"WebSite","@id":"https:\/\/www.searchevolution.com\/security\/#website","url":"https:\/\/www.searchevolution.com\/security\/","name":"S\u00e9curiser votre site","description":"Conna\u00eetre son ennemi","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.searchevolution.com\/security\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-CA"},{"@type":"Person","@id":"https:\/\/www.searchevolution.com\/security\/#\/schema\/person\/e1318e0782dc5a7d6b03471347f881d8","name":"Germain","image":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/www.searchevolution.com\/security\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6a203854efbec130dd49471ccbba1abc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6a203854efbec130dd49471ccbba1abc?s=96&d=mm&r=g","caption":"Germain"},"sameAs":["https:\/\/www.searchevolution.com\/security"],"url":"https:\/\/www.searchevolution.com\/security\/author\/germain\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/posts\/1126"}],"collection":[{"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/comments?post=1126"}],"version-history":[{"count":17,"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/posts\/1126\/revisions"}],"predecessor-version":[{"id":1145,"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/posts\/1126\/revisions\/1145"}],"wp:attachment":[{"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/media?parent=1126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/categories?post=1126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/tags?post=1126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}