Sécurité

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Sécurité

Re: Sécurité

par Dr@ke » 27 nov. 2009, 16:18

En complément certaines attaques ont été stoppé par ce genre de conf (Stricte):
.htaccess (à la racine du site):

Code : Tout sélectionner

RewriteEngine on RewriteCond %{REQUEST_METHOD} !^(HEAD|GET|POST) [NC] RewriteRule (.*) - [F,L]
(Par exemple pour stopper certaines méthode HTTP fictives utilisées par certains bots....)

[EDIT]

eval() ne peut être désactivé avec disable_functions dans le php.ini
(Comme on le voie souvent sur le net)

Il faut installer suhosin:

Ensuite ajouter dans le php.in:

Code : Tout sélectionner

extension=suhosin.so suhosin.executor.disable_eval = on
http://www.hardened-php.net/suhosin/
http://www.hardened-php.net/suhosin/con ... sable_eval

Re: Sécurité

par Dr@ke » 30 oct. 2009, 20:18

Cela m'étonne beaucoup ce que tu racontes là :wink:

Quoi qu'il en soit, si cela est bien la raison, je te conseil de te poser une question qui me parait essentielle:
Comment a-t-il récupéré mon login et mon mot de passe?
Mot de passe ultra-simple?
Oui possible mais pourquoi un hackeur puéril s'embêterait a trouver le mdp de ton compte ftp?...
Car l'opération me semble vraiment loin d'être simple...
Qu'a ton site de si particulier?

Virus Troyen , keylogger...?
Oui, déjà plus probable, tombé par hazard sur ton login et mdp, il en a ensuite profité...

Reste la raison habituelle:
Il a exploité simplement une faille sur ton site web.

Re: Sécurité

par cmoi » 30 oct. 2009, 19:19

la solution proposée dès le début de ce post semble être la bonne. J'ai modifié les mdp ftp et il n'y a plus d'intrusions.

Re: Sécurité

par FuZZyLine » 29 oct. 2009, 20:32

Re,
Re,
Je vais tenter de faire plus clair:

J'ai été sur ton site et ai remarqué que ton script [*]html[/i] est plus qu'invalide puisqu'il est faux.
Des tags inconnus sont présents. Des balises s'ouvrent et se ferment mais le nom du tag diffère...
Désolé, dans le premier post j'ai tenté d'y aller léger mais je vois mal comment, en étant plus clair,
continuer à l'être.
[*]A priori tu as récupéré le code source à partir d'une page en ligne. Comment peux-tu en conclure que le code est faux puisque le code php n'y apparaît pas ?
@+ ;)

EDIT: @zeus: No offense, j'ai juste fait un paquet global. Une erreur en entraine une autre et dans...
bref, faclie de présumer que diverses autres erreurs sont présentes. Erreurs qui peuveut créer une portre
"dérobée"...

Bon, @+ ;)

Re: Sécurité

par zeus » 29 oct. 2009, 20:27

Bon, un problème à la fois s'il vous plait. :non:

On parle d'attaque de site, je doute donc que la validité du code HTML puisse aider le soucis de base.

Re: Sécurité

par cmoi » 29 oct. 2009, 20:02

Re,
Je vais tenter de faire plus clair:

J'ai été sur ton site et ai remarqué que ton script html est plus qu'invalide puisqu'il est faux.
Des tags inconnus sont présents. Des balises s'ouvrent et se ferment mais le nom du tag diffère...
Désolé, dans le premier post j'ai tenté d'y aller léger mais je vois mal comment, en étant plus clair,
continuer à l'être.
A priori tu as récupéré le code source à partir d'une page en ligne. Comment peux-tu en conclure que le code est faux puisque le code php n'y apparaît pas ?

Re: Sécurité

par Dr@ke » 29 oct. 2009, 15:31

