[Site] Et après ?

Démarré par EcstazY, 11 Septembre, 2010, 12:51:38

« précédent - suivant »

Wong

Bah oui, toutes les variables sont explicitement appelées maintenant.

Pour la sécurité, je reconnais qu'elle est pas tip top, y'a ptêt moyen de bidouiller ça. A un moment, j'ai pensé jouer avec des RewriteRule pour masquer une bonne partie du fonctionnement, pour créer des URLs de type www.jenesuis.net/critiques/1234. Mais ça nécessite un bon morceau de réécriture. Note qu'avec un peu de temps c'est tout à fait faisable et totalement dans mes cordes, vu que j'ai développé un proxy/gateway/interface de redirection conditionnelle/whitelists/autres uniquement à base de mod_rewrite (le premier qui débarque et me dit que c'est débile et qu'il aurait fallu utiliser un vrai proxy, je l'encule avec un bâton, le projet était déja vendu comme ça, on m'a dit "tu te démerdes" ;D).

mioux

Franchement, un truc simple :

$sql = "SELECT * FROM matable WHERE id = $idChoisi AND name = '$nomChoisi'
c'est pas bien

if (!is_integer($idChoisi))
  die ("Non mais tu me prends pour un con ou quoi ?");

$nomChoisi = mysql_real_escape_string($nomChoisi)

$sql = "SELECT * FROM matable WHERE id = $idChoisi AND name = '$nomChoisi'


et déjà je ne pourrais plus faire mumuse à essayer de chopper les infos de shémas de la base de données :D

High_Cobra

3 lignes dans le rewrite pour faire ce que tu veux là... Je peux tenter de te les faire si tu me dit exactement ce que tu veux...

Sto

Réponse à mioux, page d'avant : tu peux pas confirmer avec ce que t'as fait. Essayer d'injecter une erreur SQL affiche le même message d'erreur, et pas une erreur SQL...
Réponse concernant les Rewrite Rules : facile. ;D

Faut jamais sous-estimer la menace... Regardez, on a bien un Vince le traître qui supprime le contenu de nos feuilles Google Docs (blindtests) à peine le lien est-il exposé au public...

Dernière édition: 17 Septembre, 2010, 00:27:27 par Sto

mioux

Non je ne peux confirmer directement par l'erreur, mais je te dis ce que je constate depuis ces erreurs :

- J'ai pu modifier le contenu de la requête
- J'ai créé une requête qui ne renvoie aucune données

Je peux donc supposer que :
- Les INT ne sont pas contrôlés avant d'êtres injectés dans la requête
- L'utilisateur qui a les droits de lectures sur cette base n'a pas le droit de lire INFORMATION_SCHEMA (ce qui est une bonne chose)

Ce que je peux faire :
- Tenter de créer des tables
- Tenter de "deviner" le nom des champs pour chopper ce qui m'intéresse
- Tenter de créer un user qui aurait des droits
- Tenter de dropper les tables si je suis salaud

Sto

Oui, j'avais pas réalisé, mais effectivement, la requête exécutée a changé, puisque son résultat n'est pas le même. Donc, tu as fait une injection. :)

mioux

C'est mon métier de m'assurer la sécurité sur des serveurs SQL ;D ;D ;D

Sto

:)
Moi je travail sur un truc tout fait, donc je me soucie pas des requêtes SQL que je fais, puisqu'elles passent par une étape de vérification et d'échappement (pas le pot). :)

Wong

Bon, j'ai pas eu le temps de réparer la fonction backup dans l'IHM d'admin, c'est moins simple que prévu. Je verrai ça ce weekend.

Mioux : Je mets en place les échappements ce weekend pour faire un truc propre.

High_Cobra : comme je disais, mod_rewrite c'est un peu mon domaine de prédilection en ce moment, j'en fais tous les jours depuis à peu près février, je devrais pouvoir me débrouiller ;)

EcstazY

Ce sujet ne ressemble à rien de connu, vous me faites peur :D

Le principal, c'est que ca marche :D

Sto

Wong : ahah, ils te font utiliser les RewriteRules pour tout et n'importe quoi à Cap (toujours là-bas ?). :D

Après, tu dis qu' "avec un peu de temps", c'est faisable, on a l'impression que ça te prendra du temps, alors que bon, cette réécriture, elle prend 10 minutes à faire. ;)

Wong

Bah c'est surtout que les RewriteRules, en soi, ça va me prendre 10 minutes à tout péter, par contre il va surtout falloir changer toute la forme des liens dans le code. Ce qui est également facile, mais fastidieux :)

Et oui, mod_rewrite sert à tout à Cap ;D Avec ça, tu peux :
- Faire des redirections
- Bloquer l'accès à des pages
- Faire des whitelists
- Faire des blacklists
- Faire des proxies
- Faire des gateways
- Gérer des kits de connexion
- bloquer windows update
- gérer de la conf automatique de proxies
- etc.

Mon Apache sert à tout, sauf à servir des pages web en fait, là ;D (d'ailleurs il est sensé ne jamais servir la moindre page).

Sto

Tiens je connais ça...

Wong

Tiens, je viens de voir un truc, toutes les images et tous les contenus additionnels sont toujours hébergés sur artofwar.free.fr.

Sinon, je suis en train de faire un mod_rewrite pour transformer toutes les URLs en quelque chose comme /critiques/jeu/xxx ou /critiques/machine/xxx. Ca rend pas mal, mais je me dis que tant qu'à faire, pourquoi ne pas faire carrément des URLs en /critiques/amstrad/a320 (par exemple) ?

J'ai un peu expérimenté avec ça et ça devrait le faire sans trop de mal. Par contre, ça risque de mettre la grouille sur le site pendant quelques heures. L'idéal serait de le fermer. En plus là je joue avec des forces obscures, il risque d'y avoir un paquet de dérangements sur la ligne :D

Sto

Fallait prendre un Drupal. :)