Maison > interface Web > js tutoriel > Vulnérabilité d'injection SQL causée par les compétences php is_numberic function_javascript

Vulnérabilité d'injection SQL causée par les compétences php is_numberic function_javascript

WBOY
Libérer: 2016-05-16 16:55:58
original
1360 Les gens l'ont consulté

1. Introduction à la fonction is_numberic
La fonction is_numberic est utilisée dans certains programmes CMS nationaux. Examinons d'abord la structure de cette fonction
bool is_numeric (mixed $var)
If renvoie VRAI si var est un nombre ou une chaîne numérique, sinon renvoie FAUX.
2. La fonction est-elle sûre ?
Regardons ensuite un exemple pour illustrer si cette fonction est sûre.

Copier le code Le code est le suivant :
$s = is_numeric($_GET['s'] )?$ _GET['s']:0;
$sql="insérer dans test(type)values($s);" //Ce sont des valeurs($s), pas des valeurs('$s' )
mysql_query ($sql);

Le programme de fragment ci-dessus sert à déterminer si le paramètre s est un nombre. Si c'est le cas, il renverra un nombre, sinon, il renverra 0, et. il sera ensuite introduit dans la base de données pour interrogation. (De cette façon, l'instruction SQL ne peut pas être construite)
Nous convertissons '1 ou 1' en hexadécimal 0x31206f722031 comme valeur du paramètre s
Une fois le programme exécuté, nous interrogeons la base de données, comme indiqué ci-dessous :
Vulnérabilité d'injection SQL causée par les compétences php is_numberic function_javascript
Si vous réinterrogez les champs de cette table et introduisez une autre instruction SQL sans filtrage, cela provoquera deux injections.
Résumé
Essayez. Pour ne pas utiliser cette fonction, si vous souhaitez utiliser cette fonction, il est recommandé d'utiliser des instructions SQL standard et d'ajouter des guillemets simples aux conditions, afin que le nombre hexadécimal 0x31206f722031 soit affiché dans la base de données. Il n’y en aura pas 1 ou 1.
Étiquettes associées:
php
source:php.cn
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