Qu'est-ce que l'injection d'octets larges dans l'injection SQL ?

王林
Libérer: 2023-05-17 15:37:14
avant
1598 Les gens l'ont consulté

Injection d'octets larges : c'est un moyen de contourner l'injection SQL

1. Concept d'octets larges :

1 Jeu de caractères à un octet : tous les caractères sont représentés par un octet, comme le codage ASCII (0-127)

. Dans un jeu de caractères multi-octets, certains caractères sont composés de plusieurs octets, tandis que d'autres caractères sont représentés par un seul octet (certains caractères peuvent ne pas avoir une représentation sur un seul octet).

3. Encodage UTF-8 : il s'agit d'une méthode d'encodage (encodage multi-octets). Elle peut utiliser 1 à 4 octets pour représenter un symbole, et la longueur de l'octet change en fonction des différents symboles.

4. Octets larges communs : GB2312, GBK, GB18030, BIG5, Shift_JIS GB2312 n'a pas d'injection d'octets larges et les codes avec injection d'octets larges peuvent être collectés.

5. Lors de l'utilisation de l'injection d'octets larges, une fonctionnalité de MySQL est utilisée. Lors de l'utilisation de l'encodage GBK, deux caractères seront considérés comme un caractère chinois

2. caractères prédéfinis Ajoutez une barre oblique inverse avant la chaîne.

2. Caractères prédéfinis : guillemet simple ('), guillemet double ("), barre oblique inverse (), NULL

3. Exemple

https://xxxxx?name=hello%27

Quest-ce que linjection doctets larges dans linjection SQL ?Input Les guillemets simples sont échappé et ne peut pas être échappé

Ensuite, j'ai regardé le code source de la page et les en-têtes de requête et j'ai découvert que le code client est gbk

Quest-ce que linjection doctets larges dans linjection SQL ?Lorsque j'ai essayé de saisir hello%df%27, la console a signalé une erreur indiquant que les guillemets étaient non fermé, suivi de Construisez le code js supplémentaire et commentez les caractères suivants pour que la syntaxe soit correcte

Quest-ce que linjection doctets larges dans linjection SQL ? 3. Combat réel au stand de tir

1 Ouvrez d'abord la page, consultez les informations de maintenance, cliquez dedans et. observez qu'il a le paramètre id, car la question Cela signifie une injection d'octets larges

Quest-ce que linjection doctets larges dans linjection SQL ?2. Entrez directement la méthode de contournement classique d'injection d'octets larges : %df', et vous verrez la page d'erreur,

Quest-ce que linjection doctets larges dans linjection SQL ?3. modifiez le paramètre id dans SQLmap pour une détection régulière

Quest-ce que linjection doctets larges dans linjection SQL ?4. Le mot de passe est crypté par MD5. Après le décryptage, vous pouvez obtenir le mot de passe de connexion et vous pouvez obtenir la CLÉ après vous être connecté

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
sql
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal