SCW 아이콘
영웅 배경, 구분선 없음
블로그

Les codeurs conquièrent la série d'API Top 10 de l'OWASP en matière de sécurité - Contrôle d'accès au niveau des fonctions manquant

마티아스 마두, Ph.
게시일 : 2020.10.07
마지막 업데이트: 2026년 3월 8일

Cette série de blogs se concentrera sur certaines des pires vulnérabilités liées aux interfaces de programmation d'applications (API). Ils sont si mauvais qu'ils ont créé l'Open Web Application Security Project (GUÊPE) liste des principales vulnérabilités des API. Compte tenu de l'importance des API pour les infrastructures informatiques modernes, il s'agit de problèmes critiques que vous devez à tout prix éviter dans vos applications et programmes.

Le contrôle d'accès au niveau des fonctions manquant Une vulnérabilité permet aux utilisateurs d'exécuter des fonctions qui devraient être restreintes ou leur permet d'accéder à des ressources qui doivent être protégées. Normalement, les fonctions et les ressources sont directement protégées dans le code ou par les paramètres de configuration, mais ce n'est pas toujours facile de le faire correctement. La mise en œuvre de contrôles appropriés peut s'avérer difficile car les applications modernes contiennent souvent de nombreux types de rôles et de groupes, ainsi qu'une hiérarchie d'utilisateurs complexe.

Mais d'abord, pourquoi ne pas participer à notre défi gamifié pour voir où vous en êtes dans cette catégorie délicate de bugs ?

Jetons un coup d'œil plus approfondi :

Les API sont particulièrement vulnérables à cette faille car elles sont très structurées. Les attaquants qui comprennent le code peuvent deviner en toute connaissance de cause comment implémenter des commandes qui devraient leur être réservées. C'est l'une des principales raisons pour lesquelles la vulnérabilité du contrôle d'accès au niveau des fonctions/ressources s'est classée dans le top 10 de l'OWASP.

Comment les attaquants peuvent-ils exploiter la vulnérabilité du contrôle d'accès au niveau des fonctions ?

Les attaquants qui pensent que des fonctions ou des ressources ne sont pas correctement protégées doivent d'abord accéder au système qu'ils souhaitent attaquer. Pour exploiter cette vulnérabilité, ils doivent être autorisés à envoyer des appels d'API légitimes au terminal. Il existe peut-être une fonction d'accès invité de bas niveau ou un moyen de se connecter de manière anonyme dans le cadre de la fonction de l'application. Une fois cet accès établi, ils peuvent commencer à modifier les commandes de leurs appels d'API légitimes. Par exemple, ils peuvent remplacer GET par PUT, ou remplacer la chaîne USERS de l'URL par ADMINS. Encore une fois, les API étant structurées, il est facile de deviner quelles commandes peuvent être autorisées et où les placer dans la chaîne.

L'OWASP donne un exemple de cette vulnérabilité d'un processus d'enregistrement mis en place pour permettre aux nouveaux utilisateurs de rejoindre un site Web. Il utiliserait probablement un appel d'API GET, comme celui-ci :

GET /api/invites/ {invite_guid}

L'utilisateur malveillant récupérerait un JSON contenant les détails de l'invitation, y compris le rôle et l'adresse e-mail de l'utilisateur. Ils pourraient ensuite changer GET en POST et également faire passer leur invitation d'utilisateur à administrateur à l'aide de l'appel d'API suivant :

POSTER /api/invites/nouveau
{"email » : » shadyguy@targetedsystem.com «, "role » :"admin "}

Seuls les administrateurs devraient être en mesure d'envoyer des commandes POST, mais si elles ne sont pas correctement sécurisées, l'API les considérera comme légitimes et exécutera ce que l'attaquant souhaite. Dans ce cas, l'utilisateur malveillant serait invité à rejoindre le système en tant que nouvel administrateur. Après cela, ils pourraient voir et faire tout ce qu'un administrateur légitime pourrait faire, ce qui ne serait pas une bonne chose.

