S'enregistrer | Rechercher | FAQ | Liste des Membres | Groupes d'utilisateurs | Connexion

  Nom d'utilisateur:    Mot de passe:       

  

Poster un nouveau sujet   Répondre au sujet Page 1 sur 1
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
MessagePosté le: Sam Fév 20, 2010 11:40 am    Sujet du message: demande de test Répondre en citant

COCO80000
Projets


 
Inscrit le: 15 Fév 2010
Messages: 6



bonjour,
me revoici de retour avec un nouveau site
pouvez vous vérifier et me dire si des faille sont détecte afin que je puisse voir pour les répare il et pas encore connu
mais je prend les devant

adresse du lien pour test : http://www.diabolo.tonsite.biz/hackbbs.html
adresse du site a tester : http://www.diabolo.tonsite.biz/

compte test : pseudo : hackbbs
mot de passe : testeur

merci d'avance
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mar Fév 23, 2010 1:02 am    Sujet du message: Répondre en citant

SPLEENKIRBY
Projets


 
Inscrit le: 02 Sep 2009
Messages: 63
Localisation: \x44\x54\x43\



Dans l'édition de profil, pour l'avatar, l'entrée n'est pas strictement pas vérifiée ...
Donc j'ai réussi à exploiter une XSS persistante bien méchante comme il faut ! (tu verras que tous ceux qui me voient sur la map voient à la fois un avatar chelou, mais se tapent une alert Rolling Eyes )

Deuxièmement, ton upload d'avatar n'est pas assez restrictif :
J'ai pu uploader un fichier xxx.php.jpg sans souci, celui ci contient du code PHP. (images/avatar/4.jpg)
A la moindre petite faille include qui traîne, et tu peux dire adieu à ton site Sad

Il y a aussi une énorme SQL Injection (grosse comme une maison!), quand on essaye de créer un topic, le select chargé de choisir le "Forum", tu peux injecter n'importe quoi... Sad (donc la variable "type" n'est pas vérifié, attention !)

J'ai aussi réussi à faire fosser le script de sondage, en envoyant des requêtes vers des ID qui n'existaient pas Smile

Ca c'est bizarre aussi :
http://www.diabolo.tonsite.biz/login.php?do=login2

Et il me semble qu'en passant Ă  guide.php, la sesion ne suit pas ... (demande de connection Ă  gauche)

Ca c'est un peu moche, non ?
http://www.diabolo.tonsite.biz/index.php?do=sacados
Citation:
NouritureNouriture : x0
Potion SoinPotion de Soin : x0
Potion ManaRestauration de Mana : x0
AntidoteAntidote : x0
Potion de VigueurPotion de Tp : x0
item6Pioche 0


C'est tout ! (côté application, j'ai pas regardé côté serveur)
Mon petit doigt me dit qu'il en reste bien d'autres, donc revérifie bien toutes les entrées que tu recois de l'utilisateur Wink
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mar Fév 23, 2010 8:36 pm    Sujet du message: Répondre en citant

COCO80000
Projets


 
Inscrit le: 15 Fév 2010
Messages: 6



ok merci de votre reponse
pour les avatar j'ai modifier les personne utiliseront les avatar deja disponible j'enleve le upload pour le forum je vais regarder pour en mettre un externe peut etre que sa reduira les risques

et oui pour le liens du sac a dos je vais aller verifier pourquoi sa me fait sa
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mer Fév 24, 2010 7:05 pm    Sujet du message: Répondre en citant

SPLEENKIRBY
Projets


 
Inscrit le: 02 Sep 2009
Messages: 63
Localisation: \x44\x54\x43\



Citation:

pour les avatar j'ai modifier les personne utiliseront les avatar deja disponible

C'est une bien plus sage décision Smile
Aussi, je le répète : Vérifie bien tous les champs dans le profil, une XSS au niveau du nom du personnage est possible aussi apparemment.

Citation:
pour le forum je vais regarder pour en mettre un externe peut etre que sa reduira les risques

Oui et non ;
- Oui parce qu'il sera codé par une équipe compétante, qu'il disposera déja de beaucoup de fonctionnalités et de personnalisation, et qui plus est d'une sécurité théoriquement imparable.
- Non parce que une tonne de gens épluchent le code source à la recherche de la moindre faille, et une fois une rendue publique, tu peux être sûr que la nouvelle se répandra comme une traînée de poudre.
Et si par malheur, tu n'es pas informé avant qu'un utilisateur peu bienveillant l'utilise...
S'en est fini pour la sécurité de ton site !

Bonne continuation Wink
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mer Fév 24, 2010 9:30 pm    Sujet du message: Répondre en citant

COCO80000
Projets


 
Inscrit le: 15 Fév 2010
Messages: 6



Citation:
Aussi, je le répète : Vérifie bien tous les champs dans le profil, une XSS au niveau du nom du personnage est possible aussi apparemment.


merci
je vais regarder sa mais je sait pas encore comment faire pour protéger je vais chercher un peut pour voir
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mer Fév 24, 2010 10:03 pm    Sujet du message: Répondre en citant

SPLEENKIRBY
Projets


 
Inscrit le: 02 Sep 2009
Messages: 63
Localisation: \x44\x54\x43\



Contre les XSS, tu as plusieurs solutions :
- soit tu utilises, à l'affichage (donc après le stockage sur BDD), la fonction en php "htmlentities" (regarde la doc php pour en savoir plus)
- soit tu utilises, au traitement (donc avant stockage sur BDD), la fonction php "strip_tags", (voir doc)
*! A noter que la dernière solution ne bouche pas forcément tous les risques de XSS !*

- Ou alors tu utilises un filtrage très respectif, excluant tous les caractères n'étant ni des lettres, ni des chiffres.
(La plus contraignante, mais sûrement la plus efficace Smile)
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mer Fév 24, 2010 10:07 pm    Sujet du message: Répondre en citant

COCO80000
Projets


 
Inscrit le: 15 Fév 2010
Messages: 6



je viens de trouver ceci sur le net :

Code:
Maintenant pour securiser tous ca, a chaque fois que vous utilisez les fonctions
echo et print() pour afficher une variable faite ceci :

<?
print(htmlspecialchars($variable));
?>

ou

<?
echo htmlspecialchars($variable);
?>

Au lieu de ca:

<?
print($variable);
?>

ou

<?
echo ($variable);
?>


seulement moi je n'ai rien de cela dans mes script Confused
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mer Fév 24, 2010 10:08 pm    Sujet du message: Répondre en citant

SPLEENKIRBY
Projets


 
Inscrit le: 02 Sep 2009
Messages: 63
Localisation: \x44\x54\x43\



