[Tool/Web/Other] Panel PHP Y_INI.
#1

Salut tout le monde ! Je refais le tutoriel puisqu'il y avait une faille XSS exploitable et qu'il y a des dйbutants en PHP ici.

Tout d'abord on va commencer par le code [COLOR="RoyalBlue"]HTML[/COLOR], en [COLOR="RoyalBlue"]HTML[/COLOR] pour une connexion on a besoin d'un formulaire.
[COLOR="RoyalBlue"]Un formulaire en HTML se commence avec la balise <form>, oщ l'ont met ensuite les instructions nйcessaires.

Commenзons par crйer cette balise, et ensuite l'instruire (donc lui ajouter des inscructions).

Code:
&lt;form // Ici, on ouvre la balise de formulaire HTML.
action="" // Ici, on dit que le formulaire sera redirigй vers la page "", ici il n'y a rien puisqu'on va mettre notre code PHP
method="POST" // Ici, on indique que le formulaire sera basй sur du POST, et non sur du GET (Le post est une faзon de passer des informations invisible d'une page а l'autre, sans information telles que echo, le get est une faзon de faire passer des informations par URL d'une page а l'autre)
&gt; // On ferme la balise

&lt;input type="text" name="utilisateur" placeholder="Nom d'utilisateur"/&gt;
&lt;input type="password" name="passe" placeholder="Mot de passe"/&gt;
&lt;/form&gt;

Voilа notre code HTML crйй, maintenant on n'a plus qu'а faire le code[/COLOR] [COLOR="Orange"]PHP[/COLOR].

[COLOR="Orange"]Sur mon serveur, je crypt les mots de passe en UDB_HASH, ce qui est simple et rapide (pas le plus sйcurisй, mais c'est dйjа зa). Ce qui est bien avec le UDB_HASH, du cфtй serveur (de jeu) il est facile а introduire et il est seulement en chiffre, contrairement а d'autre hasher tel que MD5. Cфtй PHP, il y a une fonction pour crypter des mots en UDB_HASH.

Nous allons donc commencer par ouvrir la balise PHP et ajouter la fonction UDB_HASH.
(On commence йgalement les sessions pour la suite)

Code:
&lt;?php
session_start();
function udb_hash($buf) {
        $length=strlen($buf);
    $s1 = 1;
    $s2 = 0;
    for($n=0; $n&lt;$length; $n++)
    {
       $s1 = ($s1 + ord($buf[$n])) % 65521;
       $s2 = ($s2 + $s1) % 65521;
    }
    return ($s2 &lt;&lt; 16) + $s1;
} // La fonction udb_hash, exemple d'utilisation : echo udb_hash("mdp");

Maintenant que l'udb est installй nous pouvons commencer а mettre des "si", par exemple :

"Si "utilisateur" et "passe" ont йtй appelйs, on lance le script, voici cette instruction en code :

Code:
if(isset($_POST['utilisateur']) &amp;&amp; isset($_POST['passe'])) {

If = si,
Isset = existe,
$_POST['utilisateur'] = notre input "utilisateur".

Ensuite, on demande а PHP de vйrifier si le fichier "utilisateur".ini existe bien.

Code:
if(!file_exists("linux/scriptfiles/Joueurs/".$_POST['utilisateur'].".ini")) { // Demande si le fichier existe ou pas
          echo "Votre compte n'existe pas."; // Dit а l'utilisateur qu'il n'a pas de compte
} else { // Sinon,

Maintenant, on demande а PHP de charger le fichier de l'utilisateur.

Code:
$inifile = parse_ini_file("linux/scriptfiles/Joueurs/".$_POST['utilisateur'].".ini");

Maintenant qu'il est chargй, on peux vйrifier le mot de passe.

Code:
if(udb_hash(htmlentities($_POST['passe'])) == $inifile['Password']) { // On demande si le mot de passe cryptй est celui qu'il y a dans le fichier ini. (htmlentities est la protection contre les failles XSS)
          $_SESSION['compte'] = $_POST['utilisateur']; // On crйй la session "compte" et on lui indique que pour cet utilisateur, le nom de la session sera le nom de l'utilisateur
                    header('Location: index.php'); // On le redirige vers une page, ici index.php
          } else { echo "Rй-essayez."; } // On lui indique que le mot de passe n'est pas bon
} // On ferme le else { de tout а l'heure.

Et voilа, votre page de connexion est faites, maintenant on va afficher quelques instructions.

Code:
echo $_SESSION['compte']; // Affiche le nom de l'utilisateur
echo $inifile['Level']; // Affiche le niveau de l'utilisateur

Les "echo" avec "$inifile" doivent avoir des instructions que vous avez dans votre fichier .INI.

[/COLOR]

Code complet :

Code:
&lt;form action="" method="POST"&gt;
&lt;input type="text" name="utilisateur" placeholder="Nom d'utilisateur"/&gt;
&lt;input type="password" name="passe" placeholder="Mot de passe"/&gt;
&lt;/form&gt;

if(isset($_POST['utilisateur']) &amp;&amp; isset($_POST['passe'])) {
        if(!file_exists("linux/scriptfiles/Joueurs/".$_POST['utilisateur'].".ini")) {
                                echo "Aucun compte n'existe avec ce nom.";
                } else {      
        $inifile = parse_ini_file("linux/scriptfiles/Players/".$_POST['utilisateur'].".ini");
        function udb_hash($buf) {
            $length=strlen($buf);
            $s1 = 1;
            $s2 = 0;
            for($n=0; $n&lt;$length; $n++)
            {
               $s1 = ($s1 + ord($buf[$n])) % 65521;
               $s2 = ($s2 + $s1) % 65521;
            }
            return ($s2 &lt;&lt; 16) + $s1;
        }
        if(udb_hash(htmlentities($_POST['passe'])) == $inifile['Password']) {
            $_SESSION['compte'] = htmlentities($_POST['utilisateur']);
            header('Location: index.php');
        } else { echo "Rй-essayez."; }

        } }


Bonus : [URL="http://uptobox.com/mlfqlv1fkk0y"]Cliquez ici pour tйlйcharger le panel de Original World RфlePlay.[/URL] (Complet, v0.1)

Voilа, n'hйsitez pas а faire des remarques si j'ai oubliй quelque chose :)
Reply
#2

Enft pour faire exemple sur le site pour connexion on veux faire connexion l ecriture en bleu cela se passe dans le pawn ?
Reply
#3

bien vue
Reply
#4

Je veux bien que tu fasses un tutoriel.
Mais si un rйel dйbutant vient voir ton code et crйe son serveur avec, je peux t'assurer qu'il aura des problиmes.
Pourquoi ? Car tu as oubliй certains йlйments dont :
- Protйger tes variables qui agissent sur le serveur HTTP contre les failles XSS !
Reply
#5

Ouais bah si vraiment tu veux que j'fasse un code propre et sйcurisй d'accord, mais aprиd tu peux toujour regarder sur internet comment йviter ces failles 😂 J'йditerais зa aprиs lа j'suis sur portable :)
Reply
#6

