bypass is_numeric()
|
16-01-2014, 21h35
Message : #1
|
|
MLT
MauriceLeTendu Messages : 40 Sujets : 10 Points: 26 Inscription : Dec 2012 |
bypass is_numeric()
Bonjour,
Je me suis fait un code poreux à l'injection sql, j'ai rajouté la fonction is_numeric(). Voici le code: Code PHP : <?php D'après une discussion sur irc hier avec quelques membres, apparemment il serait possible de bypass la fonction is_numeric(). Donc j'ai essayé d'exploiter ma faille sql avec mon code protégé par is_numeric(). Mais là j e bloque je sais pas comment faire. Tout d'abord, j'ai tenté d'injecter un ' avec id=1 0x27 mais l'id est traduit par 49, la valeur décimale de 0x27 et non par '. Ma question est donc : Est-il possible de bypass ce code ? Pour info j'ai pris la bdd du site du zero , dispo dans le tuto php/sql. |
|
17-01-2014, 10h59
Message : #2
|
|
Booster2ooo
Contributeur Messages : 165 Sujets : 14 Points: 63 Inscription : Aug 2011 |
RE: bypass is_numeric()
Je vais contourner la question car je ne connais pas la réponse. Tu travailles ici avec PDO alors pourquoi ne pas utiliser les requêtes préparées, qui, il me semble, ne sont pas sujettes aux injections?
|
|
17-01-2014, 13h49
(Modification du message : 17-01-2014, 13h49 par Hypnoze57.)
Message : #3
|
|
Hypnoze57
Web Hacker Messages : 98 Sujets : 13 Points: 28 Inscription : Feb 2012 |
RE: bypass is_numeric()
is_numeric vérifie que la variable est bien du type numérique, pour convertir une variable en int on peut utilisé intval:
Code : <?php Et pour répondre à ta question je n'ai jamais vu une méthode permettant de contourner ceci. Make your own destiny now and forever !
|
|
17-01-2014, 14h43
Message : #4
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: bypass is_numeric()
(17-01-2014, 13h49)Hypnoze57 a écrit : is_numeric vérifie que la variable est bien du type numérique yep, c'est même marqué directement dans la doc, suffit de regarder l'exemple, du coup c'est pas un bypass c'est juste savoir coder finalement
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
17-01-2014, 19h56
Message : #5
|
|
Hypnoze57
Web Hacker Messages : 98 Sujets : 13 Points: 28 Inscription : Feb 2012 |
RE: bypass is_numeric()
(17-01-2014, 14h43)gruik a écrit : yep, c'est même marqué directement dans la doc, suffit de regarder l'exemple, du coup c'est pas un bypass c'est juste savoir coder finalement C'est même marqué directement dans son nom :p Je sors -->[] Make your own destiny now and forever !
|
|
17-01-2014, 22h09
(Modification du message : 17-01-2014, 22h20 par MLT.)
Message : #6
|
|
MLT
MauriceLeTendu Messages : 40 Sujets : 10 Points: 26 Inscription : Dec 2012 |
RE: bypass is_numeric()
je sais bien à quoi sert is_numeric()
mais 'or 1=1 -- = 0x276f7220313d31202d2d et c'est bien une valeur numérique Si on injecte ceci : fichier.php?id=0x276f7220313d31202d2d, sa contourne bien la fonction mais d'après mes tests, derrière ça à pas l'air de poutrer la requête sql comme je le disais dans mon premier post, par exemple si on prend le 'simple quote' ' = 27 en hexa et 39 en décimal si on injecte 0x27 , c'est traduit en 39 et non pas en caractère ' |
|
18-01-2014, 00h14
(Modification du message : 18-01-2014, 00h14 par Hypnoze57.)
Message : #7
|
|
Hypnoze57
Web Hacker Messages : 98 Sujets : 13 Points: 28 Inscription : Feb 2012 |
RE: bypass is_numeric()
edit (reformuler): 0x276f7220313d31202d2d = de l'hexa, le type numéric accepte l'hexa mais je ne pense pas qu'sql va le decoder pour l'executer mais plutot l'executer tel qu'elle.
Make your own destiny now and forever !
|
|
18-01-2014, 00h39
Message : #8
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: bypass is_numeric()
(17-01-2014, 19h56)Hypnoze57 a écrit : C'est même marqué directement dans son nom :p Code PYTHON :
python a écrit :The method isnumeric() checks whether the string consists of only numeric characters. php a écrit :Détermine si la variable donnée est de type numérique (...) Les notations hexadécimale (...), binaire (...), octale (...) sont également autorisées faut se méfier du nom et se fier à la doc (bon ok dans le cas de php faut surement plutôt se méfier du langage directement...)
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
18-01-2014, 13h44
Message : #9
|
|
MLT
MauriceLeTendu Messages : 40 Sujets : 10 Points: 26 Inscription : Dec 2012 |
RE: bypass is_numeric()
D'après mes recherches, on peut pas contourner is_numeric() en php.
c'est isnumeric() en sql que l'on peut contourner. http://classicasp.aspfaq.com/general/wha...meric.html |
|
18-01-2014, 15h03
Message : #10
|
|
gruik
gouteur de savon Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: bypass is_numeric()
(18-01-2014, 13h44)MLT a écrit : c'est isnumeric() en sql que l'on peut contourner. d'après ce que je lis la fonction n'est dispo qu'en T-SQL et donc à priori uniquement sous Microsoft SQL Server, ça me semblait important de le préciser...
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
« Sujet précédent | Sujet suivant »
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
FRP bypass | Peanut_the_0ne | 1 | 116 |
13-01-2023, 19h38 Dernier message: Di0Sasm |
|
bypass addslashes() | MLT | 0 | 215 |
18-01-2014, 16h59 Dernier message: MLT |
|
[pentest] bypass file integrity system | playzzzz | 10 | 577 |
23-07-2013, 16h00 Dernier message: InstinctHack |
Utilisateur(s) parcourant ce sujet : 2 visiteur(s)