Élimination de la vulnérabilité du contrôle d'accès au niveau des fonctions

Il est particulièrement important de prévenir cette vulnérabilité d'API, car il n'est pas difficile pour un attaquant de trouver des fonctions non protégées au sein d'une API structurée. Tant qu'ils peuvent obtenir un certain niveau d'accès à une API, ils peuvent commencer à cartographier la structure du code et à créer des appels qui seront éventuellement suivis.

Par conséquent, toutes les fonctions au niveau de l'entreprise doivent être protégées à l'aide d'une méthode d'autorisation basée sur les rôles. La plupart des frameworks proposent des routines centralisées pour y parvenir. Si le framework que vous avez choisi ne fonctionne pas ou si la routine qu'il contient est difficile à implémenter, de nombreux modules externes sont spécialement conçus pour une utilisation facile. Quelle que soit la méthode que vous choisissez finalement, veillez à implémenter l'autorisation sur le serveur. N'essayez jamais de sécuriser les fonctions côté client.

Lorsque vous créez des autorisations au niveau des fonctions et des ressources, n'oubliez pas que les utilisateurs ne doivent être autorisés qu'à faire ce dont ils ont besoin et rien de plus. Comme c'est toujours le cas lorsque vous codez des API ou quoi que ce soit d'autre, pratiquez la méthodologie du moindre privilège. Cela sécurisera votre environnement et évitera de nombreux problèmes liés à la cybersécurité à l'avenir.

Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

리소스 표시
리소스 표시

La vulnérabilité de contrôle d'accès au niveau des fonctions manquante permet aux utilisateurs d'exécuter des fonctions qui devraient être restreintes ou leur permet d'accéder à des ressources qui devraient être protégées.

더 알고 싶으신가요?

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

더 알아보세요

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 주기 전반에 걸쳐 코드를 안전하게 보호하고 사이버보안이 최우선 과제인 문화를 조성하도록 Secure Code Warrior . 애플리케이션 보안 담당자, 개발자, IT 보안 책임자 또는 보안 관련 업무에 종사하는 모든 분들을 위해, 저희는 귀사의 조직이 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.

데모 예약하기
공유하기:
링크드인 브랜드사회적x 로고
작가
마티아스 마두, Ph.
게시일: 2020.10.07.

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une application.

공유하기:
링크드인 브랜드사회적x 로고

Cette série de blogs se concentrera sur certaines des pires vulnérabilités liées aux interfaces de programmation d'applications (API). Ils sont si mauvais qu'ils ont créé l'Open Web Application Security Project (GUÊPE) liste des principales vulnérabilités des API. Compte tenu de l'importance des API pour les infrastructures informatiques modernes, il s'agit de problèmes critiques que vous devez à tout prix éviter dans vos applications et programmes.

Le contrôle d'accès au niveau des fonctions manquant Une vulnérabilité permet aux utilisateurs d'exécuter des fonctions qui devraient être restreintes ou leur permet d'accéder à des ressources qui doivent être protégées. Normalement, les fonctions et les ressources sont directement protégées dans le code ou par les paramètres de configuration, mais ce n'est pas toujours facile de le faire correctement. La mise en œuvre de contrôles appropriés peut s'avérer difficile car les applications modernes contiennent souvent de nombreux types de rôles et de groupes, ainsi qu'une hiérarchie d'utilisateurs complexe.

Mais d'abord, pourquoi ne pas participer à notre défi gamifié pour voir où vous en êtes dans cette catégorie délicate de bugs ?

Jetons un coup d'œil plus approfondi :

Les API sont particulièrement vulnérables à cette faille car elles sont très structurées. Les attaquants qui comprennent le code peuvent deviner en toute connaissance de cause comment implémenter des commandes qui devraient leur être réservées. C'est l'une des principales raisons pour lesquelles la vulnérabilité du contrôle d'accès au niveau des fonctions/ressources s'est classée dans le top 10 de l'OWASP.

Comment les attaquants peuvent-ils exploiter la vulnérabilité du contrôle d'accès au niveau des fonctions ?

Les attaquants qui pensent que des fonctions ou des ressources ne sont pas correctement protégées doivent d'abord accéder au système qu'ils souhaitent attaquer. Pour exploiter cette vulnérabilité, ils doivent être autorisés à envoyer des appels d'API légitimes au terminal. Il existe peut-être une fonction d'accès invité de bas niveau ou un moyen de se connecter de manière anonyme dans le cadre de la fonction de l'application. Une fois cet accès établi, ils peuvent commencer à modifier les commandes de leurs appels d'API légitimes. Par exemple, ils peuvent remplacer GET par PUT, ou remplacer la chaîne USERS de l'URL par ADMINS. Encore une fois, les API étant structurées, il est facile de deviner quelles commandes peuvent être autorisées et où les placer dans la chaîne.

L'OWASP donne un exemple de cette vulnérabilité d'un processus d'enregistrement mis en place pour permettre aux nouveaux utilisateurs de rejoindre un site Web. Il utiliserait probablement un appel d'API GET, comme celui-ci :

GET /api/invites/ {invite_guid}

L'utilisateur malveillant récupérerait un JSON contenant les détails de l'invitation, y compris le rôle et l'adresse e-mail de l'utilisateur. Ils pourraient ensuite changer GET en POST et également faire passer leur invitation d'utilisateur à administrateur à l'aide de l'appel d'API suivant :

POSTER /api/invites/nouveau
{"email » : » shadyguy@targetedsystem.com «, "role » :"admin "}

Seuls les administrateurs devraient être en mesure d'envoyer des commandes POST, mais si elles ne sont pas correctement sécurisées, l'API les considérera comme légitimes et exécutera ce que l'attaquant souhaite. Dans ce cas, l'utilisateur malveillant serait invité à rejoindre le système en tant que nouvel administrateur. Après cela, ils pourraient voir et faire tout ce qu'un administrateur légitime pourrait faire, ce qui ne serait pas une bonne chose.

Élimination de la vulnérabilité du contrôle d'accès au niveau des fonctions

Il est particulièrement important de prévenir cette vulnérabilité d'API, car il n'est pas difficile pour un attaquant de trouver des fonctions non protégées au sein d'une API structurée. Tant qu'ils peuvent obtenir un certain niveau d'accès à une API, ils peuvent commencer à cartographier la structure du code et à créer des appels qui seront éventuellement suivis.

Par conséquent, toutes les fonctions au niveau de l'entreprise doivent être protégées à l'aide d'une méthode d'autorisation basée sur les rôles. La plupart des frameworks proposent des routines centralisées pour y parvenir. Si le framework que vous avez choisi ne fonctionne pas ou si la routine qu'il contient est difficile à implémenter, de nombreux modules externes sont spécialement conçus pour une utilisation facile. Quelle que soit la méthode que vous choisissez finalement, veillez à implémenter l'autorisation sur le serveur. N'essayez jamais de sécuriser les fonctions côté client.

Lorsque vous créez des autorisations au niveau des fonctions et des ressources, n'oubliez pas que les utilisateurs ne doivent être autorisés qu'à faire ce dont ils ont besoin et rien de plus. Comme c'est toujours le cas lorsque vous codez des API ou quoi que ce soit d'autre, pratiquez la méthodologie du moindre privilège. Cela sécurisera votre environnement et évitera de nombreux problèmes liés à la cybersécurité à l'avenir.

Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

리소스 표시
리소스 표시

아래 양식을 작성하여 보고서를 다운로드하세요

저희 제품 및/또는 안전한 코딩 관련 주제에 대한 정보를 보내드리는 데 귀하의 허락을 받고자 합니다. 귀하의 개인정보는 항상 최대한 신중하게 처리하며, 마케팅 목적으로 다른 기업에 절대 판매하지 않을 것입니다.