Sirop;3609822 Wrote:Enft pour faire exemple sur le site pour connexion on veux faire connexion l ecriture en bleu cela se passe dans le pawn ?

J'ai pas compris :/ Je refais le tutoriel tu vas surement mieux comprendre :)
Reply
#7

Herka;3609965 Wrote:Ouais bah si vraiment tu veux que j'fasse un code propre et sйcurisй d'accord, mais aprиd tu peux toujour regarder sur internet comment йviter ces failles 😂 J'йditerais зa aprиs lа j'suis sur portable :)

Quand tu fais un tutoriel fais-le complиtement, ce genre de rйponse ne doit pas кtre la rйponse que je dois recevoir.
Reply
#8

Complиtement... C'йtait complet seulement зa n'йtait pas sйcurisй et si tu veux pas de rйponse pose pas de question :)
Reply
#9

Herka;3610119 Wrote:Complиtement... C'йtait complet seulement зa n'йtait pas sйcurisй et si tu veux pas de rйponse pose pas de question :)

C'est la meilleure tiens.
Ta rйponse йtait simplement incorrecte pour quelqu'un qui poste un tutoriel. C'est la base de la critique, c'йtait pas une question mais une critique oui;
Reply
#10

Mdr wsh Buthers jure t'es en train de l'embrouiller pour зa gro calme toi c deja bien qu'il en fasse un de tutoriel pa besoin de l'agresser
Reply
#11

S4t3K;3610271 Wrote:Mdr wsh Buthers jure t'es en train de l'embrouiller pour зa gro calme toi c deja bien qu'il en fasse un de tutoriel pa besoin de l'agresser

Je l'ai pas agressй t'inquiиte.
Dans mes tutoriels aussi il y a des fautes et je le conзois.
Cependant, le Dev Web, c'est un univers vaste et on ne peut se permettre aucun йcart dessus. Si je suis un dйbutant, que je prend son code pour mon panel et que rien n'est sйcurisй et que je ne sais pas comment sйcuriser, lа oui je vais bien me la faire mettre profonde.
Reply
#12

Je dйconseille ce panel mкme si serte c'est bien d'avoir fait l'effort de le partager ... Dйjа c'est tellement mal coder ****** dev te donneront 30/100 ...

[html]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">[/html]
Tu l'as mis car tu sais quoi il sert ou juste pour faire genre ?


Je te parie 100% que c'est pas toi qui la fait
[html] <input name="action" type="hidden" value="do_login" />
<input name="url" type="hidden" value="" />
<input name="quick_login" type="hidden" value="1" />[/html]
Tu mets зa et tu l'utilise pas pourquoi ?

Bref, Franchement si tu veux partager quelle que chose fait un petit effort :).
Reply
#13

Mdrr quelle bande de gros fils de pute sur sa-mp.com

Le mec fait un jolie tutoriel, et mкme s'il est pas complet.. Ca reste du travail de sa part et des connaissances
qu'il nous transmet et vous lui en mettez plein la gueule bande de gros fdp que vous кtes mdrr

ce forum de merde зa changera jamais :D
Reply
#14

zetano;3612266 Wrote:Mdrr quelle bande de gros fils de pute sur sa-mp.com

Le mec fait un jolie tutoriel, et mкme s'il est pas complet.. Ca reste du travail de sa part et des connaissances
qu'il nous transmet et vous lui en mettez plein la gueule bande de gros fdp que vous кtes mdrr

ce forum de merde зa changera jamais :D
Quand on a une rйputation comme la tienne, on s'abstient de communiquer avec des personnes qui valent la peine d'кtre respectйes.
Reply
#15

Quote:Quand on a une rйputation comme la tienne, on s'abstient de communiquer avec des personnes qui valent la peine d'кtre respectйes.

Et quand on ouvre trop sa gueule on s'abstient йgalemment а rйpliquer d'la merde pour cacher des vйritйs :P
Reply
#16

J'ai des choses а faire dans la vie rйelle,

Vous savez la vrai vie ? Ca vous dit un truc ? Vaguement.. ? Non toujours rien.. ?

Mdrr salut
Reply
#17

zetano;3612268 Wrote:Et quand on ouvre trop sa gueule on s'abstient йgalemment а rйpliquer d'la merde pour cacher des vйritйs :P
Et lа on voit que tu n'assumes pas le fait que tu ailles sur des Teamspeak ou des serveurs SAMP avec tes petits copains, pour emmerder les membres de ces communautйs.
Tu ne pourras pas dire le contraire, ou du moins me le prouver, car j'йtais prйsent quand vous vous extasiez.

Que tu n'aies pas rйussi а monter un projet, car tu n'as pas les compйtences ou la maturitй, зa ne regarde que toi, mais ne cherche pas а mettre des bвtons dans les roues de ceux qui investissent du temps pour faire vivre leur projet par lequel ils sont souvent passionnйs.

Allez, jacte!

Edit : Lel, parce qu'on passe quelques heures sur un forum pour participer а la vie d'une communautй, nous n'avons pas de vie, mdeir xdxd.
Reply
#18

Quote:Et lа on voit que tu n'assumes pas le fait que tu ailles sur des Teamspeak ou des serveurs SAMP avec tes petits copains, pour emmerder les membres de ces communautйs.
Tu ne pourras pas dire le contraire, ou du moins me le prouver, car j'йtais prйsent quand vous vous extasiez.

Que tu n'aies pas rйussi а monter un projet, car tu n'as pas les compйtences ou la maturitй, зa ne regarde que toi, mais ne cherche pas а mettre des bвtons dans les roues de ceux qui investissent du temps pour faire vivre leur projet par lequel ils sont souvent passionnйs.

Allez, jacte!

Edit : Lel, parce qu'on passe quelques heures sur un forum pour participer а la vie d'une communautй, nous n'avons pas de vie, mdeir xdxd.

J'ai fais sans masque ce que tout le monde fait en se cachant, J'ai cheat sur v'la les serveurs, j'en ai fait fermer une petite dixaine d'ailleurs mdrrr, mais rien d'illйgal.. Donc jusque lа tout va bien, il faut de tout pour faire un monde n'est ce pas ?

Edit: Mdrrr j'sent que зa t'a vexй, mais toi c'est pas quelques heures que tu passe, c'est quelques journйes enfin bref зa regarde que toi mdr.

j'marraacche :P
Reply
#19

Et il est content de lui :)
Heureusement, que vous n'кtes que trиs peu d'abrutis comme зa sur la planиte.
Reply
#20

zetano;3612266 Wrote:Mdrr quelle bande de gros fils de pute sur sa-mp.com

Le mec fait un jolie tutoriel, et mкme s'il est pas complet.. Ca reste du travail de sa part et des connaissances
qu'il nous transmet et vous lui en mettez plein la gueule bande de gros fdp que vous кtes mdrr

ce forum de merde зa changera jamais :D

Tu sais lire peut-кtre ? Ce panel il va кtre utiliser par d'autre personne je prйfиre prйvenir les gens qui se connaissent pas vraiment dans le domaine du web.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)