Petite précision:
Il faut vérifier et filtrer toutes les données entrantes donc: les $_POST, $_GET et ensuite les requêtes SQL.
Et sécuriser tes scripts de manière général:
Exemples:
- Parfois un simple exit() bien placé -> cela change tout aussi...
- l'utilisation d'un simple elseif à la place d'un autre if.
- L'oublie d'assigner des valeurs par défaut.
- ajouter un simple else
- utiliser un switch pour assigner la valeur d'une variable entrante (quand c'est possible)
...

Ce qui veux dire:
Ne focalise pas que sur le fichier contact.php, mais sur toutes les données entrantes.

Re: Sécurité

par FuZZyLine » 29 oct. 2009, 15:19

Re,
Merci pour tes conseils, certainement précieux, mais, franchement, je n'y ai rien compris !!
Je ne suis qu'un bidouilleur pas un programmeur ...
Je vais tenter de faire plus clair:

J'ai été sur ton site et ai remarqué que ton script html est plus qu'invalide puisqu'il est faux.
Des tags inconnus sont présents. Des balises s'ouvrent et se ferment mais le nom du tag diffère...
Désolé, dans le premier post j'ai tenté d'y aller léger mais je vois mal comment, en étant plus clair,
continuer à l'être.

Ensuite sur le script php je mentionnais le fait qu'il valait toujours mieux vérifier tes données. Surtout
celles venant de ton formulaire. En gros: Etre parano !

Pour finir je te conseillais de récupèrer l'IP de celui qui envoye un formulaire dans un champ caché
pour, une fois rapatrié, pouvoir comparer l'heure d'envoi du dit formulaire avec l'heure d'accès du
"méchant hacker présumé" afin de tenter de le tracer et prévenir qui de droit. Avoir le domaine est pas
bien compliquer donc... Faut juste se rappeller qu'un formulaire envoyé l'est probablement par quelqu'un
qui n'y est pour rien.

Enfin, la constituante principale d'un virus c'est de se propager. Son action primaire, en ce cas,
est vérifier s'il est déja présent sur le disque, (c'est généralement ce qu'ils font) s'il ne l'est pas il se
copie. L'idée que je te proposais était de créer un fichier à son nom (avec des chmods corrects) et d'y
placer exit(); comme ca, sil y a vraiment vérification il ne se créra pas... puisque constatant qu'un
fichier de même nom existe déja. Si le fichier est lancé l'éxécution sera juste rendre la main. Solution
basique, nullement parfaite mais les petits rigolos qui font ce genre de conneries (et c'est la majorité)
sont souvent des baleines avec un QI proche de celui d'une huitre, autrement dit je doute qu'ils prennent
la peine de faire d'autres vérifs... ;) Ceci dit, j'écris cela avec l'idée qu'il agit sur ton/tes
sites uniquement à partir d'une porte que tu aurais laissé ouverte dans ton script. Pas s'il a un accès à
ton ftp ou autre et en admétant qu'il ne s'agisse pas du petit frère ou du cousin de Mitnick (joke) ;)

Je te donnais aussi une raison possible à la présence d'un tel fichier: Download de fichiers ciblés.
Technique utilisée par exemple dans les sites de "Q"... Contrairement aux membres qui payent
ceux qui ont accès à ce fichier ont les images gratis. C'est un exemple hein, juste ca ;)

@+ ;)

PS: Il se peut, aussi, que j'ai tout faux. L'est possible que l'ajout de l'entête se soit OVH... va savoir ;)

Re: Sécurité

par cmoi » 29 oct. 2009, 11:09

Salut,

Je viens vous embéter les gens... ;)

Plus sèrieusement quelques détails m'ont un peu désorienté. Je remets pas ta compétence en jeu,
hein, le prend donc pas mal.

Par exemple un tag <left> qui est mentionné dans le source que j'ai matté m'a fait un peu peur...
Comme d'autre "pitits" détails. Si je peux me permetre, revois ton html tu y véras plus clair.

