|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Fonzie
Inscrit le: 23 Juin 2004 Messages: 788 Localisation: Nantes!
|
Posté le: Ven Juin 13, 2008 9:11 pm Sujet du message: Il y a t'il un expert en PHP/Mysql dans la salle (hack me) |
|
|
(merci Madroms pour le titre)
Voilou, je peaufine mon projet de fin d'étude : Site marchand 100% flash, agrémenté de php/mysql pour la gestion des commandes.
Je me suis attardé sur l'identité du site (logo, navigation, publicité) vu qu'il s'agit de ma "spécialité", mais j'ai aussi réalisé la partie programmation (actionscript / php/mysql).
Ce projet risque de sortir "pour du vrai" et donc, je cherche un expert en PHP/MYSQL pouvant m'éclairer sur des possibles failles
(A vrai dire, je compte le sortir dans deux semaines).
Rémunération possible, par paypal.
Je peux fournir les sources des pages "sensibles".
Le projet sera hébergé sur un emplacement temporaire, donc il est possible de se déchainer dessus, pas de soucis
Si il y a quelqu'un de motivé, merci de PMer
Merci
Fonz _________________ Genny4Ever ^^ |
|
Revenir en haut |
|
|
iGREKKESS Webmaster
Inscrit le: 04 Jan 2003 Messages: 7848 Localisation: Etampes
|
Posté le: Ven Juin 13, 2008 9:21 pm Sujet du message: |
|
|
Je touche, mais pas au point de pouvoir me qualifiter "d'expert"... Cependant, je peux au moins te renseigner sur la faille la plus connue :
- la faille d'inclusion PHP, qui consiste à parser un document, dans un modèle en PHP (genre ton index, reprendre une page style index.php?content=videos.php, appelant un fichier video.php), qui permet de faire passer des URL externes ou des pages protégées (genre par .htaccess, non appliqué sur les inclusions)... _________________ Die Hard SEGA Fan ~1951-2001~, yippee-ki-yay ! - iGREKKESS' Blog (グレッケッス★アドベンチャー) |
|
Revenir en haut |
|
|
Fonzie
Inscrit le: 23 Juin 2004 Messages: 788 Localisation: Nantes!
|
Posté le: Ven Juin 13, 2008 10:12 pm Sujet du message: |
|
|
Ok suppa, J'ajoute toujours (avec le code) un suffixe et prefixe automatique à mes fichiers à inclure.
Genre $fichier="plop"; donne "gros_plop.xml", je suppose que ça bloque tout type de manipulation de directory .
Je suis plus en flip dès qu'il s'agit de traiter les variables "POST/GET" avant de les envoyer dans la DB ou de les manipuler.
Je filtre toutes les variables de cette façon :
Code: |
if(isset($HTTP_POST_VARS["mavariable"])==1)
{
$mavariable=$HTTP_POST_VARS["mavariable"];
$mavariable=htmlentities(substr(stripslashes(strtolower($mavariable)),0,400));
}
else{exit();}
|
Triple cassage de pates de canard!
Merci YS ! _________________ Genny4Ever ^^ |
|
Revenir en haut |
|
|
iGREKKESS Webmaster
Inscrit le: 04 Jan 2003 Messages: 7848 Localisation: Etampes
|
Posté le: Ven Juin 13, 2008 11:34 pm Sujet du message: |
|
|
Eheh, de la bonne encaps'
Y'a en effet la possibilité que tu cites, celle qu'on retrouve dans la plupart des tutos de base (avec un préfixe ou suffixe). Pour ma part, j'ai opté pour le switch/case, avec le listing de toutes les pages susceptibles d'êtres parsées... Risque 0 en théorie. _________________ Die Hard SEGA Fan ~1951-2001~, yippee-ki-yay ! - iGREKKESS' Blog (グレッケッス★アドベンチャー) |
|
Revenir en haut |
|
|
Madroms Administrateur
Inscrit le: 12 Déc 2004 Messages: 1869
|
Posté le: Dim Juin 15, 2008 10:32 am Sujet du message: |
|
|
Moi j'utilise des truc du genre dans certaines pages:
Code: | if (isset($_POST['XXX'])) $XXX = strip_tags($_POST['XXX']); |
Attention à toutes les fonctions du style htmlentities, stripslashes,... : il ne faut pas que tes variables contiennent des caractères spéciaux sinon tu vas être emmerdé. Mais ça permet d'éviter les insertions dans les requêtes mysql.
Attention à la gestion des lettres accentuées, c'est le maxi bordel.
Pour tous tes fichiers en inclusion, rajoute-y un petit code empêchant leur affichage si ils sont directement demandés par le navigateur (car leur but n'est pas d'être affiché comme ça par l'utilisateur).
Le switch/case utilisé par YS est un très bon moyen mais limite l'étendue des actions.
De toute façon, ne jamais mettre le nom d'un fichier php dans les variables en post ou get => pbs assurés. Et il faut limiter l'appel des pages php si possible en local.
Une grosse partie est aussi la gestion des sessions => cela peut créer des failles rapidement. C'est d'ailleurs pour ça que ce n'est pas mis en place pour l'instant sur notre site car je ne maîtrise pas cet aspect.
Tu peux également créer 2 accès à ta base mysql (cf l'hébergeur): un pour la lecture seulement, un pour la modification seulement. Comme ça tes requêtes de lecture, même hackée par inclusion, ne pourront pas modifier ta bdd.
Enfin, un bon truc de certains hébergeurs, l'accès aux base mysql ne peut se faire que en local (aka localhost ou 127.0.0.1). => pas d'accès distant et seul ton script sur le serveur peut y accéder.
Je ne peux t'aider plus, n'ayant pas forcément les qualif. et surtout le temps nécessaire.
Bon courage _________________
Saturn Tech Database & Saturn Region Patcher v3.0 Gold Edition - Sega Saturn Store - Hottest Sega Saturn Auctions |
|
Revenir en haut |
|
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
|