Still need help, but moins urgent now ... [Hack] - Linux et OS Alternatifs
Marsh Posté le 02-02-2002 à 16:50:23
Oui, tourner en safe-mode.
Sinon, ça peut venir d'une faute de programmation. Va voir dans tes logs comment il a fait.
Exemple, certain sites utilisent un script du style :
http://www.toto.com/view.php?page=truc.html
Maintenant, imagine ce que ça donne en tapant comme URL :
http://www.toto.com/view.php?page=../../../etc/passwd
Dans ce cas, le problème de sécu, c'est pas PHP, mais le fichier view.php. Regarde les pages que tu utilise, c'est certainement un problème de ce type.
Marsh Posté le 02-02-2002 à 16:59:06
Exact C bien un probleme de php ... zut ...
Comment on fait pour garder les memes fonctionnalités mais empecher ce type de pratiques ?
Style récupérer le contenu d'un fichier mais pas lui permettre de se balader partout...
[edtdd]--Message édité par Tetedeiench--[/edtdd]
Marsh Posté le 02-02-2002 à 17:09:20
- tu chroot ton apache
- tu fais un code qui regarde si les variables passées sont correctes (avec des regexp...)
Marsh Posté le 02-02-2002 à 17:10:00
pardon, mais la, tu me parles en chinois...
y a moyen d'etre plus clair ?
Marsh Posté le 02-02-2002 à 17:11:39
il me suffit de faire un chroot de mon rep. /var/www ou se trouvent mes pages web et zopla ?
Marsh Posté le 02-02-2002 à 17:16:56
je ne sais pas si c'est le plus simple...
en gros tu dois chrooter tout ce qui concerne apache et php et les librairies utilisées, ...
donc tout ce dont apache a besoin doit se trouver sous le répertoire que tu chroot (ça peut être un casse tête avec mysql...)
j'ai jamais essayé mais je pense que c'est une solution.
le plus simple sinon c'est par exemple de travailler avec un tableau dans lequel ta clé est le nom qui passe dans l'url (ex ?page=intro ) et la valeur de cette clé est le nom et l'emplacement de cette page.
de telle sorte que si l'on appelle une page par index.php?page=../../passwd ça ne donne rien puisque il va rechercher
if (!@include ($tab[$page])) include("error.php" );
[edtdd]--Message édité par ethernal--[/edtdd]
Marsh Posté le 02-02-2002 à 17:17:09
Mettre des droits plus dur sur la machine, chroot apache (je sais pas si php va se retrouver dans le bac à sable en même temps), et vérifier les scripts que tu utilise au niveau des commandes open et system.
Va voir les logs d'apache afin de voir si tu as des accès bizarres, comme celui-là par exemple (sorti de mes logs perso) :
194.2.XXX.XXX - - [24/Jan/2002:16:15:01 +0100] "GET /%252e%252e/etc/passwd HTTP/1.0" 404 275
Mais qui ne renvoie pas une erreur 404
Fait une recherche dans access.log sur passwd, tu devrais trouver des trucs.
Marsh Posté le 02-02-2002 à 17:21:24
ethernal a écrit a écrit : je ne sais pas si c'est le plus simple... en gros tu dois chrooter tout ce qui concerne apache et php et les librairies utilisées, ... donc tout ce dont apache a besoin doit se trouver sous le répertoire que tu chroot (ça peut être un casse tête avec mysql...) j'ai jamais essayé mais je pense que c'est une solution. le plus simple sinon c'est par exemple de travailler avec un tableau dans lequel ta clé est le nom qui passe dans l'url (ex ?page=intro ) et la valeur de cette clé est le nom et l'emplacement de cette page. de telle sorte que si l'on appelle une page par index.php?page=../../passwd ça ne donne rien puisque il va rechercher if (!@include ($tab[$page])) include("error.php" ); |
Tu epux etre plus clair s'il te plait ?
le chroot est trop galère je crois
Marsh Posté le 02-02-2002 à 17:24:06
Et hop, un article sur chroot :
http://fr.linuxfocus.org/Francais/ [...] e225.shtml
Marsh Posté le 02-02-2002 à 17:24:50
oui, j'ia maté, mais le probleme C que j'utilise apache, php et mysql et que forcément ca va etre galère !
Marsh Posté le 02-02-2002 à 17:25:01
Va faire un tour du cote de prog, ils seront peut etre mieux t'aider a modifier simplement ton site
[edtdd]--Message édité par trictrac--[/edtdd]
Marsh Posté le 02-02-2002 à 17:26:22
le coup de mettre dans un tablo la liste des pages dispo me semble pas trop mal, si elles sont pas nombreuses bien sur!
Maintenant si toutes tes pages sont dans le meme rep, tu peux toujours essayé de faire un ls sur ce rep et de voir si le fichier demandé s'y trouve
Marsh Posté le 02-02-2002 à 17:30:51
merci les mecs, on viens d'avoir une idée
Tous les fichiers concernés ont leur noim dans une base MySQL...
Donc forcément, on peux savoir facilement via une requete si e fichier concerné est dans la base ou non ...
Couillon
Marsh Posté le 02-02-2002 à 17:44:26
en effet c un e solution
pour le chroot je peux pas être plus clair pcq j'ai pas tout compris moi même. j'ai essayé à un moment de me lancer la dedans, mais comme toi j'utilise mysql, php, gd et c vraiement pas évident de combiner le tout.
qq urls si tu y tiens vraiment
http://www.linuxdoc.org/LDP/solrhe [...] ec254.html
celle-ci est la meilleure tout y est expliqué pour compiler mysql, php, ... en chroot http://penguin.epfl.ch/chroot.html
[edtdd]--Message édité par ethernal--[/edtdd]
Marsh Posté le 02-02-2002 à 17:49:46
n'empêche que si tu veux encore utiliser la possibilité que tes users aient dans leur répertoire leur site web (accès par /~user/ dans l'url) ... y a plus moyen à moins de mettre aussi leur répertoire en dessous du répertoire chrooté...
donc pour finir, presque tout est dans ce répertoire
Marsh Posté le 02-02-2002 à 19:36:14
ouaip
j'ai encore besoin d'une info...
Vous pouvez me donner un exemple de regle iptables me permettant d'ignorer tout trafic provenant / allant vers une Ip précise ?
merci
Marsh Posté le 02-02-2002 à 19:41:20
Et aussi, il se trouve ou ce putain de log iptables ? je l'ai pas retrouvé
Marsh Posté le 02-02-2002 à 19:43:49
Tetedeiench a écrit a écrit : Et aussi, il se trouve ou ce putain de log iptables ? je l'ai pas retrouvé |
Il y avait rien dans les logs apache ?
Marsh Posté le 02-02-2002 à 20:01:08
si, j'ai les logs access.log bien remplis, et error.log assez aussi ...
Mais je voudrais les logs de iptables sur certains paquets droppés que je logee...
C ou ce fichier de log ?
Marsh Posté le 02-02-2002 à 23:59:46
/var/log/messages en général
sinon dans le /var/log/kernel/warning.log (enfin, de ce côté là)
Citation : Vous pouvez me donner un exemple de regle iptables me permettant d'ignorer tout trafic provenant / allant vers une Ip précise ? |
iptables -A INPUT -i ppp0 -s source_from -j DROP
iptables -A OUTPUT -o ppp0 -d source_dest -j DROP
ou
iptables -t nat -A PREROUTING -i ppp0 -s source_from j DROP
iptables -t nat -A POSTROUTING -o ppp0 -d source_from j DROP
Marsh Posté le 02-02-2002 à 16:41:04
Y a un gars qui a réussi a avoir acces a mon /etc/passwd via php4 ...
Y a un patch a faire pour empecher ca ?
Un truc a config ?
J'utilise php4 avec apache 1.3.22 avec php 4.1.1 ...
[edtdd]--Message édité par Tetedeiench--[/edtdd]
---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !