• 04 Juin 2026, 23:34:37


Auteur Sujet: [FS] BanList (BlackListe) [Systeme de BAN]  (Lu 7677 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
[FS] BanList (BlackListe) [Systeme de BAN]
« le: 29 Octobre 2011, 00:00:37 »
PRESENTATION

Bonjour/Bonsoir,

Je vous présente mon dernier petit script qui permet de bannir des joueurs(cheater de préférence) sur tous les serveurs utilisant ce script.

Il est vraiment simple d'utilisation dans sa version de base(actuel), il y a 2 commandes, /blban et /blunban.

PS: Pour les personnes se faisant bannir via la commande /blban et qui essaye de se debannir en téléchargent le script et le mettre en local puis faire la commande pour se deban, cela ne marchera pas, seul le serveur qui as banni la personne peut le deban!

PS2: J'aimerai bien que ce script soit utiliser sur plein de serveur, cela limitera les cheaters sur samp(et oui, si ils sont banni, ils ne viennent plus(sauf changement ip + nom, mais bon, il y aura quand même moins de cheater))

EXEMPLE:
Je vais sur le serveur A, il me banni avec /blban. Maintenant je vais sur le serveur B(qui utilise mon script), je serai banni aussi, meme si c'est la 1ere fois que je vais sur le serveur B(mais pourquoi je suis banni de ce serveur alors? Tout simplement parce que le serveur A m'a banni, et que comme c'est une black list collective, sa fera pareil avec un serveur C,D,E...).

Mais moi, je suis pas bete, je me fais un serveur en local, j'installe le script, je me connecte(on pourra ce connecter sous un autre nom tout simplement(au lieu de Brian_Turner, je met Brian) en local car lors de la connexion en local on est sous la forme 127.0.0.1 et non pas l'IP internet). Donc je me connecte en RCON ADMIN, je fais /blunban, mais malheuresement, sa ne marchera pas pour moi... Et oui, seul le serveur A qui ma banni pourra me deban :( .

TELECHARGEMENT

VERSION 1.1
File name: banlist.pwn File size: 19.72 KB
Pastebin


VERSION 1 :
File name: banlist.pwn File size: 19.64 KB
Pastebin


LOGS

Version 1.1
Correction de failles de sécurité
Version 1
Creation du script

INSTALLATION

1- Faire un compte sur http://cmva.mtxserv.fr/  (en construction mais fonctionnel, votre mot de passe est crypter en MD5)
2- Mettre votre Login/Pass crées sur le site au ligne #define LOGIN et #define PASS
3- Compiler le script.
4- Ajouter a la ligne filterscripts: "banlist"(sans les guillemets) puis enregistrer votre server.cfg
5- Lancer le serveur, le laisser faire(fin du chargement a: BANLIST: KEY FIND: ......... )
6- C'est tout!

ERREURS

Codes erreurs:
(a venir)



BanList de Brian Turner
est mis à disposition selon les termes de la
licence Creative Commons Paternité -
 Pas d'Utilisation Commerciale - Partage à
l'Identique 3.0 non transcrit.
.
« Modifié: 30 Octobre 2011, 16:30:53 par Brian Turner »
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #1 le: 29 Octobre 2011, 13:07:59 »
Sympa comme idée ;)

Mais le seul problème est si par exemple une dizaine de serveurs l'utilise, j'aime pas une personne alors je la ban et hop, cette personne est banni de 10 serveurs pour rien :/

Ce qu'il faudrait faire c'est de bannir une personne si elle a été ban d'au moins 3 serveur différent ;)



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #2 le: 29 Octobre 2011, 13:57:58 »
Oui c'est sur, il faut quand même un minimum de maturité.

Je réfléchirai a ton idée des 3 bans ;)

EDIT:
Il y a un probleme dont moi meme je ne sais pas se qu'il se passe...
En local chez moi sa marche, sur le serveur d'un pote aussi, par contre sur le mien(héberger) non...
Pourtant j'ai bien

[14:11:38] BANLIST: COMMUNICATION OK
[14:11:38] BANLIST: CONNECTED, SEARCH KEY...
[14:11:38] BANLIST: KEY FIND: BLBTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