Côté php, pour ce que j'en ai vu, aucun filtre n'existe. Peu conseillé.

Pour ton "CoWbOyDuWeB" ajoute un champ caché nommé IP. De l'autre côté du miroir ce sont
souvent des lamers, ca devrait donc pas vraiment difficile de récupérer son ip.
Après, bah, ...à toi d'agir.

Pour l'action du prog: Regarde son extension.
M'est d'avis qu'il permet juste du DL de fichiers ciblés. En l'occurence d'images. (vu le nom et son emplacement)

Ce que tu peux faire c'est remplacer ce fichier par un qui soit neutre. Un fichier qui ne fasse qu'un exit().
Tu peux aussi lui attribuer des droits limités et réservés, comme ca, au moins, il pourra pas être remplacé
par, "le vrai", celui que tu veux éradiquer. (...Cette solution a ses limites et elles sont assez faibles mais
tu peux toujours essayer en attendant de trouver mieux).

@+ bon code ;)
Merci pour tes conseils, certainement précieux, mais, franchement, je n'y ai rien compris !!
Je ne suis qu'un bidouilleur pas un programmeur ... =P~ :?

Re: Sécurité

par FuZZyLine » 29 oct. 2009, 10:30

Salut,

Je viens vous embéter les gens... ;)

Plus sèrieusement quelques détails m'ont un peu désorienté. Je remets pas ta compétence en jeu,
hein, le prend donc pas mal.

Par exemple un tag <left> qui est mentionné dans le source que j'ai matté m'a fait un peu peur...
Comme d'autre "pitits" détails. Si je peux me permetre, revois ton html tu y véras plus clair.

Côté php, pour ce que j'en ai vu, aucun filtre n'existe. Peu conseillé.

Pour ton "CoWbOyDuWeB" ajoute un champ caché nommé IP. De l'autre côté du miroir ce sont
souvent des lamers, ca devrait donc pas vraiment difficile de récupérer son ip.
Après, bah, ...à toi d'agir.

Pour l'action du prog: Regarde son extension.
M'est d'avis qu'il permet juste du DL de fichiers ciblés. En l'occurence d'images. (vu le nom et son emplacement)

Ce que tu peux faire c'est remplacer ce fichier par un qui soit neutre. Un fichier qui ne fasse qu'un exit().
Tu peux aussi lui attribuer des droits limités et réservés, comme ca, au moins, il pourra pas être remplacé
par, "le vrai", celui que tu veux éradiquer. (...Cette solution a ses limites et elles sont assez faibles mais
tu peux toujours essayer en attendant de trouver mieux).

@+ bon code ;)

Re: Sécurité

par cmoi » 29 oct. 2009, 10:15

là ça dépasse mes compétences !!

une précision : le formulaire ne remplit pas la base directement. Je ne sais pas si ça change quelque chose ....

Re: Sécurité

par thehawk » 29 oct. 2009, 09:30

il est simple d'envoyer un code via une variable POST , qui ce vera exécuter côte serveur , imagine s'il te met un formulaire qui va télécharger un fichier de son ordinateur sur le tiens via cette variable ...

D'où l'importance de cette vérification, à partir de ce script php insérer , il peut tout te prendre ;)

Bye Hawk

Re: Sécurité

par Dr@ke » 28 oct. 2009, 19:45

Fait comme tu veux :wink:

Re: Sécurité

par cmoi » 28 oct. 2009, 19:38

en prenant en exemple le code php du formulaire de la page de contact, je ne vois pas ce qui permettrait d'agir sur mon ftp !

Re: Sécurité

par Dr@ke » 28 oct. 2009, 19:25

Ok donc il y a plusieurs failles sur ton site web.
Faut vérifier toutes données entrantes, qui sont donc les $_POST, $_GET et ensuite les requêtes SQL...

avec des isset(), empty(), c_type(), preg_, htmlspecialchars ...