Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

254687 Messages dans 14036 Fils de discussion- par 6619 Membres - Dernier membre: djalal

23 Mai 2012 à 04:25:51
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center]Showroom SA:MP (Modérateurs: S!m, Xartrick)[FS] BanList (BlackListe) [Systeme de BAN]
Pages: [1] 2   Bas de page
Imprimer
Auteur Fil de discussion: [FS] BanList (BlackListe) [Systeme de BAN]  (Lu 678 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Brian Turner
PAWN/PHP/SQL/MAP/SQUIRIEL
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 431


« 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 Triste .

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.
.
« Dernière édition: 30 Octobre 2011 à 16:30:53 par Brian Turner » Journalisée

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
Ssk
Développeur d'Open SA-MP
Hors ligne Hors ligne


Sous-admin
GTAOnline Legend
*

Open-SA-MP - Unlimited Experience

Messages: 3727


WWW



sasuke78200

« Répondre #1 le: 29 Octobre 2011 à 13:07:59 »

Sympa comme idée Clin d'oeil

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 Clin d'oeil
Journalisée






Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog
Brian Turner
PAWN/PHP/SQL/MAP/SQUIRIEL
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 431


« Répondre #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 Clin d'oeil

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

Code:
[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:

Code:
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.
« Dernière édition: 29 Octobre 2011 à 16:44:08 par Brian Turner » Journalisée

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
Xartrick
Hors ligne Hors ligne


Moderateur
GTAOnline Addict
*

C & Pawn Programmer

Messages: 1206


WWW
« Répondre #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.
Journalisée

Brian Turner
PAWN/PHP/SQL/MAP/SQUIRIEL
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 431


« Répondre #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)).
« Dernière édition: 30 Octobre 2011 à 13:29:14 par Brian Turner » Journalisée

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
Xartrick
Hors ligne Hors ligne


Moderateur
GTAOnline Addict
*

C & Pawn Programmer

Messages: 1206


WWW
« Répondre #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).
Journalisée

Brian Turner
PAWN/PHP/SQL/MAP/SQUIRIEL
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 431


« Répondre #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.


Citation
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?
« Dernière édition: 30 Octobre 2011 à 13:37:19 par Brian Turner » Journalisée

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
Xartrick
Hors ligne Hors ligne


Moderateur
GTAOnline Addict
*

C & Pawn Programmer

Messages: 1206


WWW
« Répondre #7 le: 30 Octobre 2011 à 13:37:06 »

Code:
URL:  http://cmva.mtxserv.fr/banlist.php
POST: action => "connectbl"
      login  => "random_username"
      et     => "key"
Journalisée

Brian Turner
PAWN/PHP/SQL/MAP/SQUIRIEL
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 431


« Répondre #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:
Code:
 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:
Code:
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
« Dernière édition: 30 Octobre 2011 à 13:45:10 par Brian Turner » Journalisée

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
Xartrick
Hors ligne Hors ligne


Moderateur
GTAOnline Addict
*

C & Pawn Programmer

Messages: 1206


WWW
« Répondre #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.
Journalisée

Brian Turner
PAWN/PHP/SQL/MAP/SQUIRIEL
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 431


« Répondre #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
Citation
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:
Code:
 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:
Code:
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
Journalisée

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
Xartrick
Hors ligne Hors ligne


Moderateur
GTAOnline Addict
*

C & Pawn Programmer

Messages: 1206


WWW
« Répondre #11 le: 30 Octobre 2011 à 13:57:38 »

Tu dois bien le savoir, c'est ton code.

Sinon, je pensais à l'utilisation suivante.


Code:
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.
Journalisée

Brian Turner
PAWN/PHP/SQL/MAP/SQUIRIEL
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 431


« Répondre #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
Journalisée

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
Xartrick
Hors ligne Hors ligne


Moderateur
GTAOnline Addict
*

C & Pawn Programmer

Messages: 1206


WWW
« Répondre #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.


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

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

Brian Turner
PAWN/PHP/SQL/MAP/SQUIRIEL
Hors ligne Hors ligne


GTAOnline Big Member
*

Messages: 431


« Répondre #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?


Citation
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)
« Dernière édition: 30 Octobre 2011 à 16:51:32 par Brian Turner » Journalisée

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
Pages: [1] 2   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.313 secondes avec 24 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com | Contact