제출하다
scw 성공 아이콘
scw 오류 아이콘
양식을 제출하려면 '분석' 쿠키를 활성화해 주십시오. 완료 후에는 다시 비활성화하셔도 됩니다.

Cette série de blogs se concentrera sur certaines des pires vulnérabilités liées aux interfaces de programmation d'applications (API). Ils sont si mauvais qu'ils ont créé l'Open Web Application Security Project (GUÊPE) liste des principales vulnérabilités des API. Compte tenu de l'importance des API pour les infrastructures informatiques modernes, il s'agit de problèmes critiques que vous devez à tout prix éviter dans vos applications et programmes.

Le contrôle d'accès au niveau des fonctions manquant Une vulnérabilité permet aux utilisateurs d'exécuter des fonctions qui devraient être restreintes ou leur permet d'accéder à des ressources qui doivent être protégées. Normalement, les fonctions et les ressources sont directement protégées dans le code ou par les paramètres de configuration, mais ce n'est pas toujours facile de le faire correctement. La mise en œuvre de contrôles appropriés peut s'avérer difficile car les applications modernes contiennent souvent de nombreux types de rôles et de groupes, ainsi qu'une hiérarchie d'utilisateurs complexe.

Mais d'abord, pourquoi ne pas participer à notre défi gamifié pour voir où vous en êtes dans cette catégorie délicate de bugs ?

Jetons un coup d'œil plus approfondi :

Les API sont particulièrement vulnérables à cette faille car elles sont très structurées. Les attaquants qui comprennent le code peuvent deviner en toute connaissance de cause comment implémenter des commandes qui devraient leur être réservées. C'est l'une des principales raisons pour lesquelles la vulnérabilité du contrôle d'accès au niveau des fonctions/ressources s'est classée dans le top 10 de l'OWASP.

Comment les attaquants peuvent-ils exploiter la vulnérabilité du contrôle d'accès au niveau des fonctions ?

Les attaquants qui pensent que des fonctions ou des ressources ne sont pas correctement protégées doivent d'abord accéder au système qu'ils souhaitent attaquer. Pour exploiter cette vulnérabilité, ils doivent être autorisés à envoyer des appels d'API légitimes au terminal. Il existe peut-être une fonction d'accès invité de bas niveau ou un moyen de se connecter de manière anonyme dans le cadre de la fonction de l'application. Une fois cet accès établi, ils peuvent commencer à modifier les commandes de leurs appels d'API légitimes. Par exemple, ils peuvent remplacer GET par PUT, ou remplacer la chaîne USERS de l'URL par ADMINS. Encore une fois, les API étant structurées, il est facile de deviner quelles commandes peuvent être autorisées et où les placer dans la chaîne.

L'OWASP donne un exemple de cette vulnérabilité d'un processus d'enregistrement mis en place pour permettre aux nouveaux utilisateurs de rejoindre un site Web. Il utiliserait probablement un appel d'API GET, comme celui-ci :

GET /api/invites/ {invite_guid}

L'utilisateur malveillant récupérerait un JSON contenant les détails de l'invitation, y compris le rôle et l'adresse e-mail de l'utilisateur. Ils pourraient ensuite changer GET en POST et également faire passer leur invitation d'utilisateur à administrateur à l'aide de l'appel d'API suivant :

POSTER /api/invites/nouveau
{"email » : » shadyguy@targetedsystem.com «, "role » :"admin "}

Seuls les administrateurs devraient être en mesure d'envoyer des commandes POST, mais si elles ne sont pas correctement sécurisées, l'API les considérera comme légitimes et exécutera ce que l'attaquant souhaite. Dans ce cas, l'utilisateur malveillant serait invité à rejoindre le système en tant que nouvel administrateur. Après cela, ils pourraient voir et faire tout ce qu'un administrateur légitime pourrait faire, ce qui ne serait pas une bonne chose.

Élimination de la vulnérabilité du contrôle d'accès au niveau des fonctions