Euh ... Vraiment ?
Alors, explique moi comment fais tu pour afficher des variables ?
(par exemple, le nom de l'utilisateur ?)
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mer Fév 24, 2010 10:15 pm    Sujet du message: Répondre en citant

COCO80000
Projets


 
Inscrit le: 15 Fév 2010
Messages: 6



je me le demande bien car sa était codé par un de mes amis mais ils plus connecté depuis un certain moment alors j'essai de me débrouiller tout seul avec le peu de connaissance que j'ai et les seules echo que j'ai c'est sur la map

Code:
<meta http-equiv="refresh" content="240">
<body style="background-color:transparent">
<bgsound src="./musiques/map.mid" autostart="true" loop="50000000000000000000000000000000000000000000000000">
<table   width="478" height="454" style="background-image:url(images/sol/fond_carte.jpg)" border="0" >
  <tr>
    <td align="center" valign="middle">
<?php

   
include('lib.php');
include('config.php');
include('cookies.php');
$link = opendb();
$userrow = checkcookies();

global $userrow;

if (isset($_COOKIE["dkgame"])) {
   
// Format du cookies:
// {ID} {USERNAME} {PASSWORDHASH} {REMEMBERME}
$theuser = explode(" ",$_COOKIE["dkgame"]);
$username= $theuser[1];
$id = $theuser[0];
}
$query2 = doquery("SELECT latitude,longitude FROM rpg_towns WHERE id='$id' LIMIT 1", "towns");
$query = doquery("SELECT latitude,longitude FROM rpg_users WHERE id='$id' LIMIT 1", "users");
$query2 = doquery("SELECT lati,longi FROM rpg_sol WHERE id='$id' LIMIT 1", "sol");
$query2 = doquery("SELECT latitude,longitude,name FROM rpg_maison WHERE id='$id' LIMIT 1", "maison");

$deplaquery = doquery("SELECT id FROM rpg_users WHERE latitude='$latitude' AND longitude='$longitude' LIMIT 1", "users");
$tabl = mysql_fetch_array($query);


$latmax = $tabl['latitude'] + 5;
$longmax = $tabl['longitude'] + 6;
$latmin = $tabl['latitude'] - 5;
$longmin = $tabl['longitude'] - 6;

$hp = 100 / $userrow['maxhp'];
$hp2 = $hp * $userrow['currenthp'];
$tp = 100 / $userrow['maxtp'];
$tp2 = $tp * $userrow['currenttp'];
$mp = 100 / $userrow['maxmp'];
$mp2 = $mp * $userrow['currentmp'];

$latitude = $latmax;
echo "<body><center><table>\n";
while ($latitude >= $latmin ) {
echo "<tr>\n\n";
$longitude = $longmin;
while ($longitude <= $longmax) {
$sql = "SELECT username, pseudo, avatar FROM rpg_users WHERE latitude='$latitude' AND longitude='$longitude'";
$query = mysql_query($sql);
$fetch = mysql_fetch_array($query);
$username = $fetch['username'];
$avatar = $fetch['avatar'];
$id = $fetch['id'];

$sql = "SELECT nimi FROM rpg_clans WHERE omanik='$id'";
$query = mysql_query($sql);
$fetch = mysql_fetch_array($query);
$nimi = $fetch['nimi'];

$sqll = "SELECT nom FROM rpg_sol WHERE lati='$latitude' AND longi='$longitude'";
$query = mysql_query($sqll);
$fetch = mysql_fetch_array($query);
$sol = $fetch['nom'];

$sqll = "SELECT name FROM rpg_maison WHERE latitude='$latitude' AND longitude='$longitude'";
$query = mysql_query($sqll);
$fetch = mysql_fetch_array($query);
$maison   = $fetch['name'];

$sqll = "SELECT name FROM rpg_towns WHERE latitude='$latitude' AND longitude='$longitude'";
$query = mysql_query($sqll);
$fetch = mysql_fetch_array($query);
$villes = $fetch['name'];
if($villes !='')
{echo "<td style=\"background-image:url(images/sol/maison1.jpg)\" width=\"40\" height=\"40\"><img src=\"./images/sol/maison1.jpg\" width=\"35\" height=\"40\" border=\"0\" title=\"".$villes."\"></td>"; }
else {
if($avatar!='') {
echo "<td><img src=\"./images/avatar/".$avatar."\" width=\"35\" height=\"35\" border=\"0\" title=\"Id :".$id."/Pseudo:".$username."/Clan: ".$nimi."/Position:(".$longitude." , ".$latitude.")\"></td>";
} else {
if($maison !='')
{echo "<td style=\"background-image:url(images/sol/maison.jpg)\" width=\"40\" height=\"40\"><img src=\"./images/sol/maison.jpg\" width=\"35\" height=\"40\" border=\"0\" title=\"Maison de ".$maison."\"></td>"; }
else {
if($sol !='') {
echo "<td style=\"background-image:url(./images/sol/".$sol.".jpg)\" width=\"35\" height=\"35\"></td>"; }
else {
echo "<td style=\"background-image:url(./images/avatar/.gif)\" width=\"35\" height=\"35\"></td>\n";
}
}
}
}
$longitude++;
}
echo "</tr>";
$latitude--;
}
echo '</table></center></body>';

echo '<div id="Layer1" style="position:absolute; left:36; top:30; width:99; height:71; z-index:1">
<table width="1" height="1" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="6%" height="2"><span class="blancmap"><b><font size="2">HP</font></b></span></td>
<td width="98"><span class="blancmap2"><div align="right"><font size="2">'.$userrow['currenthp'].'/ '.$userrow['maxhp'].'</font></div></span>
<table width="100"height="2" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#000000">
<td>
<table width="'.$hp2.'" height="2" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#DA4A12">
<td></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="6%" height="2"><span class="blancmap"><b><font size="2">TP</font></b></span></td>
<td width="98"><span class="blancmap2"><div align="right"><font size="2">'.$userrow['currenttp'].'/ '.$userrow['maxtp'].'</font></div></span>
<table width="100" height="2" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#000000">
<td>
<table width="'.$tp2.'" height="2" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#CC00CC">
<td></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="6%" height="2"><span class="blancmap"><b><font size="2">MP</font></b></span></td>
<td width="98"><span class="blancmap2"><div align="right"><font size="2">'.$userrow['currentmp'].'/ '.$userrow['maxmp'].'</font></div></span>
<table width="100" height="2" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#000000">
<td>
<table width="'.$mp2.'" height="2" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#810FF5">
<td></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>';
?>
</td>
  </tr>
</table>

Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Ven Mai 28, 2010 4:59 pm    Sujet du message: Répondre en citant

RAYON-GAMA
Projets


 
Inscrit le: 17 Nov 2008
Messages: 78
Localisation: Quelle que part.....



Chez moi le lien est mort.
Voir le profil de l'utilisateur Envoyer un message privés
Poster un nouveau sujet   Répondre au sujet Page 1 sur 1

  


 
Sauter vers:  
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



114205 Attacks blocked