Les commandes marchent super, par contre au dirai que le OnPlayerConnect n'est pas pris en compte ...
J'ai fais:

public OnPlayerConnect(playerid)
{
print("OnPlayerConnect 1");
IsPlayerBan(playerid);
print("OnPlayerConnect 2");
return 1;
}

j'ai meme pas OnPlayerConnect 1 qui s'affiche dans la console, d’où ce problème peut il venir?

Je suis en train d'essayer de résoudre le problème, car si sa se passe comme sa chez moi, il se peut que sa face pareil chez d'autre personne.

Est ce que sa peut venir que mon serveur est heberger sur linux?


EDIT: Problème résolut, j'ai mis mon FS en 1er sur la ligne filterscripts et sa a marcher.
« Modifié: 29 Octobre 2011, 16:44:08 par Brian Turner »
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #3 le: 30 Octobre 2011, 13:08:23 »
Premier (gros) bug, ou plutôt, problème de sécurité.

Pastebin GTAOnline.fr - Outil de collaboration dans le développement

Pour comprendre, lit les commentaires.

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #4 le: 30 Octobre 2011, 13:26:47 »
Je suis en train d'etudier ton code, donc d'apres ce que je comprends ton code permet de bannir toutes les adresse IP en utilisant juste une clef valide. Effectivement c'est chaud, donc le mieu pour ameliorer sa c'est de crypter la clef et les ip?

EDIT: Ton _IsValidKey ne marchera pas, je detecte pas comme sa si la clef est bonne, elle est generer lors de la 1ere utilisation du script, et est enregistrer dans une table avec son propre nom d'utilisateur(seul l'utilisateur peut utiliser la clef, enfin pas encore, j'ai pas encore coder sa mais sa sera fait dans les heures qui suivent)).
« Modifié: 30 Octobre 2011, 13:29:14 par Brian Turner »
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #5 le: 30 Octobre 2011, 13:30:31 »
Il n'existe pas de clef invalide dans mon code car je récupère à chaque fois une clef différente pour bannir une IP.
Ce qu'il faut, c'est que quand tu appel le site pour bannir un joueur, tu dois demander un clef qui est associé à un nom d'utilisateur et son mot de passe.
Il se trouve que tu demande seulement une clef, mais cette clef peut appartenir à a comme à b.
Le mieux est dès qu'un utilisateur s'enregistre, tu associe à ce compte une clef.

D'ailleurs, dans ton code, je trouves inutile d'importer la fonction MD5 vu quelle existe nativement au niveau du serveur web (PHP, fonction md5).

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #6 le: 30 Octobre 2011, 13:35:06 »
Effectivment pour le MD5 j'y est pas pensé de le faire coté serveur web.

C'est ce que je vais faire pour la clef, je vais(enfin elle est deja) associer a un compte, mais n'a pas besoin du nom de compte pour etre utiliser, maintenant je vais faire le code pour verifier si c'est le bon compte qui l'utilise.


Citer
Il n'existe pas de clef invalide dans mon code car je récupère à chaque fois une clef différente pour bannir une IP.
Ben comment tu recupere les clefs?
« Modifié: 30 Octobre 2011, 13:37:19 par Brian Turner »
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #7 le: 30 Octobre 2011, 13:37:06 »
URL:  http://cmva.mtxserv.fr/banlist.php
POST: action => "connectbl"
      login  => "random_username"
      et     => "key"

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #8 le: 30 Octobre 2011, 13:40:41 »
Tu peux faire encore plus simple, tu crée le compte sur la page que j'ai donner dans le tuto d'install, et dans le script qui banni tout tu met ton pass et login et c'est parti.

Je pense a un truc, dans mon script(pawn) il y a une faille presque incorigable, j'explique, il se connecte normaelment et il fait les meme boucle que toi:
 for ($i = 0; $i < 256; $i++)
        for ($j = 0; $j < 256; $j++)
            for ($k = 0; $k < 256; $k++)
                for ($l = 0; $l < 256; $l++)

et fait un ban:
format(string, sizeof(string),"action=ban&key=%s&name=%s&ip=%s",Key,Name,IP);
   HTTP(giveplayerid, HTTP_POST, BANLIST, string, "FonctionBanList");

Ah, peut etre pas, il a pas le nom, mais encore la il peut gerer un nom aleatoire, le script va tomber dans le piege
« Modifié: 30 Octobre 2011, 13:45:10 par Brian Turner »
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #9 le: 30 Octobre 2011, 13:45:59 »
Dans mon cas, cela est justement plus embêtant.
En une seule requête et sans interaction de l'utilisateur du code, nous avons une clef valide.

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #10 le: 30 Octobre 2011, 13:47:49 »
Hum ok, je vois pas comment tu as la clef valide mais c'est pas grave ^^

et comment faire pour sa
Citer
Je pense a un truc, dans mon script(pawn) il y a une faille presque incorigable, j'explique, il se connecte normaelment et il fait les meme boucle que toi:
 for ($i = 0; $i < 256; $i++)
        for ($j = 0; $j < 256; $j++)
            for ($k = 0; $k < 256; $k++)
                for ($l = 0; $l < 256; $l++)


et fait un ban:
format(string, sizeof(string),"action=ban&key=%s&name=%s&ip=%s",Key,Name,IP);
   HTTP(giveplayerid, HTTP_POST, BANLIST, string, "FonctionBanList");


Ah, peut etre pas, il a pas le nom, mais encore la il peut gerer un nom aleatoire, le script va tomber dans le piege
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #11 le: 30 Octobre 2011, 13:57:38 »
Tu dois bien le savoir, c'est ton code.

Sinon, je pensais à l'utilisation suivante.


URL:  http://cmva.mtxserv.fr/banlist.php
POST: action => "ban"
      ip     => "127.0.0.1" // IP du joueur à bannir
      name   => "Xartrick"  // Nom du joueur à bannir
      user   => "Xartrick   // Nom du compte
      pass   => "1337"      // Mot de passe du compte
      key    => "BLBT..."   // Clef du compte (aussi appelé API Key)

Pour que le bannissement soit effectué, il faut que l'IP soit valide, que le compte existe, que le mot de passe soit celui associé au compte et que la clef soit celle associée au compte.

Rien de plus, rien de moins.

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #12 le: 30 Octobre 2011, 14:01:57 »
Tu dis, que l'ip soit valide, mais elles sont toute valides, 1.1.1.1 est aussi valide que 255.255.255.255 non?

Sinon pour le compte associer a la clef, j'ai presque fini de le script
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #13 le: 30 Octobre 2011, 14:09:26 »
Essaye de bannir l'IP "xartrick", tu vois de quelle vérification de parle ?
D'ailleurs, deux failles de type Cross Site Scripting sont présente au moment d'un bannissement.


URL:  http://cmva.mtxserv.fr/banlist.php
POST: action => "ban"
      key    => "BLBT..."
      name   => "<script>alert(1);</script>"
      ip     => "<script>alert(2);</script>"

PLAYER WHITH IP: <script>alert(2);</script> - NAME: <script>alert(1);</script> BANNED

Hors ligne Brian Turner

  • PAWN/PHP/SQL/MAP/SQUIRIEL
  • *
  • Bandit
  • Messages: 438
    • Voir le profil
Re : [FS] BanList (BlackListe) [Systeme de BAN]
« Réponse #14 le: 30 Octobre 2011, 14:13:00 »
Ta essayer la faille? Sa me parait bizzare qu'on puisse utiliser cette faille car quand je revoi le message c'est dans un echo("PLAYER WHITH IP: $IP - NAME: $name BANNED");   

On peut lancer du javascript avec du php dans un echo?


Citer
Essaye de bannir l'IP "xartrick", tu vois de quelle vérification de parle ?

Pas du tout ^^ et effectivement maintenant que tu dit sa, je fais pas de test si c'est vraiment une IP ^^




EDIT: Nouvelle version 1.1. Merci Xartrick pour m'avoir aider a résoudre les failles (il doit en rester je pense)
« Modifié: 30 Octobre 2011, 16:51:32 par Brian Turner »
Momoto33127
__________________________________________
[TRADUCTION][FS]Celular call 1.5 : Voir le poste
[ADDON/INC]Motor System (/clef et /vsortir pour Gveh) : Voir le poste
[FS]BanList (BlackListe) [Systeme de BAN] : Voir le poste