Une vulnérabilité non autorisée contourne essentiellement la vérification des autorisations. L'autorisation sur le réseau signifie que les autorisations de lecture et d'écriture sur des ressources spécifiques sont, en termes généraux, ce que vos autorisations vous permettent de faire. La vérification signifie si vous pouvez réellement lire et écrire ces ressources. C'est comme un ami qui vous emprunte de l'argent sur le câble réseau. Lorsque vous transférez de l'argent, vous demandez au téléphone de confirmer votre identité. C'est une vérification.
Index des articles
0x01: principe de l'autorité non autorisée
- Le contrôle d'accès cassé est une vulnérabilité courante dans les applications Web. Cette vulnérabilité fait référence à des failles dans la vérification des autorisations de l'application, qui permet à l'attaquant d'utiliser certaines méthodes pour contourner les contrôles de sécurité et l'accès après avoir obtenu un compte d'utilisateur à faible privilège. Ou utilisez d'autres utilisateurs ou une autorité supérieure. La cause de la vulnérabilité non autorisée est principalement due au fait que les développeurs ajoutent, suppriment et modifient les données et font trop confiance aux données demandées par le client lors de la vérification et de l'omission du jugement d'autorité.
0x02: Classification non autorisée
-
Vulnérabilité d'accès non autorisé horizontal: l'accès non autorisé horizontal est une sorte de vulnérabilité causée par le défaut de conception du "contrôle d'accès basé sur les données", qui est dû au fait que le côté serveur ne juge pas le propriétaire / département des données lors de la réception des données demandées pour l'opération Vulnérabilité d'accès.
-
En supposant que les utilisateurs A et B appartiennent au même rôle et ont le même niveau d'autorisation, ils peuvent obtenir leurs propres données privées (données A et B), mais si le système vérifie uniquement le rôle qui peut accéder aux données, sans subdiviser ni assembler les données Le résultat est que l'utilisateur A peut accéder aux données de l'utilisateur B. Le comportement de l'utilisateur A accédant aux données B est alors appelé accès horizontal non autorisé.
-
Vulnérabilité d'accès non autorisé vertical, l'accès vertical non autorisé est une sorte de vulnérabilité causée par le défaut de conception du "contrôle d'accès basé sur URL", également appelé attaque d'élévation des autorisations.
-
Étant donné que l'application d'arrière-plan ne contrôle pas les autorisations ou contrôle uniquement les autorisations sur les menus et les boutons, les utilisateurs malveillants peuvent accéder ou contrôler les données ou les pages appartenant à d'autres rôles à condition de deviner l'URL ou les informations de paramètres sensibles des autres pages de gestion. Le but de l'élévation.
0x03: Conditions de vulnérabilité
- L'application présente des failles dans la vérification des autorisations, de sorte qu'après avoir obtenu un compte d'utilisateur à faible privilège, l'attaquant utilise certaines méthodes pour contourner les contrôles de sécurité, accéder à ou utiliser d'autres utilisateurs ou des autorisations plus élevées
0x04: outil de détection
- La vulnérabilité d'accès non autorisé est une vulnérabilité logique, nous devons donc la détecter manuellement.
0x05: Comment trouver les vulnérabilités
- Des vulnérabilités horizontales non autorisées se produisent souvent dans des endroits tels que les pages de requête d'informations personnelles, comme à partir d'une page userinfo.php? Id = 2. Cette page est utilisée pour interroger les informations personnelles de l'utilisateur. Le paramètre ID = 2 est utilisé pour déterminer la page de requête et ID = 2 n'effectue aucune vérification. À ce stade, nous pouvons obtenir les personnalités d'autres utilisateurs en modifiant la valeur de l'ID Informations, vous pouvez modifier les informations des autres utilisateurs. Le lendemain, lorsque vous vous connectez à votre compte, vous constatez que votre propre sexe est passé de masculin à féminin. Avez-vous beaucoup de points d'interrogation? ?
- L'échappatoire verticale non autorisée est qu'un utilisateur ordinaire peut effectuer des opérations telles que l'ajout, la suppression, la modification et la vérification de données comme un administrateur. Généralement, la page de gestion en arrière-plan n'est accessible qu'à des fins de gestion. S'il existe un utilisateur ordinaire auquel il est possible d'accéder, il existe une vulnérabilité verticale non autorisée.
0x06: Comment tester la vulnérabilité
-
Violation du niveau du champ de tir de Pikachu: en vous connectant sur la page d'informations personnelles de l'utilisateur, vous pouvez voir que le champ du nom d'utilisateur dans le paramètre URL de la figure est l'utilisateur actuel. Nous pouvons essayer de modifier la valeur de ce paramètre et essayer d'accéder à l'utilisateur avec d'autres autorisations.
-
Nous avons réussi à accéder aux pages d'informations personnelles d'autres utilisateurs disposant de la même autorité en modifiant la valeur du nom d'utilisateur pour vérifier qu'il existe une vulnérabilité de violation de niveau.
-
Gamme de pratiques recommandées en ligne: https://www.mozhe.cn/bug/detail/eUM3SktudHdrUVh6eFloU0VERzB4Zz09bW96aGUmozhe
- Pikachu - champ de tir vertical
0x07: Suggestion de réparation
- La principale raison de la vulnérabilité d'accès non autorisé est qu'il n'y a aucun jugement et contrôle sur l'identité de l'utilisateur. Pour éviter cette vulnérabilité, vous pouvez utiliser la session pour contrôler. Lorsque les informations sont récupérées de la session, au lieu d'obtenir le nom d'utilisateur de GET ou POST, le nom d'utilisateur à ce moment-là ne sera pas falsifié