Il est particulièrement important de prévenir cette vulnérabilité d'API, car il n'est pas difficile pour un attaquant de trouver des fonctions non protégées au sein d'une API structurée. Tant qu'ils peuvent obtenir un certain niveau d'accès à une API, ils peuvent commencer à cartographier la structure du code et à créer des appels qui seront éventuellement suivis.

Par conséquent, toutes les fonctions au niveau de l'entreprise doivent être protégées à l'aide d'une méthode d'autorisation basée sur les rôles. La plupart des frameworks proposent des routines centralisées pour y parvenir. Si le framework que vous avez choisi ne fonctionne pas ou si la routine qu'il contient est difficile à implémenter, de nombreux modules externes sont spécialement conçus pour une utilisation facile. Quelle que soit la méthode que vous choisissez finalement, veillez à implémenter l'autorisation sur le serveur. N'essayez jamais de sécuriser les fonctions côté client.

Lorsque vous créez des autorisations au niveau des fonctions et des ressources, n'oubliez pas que les utilisateurs ne doivent être autorisés qu'à faire ce dont ils ont besoin et rien de plus. Comme c'est toujours le cas lorsque vous codez des API ou quoi que ce soit d'autre, pratiquez la méthodologie du moindre privilège. Cela sécurisera votre environnement et évitera de nombreux problèmes liés à la cybersécurité à l'avenir.

Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

웨비나 보기
시작하세요
더 알아보세요

아래 링크를 클릭하고 이 자료의 PDF를 다운로드하세요.

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 주기 전반에 걸쳐 코드를 안전하게 보호하고 사이버보안이 최우선 과제인 문화를 조성하도록 Secure Code Warrior . 애플리케이션 보안 담당자, 개발자, IT 보안 책임자 또는 보안 관련 업무에 종사하는 모든 분들을 위해, 저희는 귀사의 조직이 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.

보고서 표시데모 예약하기
리소스 표시
공유하기:
링크드인 브랜드사회적x 로고
더 알고 싶으신가요?

공유하기:
링크드인 브랜드사회적x 로고
작가
마티아스 마두, Ph.
게시일: 2020.10.07.

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une application.

공유하기:
링크드인 브랜드사회적x 로고

Cette série de blogs se concentrera sur certaines des pires vulnérabilités liées aux interfaces de programmation d'applications (API). Ils sont si mauvais qu'ils ont créé l'Open Web Application Security Project (GUÊPE) liste des principales vulnérabilités des API. Compte tenu de l'importance des API pour les infrastructures informatiques modernes, il s'agit de problèmes critiques que vous devez à tout prix éviter dans vos applications et programmes.

Le contrôle d'accès au niveau des fonctions manquant Une vulnérabilité permet aux utilisateurs d'exécuter des fonctions qui devraient être restreintes ou leur permet d'accéder à des ressources qui doivent être protégées. Normalement, les fonctions et les ressources sont directement protégées dans le code ou par les paramètres de configuration, mais ce n'est pas toujours facile de le faire correctement. La mise en œuvre de contrôles appropriés peut s'avérer difficile car les applications modernes contiennent souvent de nombreux types de rôles et de groupes, ainsi qu'une hiérarchie d'utilisateurs complexe.

Mais d'abord, pourquoi ne pas participer à notre défi gamifié pour voir où vous en êtes dans cette catégorie délicate de bugs ?

Jetons un coup d'œil plus approfondi :

Les API sont particulièrement vulnérables à cette faille car elles sont très structurées. Les attaquants qui comprennent le code peuvent deviner en toute connaissance de cause comment implémenter des commandes qui devraient leur être réservées. C'est l'une des principales raisons pour lesquelles la vulnérabilité du contrôle d'accès au niveau des fonctions/ressources s'est classée dans le top 10 de l'OWASP.

Comment les attaquants peuvent-ils exploiter la vulnérabilité du contrôle d'accès au niveau des fonctions ?

Les attaquants qui pensent que des fonctions ou des ressources ne sont pas correctement protégées doivent d'abord accéder au système qu'ils souhaitent attaquer. Pour exploiter cette vulnérabilité, ils doivent être autorisés à envoyer des appels d'API légitimes au terminal. Il existe peut-être une fonction d'accès invité de bas niveau ou un moyen de se connecter de manière anonyme dans le cadre de la fonction de l'application. Une fois cet accès établi, ils peuvent commencer à modifier les commandes de leurs appels d'API légitimes. Par exemple, ils peuvent remplacer GET par PUT, ou remplacer la chaîne USERS de l'URL par ADMINS. Encore une fois, les API étant structurées, il est facile de deviner quelles commandes peuvent être autorisées et où les placer dans la chaîne.

L'OWASP donne un exemple de cette vulnérabilité d'un processus d'enregistrement mis en place pour permettre aux nouveaux utilisateurs de rejoindre un site Web. Il utiliserait probablement un appel d'API GET, comme celui-ci :

GET /api/invites/ {invite_guid}

L'utilisateur malveillant récupérerait un JSON contenant les détails de l'invitation, y compris le rôle et l'adresse e-mail de l'utilisateur. Ils pourraient ensuite changer GET en POST et également faire passer leur invitation d'utilisateur à administrateur à l'aide de l'appel d'API suivant :

POSTER /api/invites/nouveau
{"email » : » shadyguy@targetedsystem.com «, "role » :"admin "}

Seuls les administrateurs devraient être en mesure d'envoyer des commandes POST, mais si elles ne sont pas correctement sécurisées, l'API les considérera comme légitimes et exécutera ce que l'attaquant souhaite. Dans ce cas, l'utilisateur malveillant serait invité à rejoindre le système en tant que nouvel administrateur. Après cela, ils pourraient voir et faire tout ce qu'un administrateur légitime pourrait faire, ce qui ne serait pas une bonne chose.

Élimination de la vulnérabilité du contrôle d'accès au niveau des fonctions

Il est particulièrement important de prévenir cette vulnérabilité d'API, car il n'est pas difficile pour un attaquant de trouver des fonctions non protégées au sein d'une API structurée. Tant qu'ils peuvent obtenir un certain niveau d'accès à une API, ils peuvent commencer à cartographier la structure du code et à créer des appels qui seront éventuellement suivis.

Par conséquent, toutes les fonctions au niveau de l'entreprise doivent être protégées à l'aide d'une méthode d'autorisation basée sur les rôles. La plupart des frameworks proposent des routines centralisées pour y parvenir. Si le framework que vous avez choisi ne fonctionne pas ou si la routine qu'il contient est difficile à implémenter, de nombreux modules externes sont spécialement conçus pour une utilisation facile. Quelle que soit la méthode que vous choisissez finalement, veillez à implémenter l'autorisation sur le serveur. N'essayez jamais de sécuriser les fonctions côté client.

Lorsque vous créez des autorisations au niveau des fonctions et des ressources, n'oubliez pas que les utilisateurs ne doivent être autorisés qu'à faire ce dont ils ont besoin et rien de plus. Comme c'est toujours le cas lorsque vous codez des API ou quoi que ce soit d'autre, pratiquez la méthodologie du moindre privilège. Cela sécurisera votre environnement et évitera de nombreux problèmes liés à la cybersécurité à l'avenir.

Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

목차

PDF 다운로드
리소스 표시
더 알고 싶으신가요?

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

더 알아보세요

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 주기 전반에 걸쳐 코드를 안전하게 보호하고 사이버보안이 최우선 과제인 문화를 조성하도록 Secure Code Warrior . 애플리케이션 보안 담당자, 개발자, IT 보안 책임자 또는 보안 관련 업무에 종사하는 모든 분들을 위해, 저희는 귀사의 조직이 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.

데모 예약하기Télécharger
공유하기:
링크드인 브랜드사회적x 로고
자원 센터

시작하는 데 도움이 되는 자료

더 많은 게시물
자원 센터

시작하는 데 도움이 되는 자료

더 많은 게시물