Problème grave, fishing, online.net - PHP - Programmation
Marsh Posté le 07-01-2007 à 16:09:24
Je déplace dans programmation.
Marsh Posté le 07-01-2007 à 18:01:55
tu code présente la faille dite include
pour sécuriser un peu plus tu peux rajouter un test du genre if(file_exist($page)) {include ($page)
ceci n'est pas sécurisé sur les serveur php récent alors il te suffit de faire un switch d'action
exemple index.php?p=actu ==>
if(isset($page)) {
switch $page {
case 'actu' : include "./actu.php";
}
}
Marsh Posté le 07-01-2007 à 18:11:35
Merci pour l'astuce je corrige.
J'ai par ailleur ajouté un log des page passées en paramètres pour voir où les pirates vont chercher leur pages à inclure et vous le signaler.
Marsh Posté le 07-01-2007 à 18:32:06
si c'est du fishing sur les sites des banques il y a un gros dispositif derriere il sera impossible pour nous de les remonter
Marsh Posté le 10-01-2007 à 13:35:48
Bon j'ai corrigé le prb. J'ai inclus le controle que "http://" n'est pas présent dans le parametre. Ca devrai empécher d'aller chercher les pages ailleur que sur mon site. De plus je controle l'existance de la page.
Sinon ils procède comme suis (pour info):
Ils appellent un script qui se trouve sur ces sites ATTENTION VIRUS:
- http://www.aeroclube-castelobranco [...] x-sux.jpg?
- http://pennmountain.com/media/osx-sux.jpg?
- http://usuarios.lycos.es/poizonbox/r57.txt?
C'est un IR shell qui permet de faire des copier, execution de script, etc...
Marsh Posté le 10-01-2007 à 13:38:23
kayno a écrit : Voilà le code. |
Note que c'est quand-même la première faille qu'on t'apprend quand tu fais du PHP, regarde un peu tous les articles traitant de la sécurité, y'en a tout plein
Marsh Posté le 10-01-2007 à 14:34:21
Vivi mea culpa... j'ai fait ça pour aider vite fait pour un pote et j'ai pas pris soin de vérifier la sécu.
Marsh Posté le 10-01-2007 à 16:20:29
Sinon pour empecher que ton script incluse des fichiers distants :
ini_set("allow_url_fopen", "0" );
Bon ok c'est un peut bourrin
Tu peux faire aussi un truc du genre
if(!preg_match('@^[a-z0-9]*\.htm$@i',$page)){$page='acceuil.htm';}
Marsh Posté le 10-01-2007 à 16:24:03
Citation : "http://" |
attention aux serveurs en https ou en ftp.
Code :
|
et si le gas a mis son fichier en .txt par exemple?
Finalement le switch est encore le plus sur à condition de prévoir une valeur par défaut.
Marsh Posté le 10-01-2007 à 16:31:35
omega2 a écrit :
attention aux serveurs en https ou en ftp.
|
Ben tu mets une white list moins restrictive , le principal c'est surtout d'eviter les .. et les //
Marsh Posté le 11-01-2007 à 07:57:10
Arf merdum. Je ne les ai pas utilisé comme ça directement ^^ c inclus dans un script. tu utilises kel antivirus ?
Marsh Posté le 07-01-2007 à 15:28:43
Bonjour,
Un amis pour qui j'ai fait un petit site internet a un problème grave. Il semblerai que des Hackers (il s'agit là d'une réelle fraude donc pardon pour les hacker dans le sens noble du terme) arrivent à placer des fichiers immitant le design de banques (HSBC, etc...) sur son site.
Je n'arrive pas à savoir si il s'agit d'un problème de sécurité concernant Online.net (l'hébergeur) ou bien une faille php que j'aurai laissé passer. Le code php que j'utilise sur les page me sert à inclure une page dans la page principale (du style index.htm?page=cours.htm). Je crain qu'il soit possible qu'ils utilisent cela pour inclure une page à eux et la faire interpréter par le serveur, ce qui leur permet de copier des pages sur notre site.
<?
if (empty($page)){ $page = "accueil.htm";};
require $page;
?>
Voilà le code.
Comment sécuriser ?
Merci d'avance.