HACKING
ISSUE 1
ISSUE 2
ISSUE 3
HACKER 2020
ISSUE N°2
1 N.D.A.
2 Introduction
3 Les trucs utiles
4 Programmation en C (petit cours tiré de Back-Side)
5 Piratage d'un site
DISCLAIMER: Toutes les informations contenues dans ce fanzine n'y sont qu'à titre purement
informatif! Il vous est déconseillé de les appliquer, sous risques d'amendes et de poursuites
judiciaires. Moi ou mon serveur (actuellement Multimania), ne seraient être tenus responsables
de ce que vous ferez de ces informations!
page d'acceuille hackers 2020
<<<1- N.D.A.>>>
Pour ceux qui ont déjà lu mon premier fanzine, vous pourrez remarquer un changement de style,
l'apparition de liens etc... Vous pourrez me dire que je peux toujours mettre des liens dans
mon premier fanzine. Mais non... Je n'ai pas trop envie d'y faire des retouches (nan, nan! Ce
n'est pas de la fénéantise!). Sinon, je conseille aux autres d'aller le lire!
Je tiens quand même à signaler que je fais pas partie de l'élite (c.f. issue 1 ), et que
j'exposerais ici: d'une part: mes connaissances dans ce domaine, d'autre part les connaisssances
des autres. Ca veut dire quoi les connaissances des autres!? Ca vaut tout simplement dire que
certaines de ces infos sont tous simplements, tirés d'autres fanzines, E-mags etc... Mais il
n'y a que comme ça qu'on progresse, non? (comment ça "NON"?).
page d'acceuille hackers 2020
<<<2- Introduction>>>
Je ne vais pas réexpliquer ce que c'est qu'un hacker, un cracker etc... Car vous pouvez le
savoir en lisant le premier N° de Hacker 2020. Mais je vais éclairer votre lanterne en vous
expliquant, quels conséquences peut avoir le hacking sur le monde informatique, et quels but
ont les hackers!
Prenons un exemple: vous avez piraté un site quelconque, pris quelques infos modifié une
page HTML en mettant des images pornos à la place, etc... En général le résultat ne se fait pas
attendre: mise à jour du site, modifications et autres... Mais le créateur de ce site sait très
bien par ou vous êtes entré si il fait une recherche plus appronfondie! Vous pouvez être
certain que si tel est le cas, au bout de deux jours, le chemin que vous avez emprunté pour
rentrer sur le site sera inaccessible. Mais si vous hacker un site plus important, tels les
providers ou les sites de l'état... Il y aura un soulèvement au niveax des Webmasters. Ils
trouveront la faille. De plus vous risquez d'être tracé! donc selon la gravité de la faute vous
pourrez rester peinard sur votre chaise, ou vous retrouvez dans la même cellule que K.Mitnick
(façon de parler!). Maintenant à la création d'un nouveau virus, ou d'un nouveau trojan (comme
cela a été le cas pour Back Orifice!), celui-ci sera mis a votre disposition sur le net! Au
départ aucun anti-virus ne pourra le détecter! Ensuite des ant-virus et autres no-trojans
auronts pour but de l'arrêter, enfin, si il est dangereux, ils sera déclaré comme illicite...
Petit à petit les gens seront obligés de s'immuniser, encore et toujours contre une menace
invisible, donc incontrôlable... certains sont de vrais paranos du net! Je ne dis pas qu'il ne
faut pas s'immuniser! Mais éviter de tomber dans une paranoïa! Bien que ces protections soit
néfastes pour les hackers, elles sont bien entendu bénéfiques pour les entreprises et
particuliers... La création de virus et de trojans créé une immunité générale! Si le monde
d'internet reste passif et ignorant à cet menace, le jour ou y'aura un gros trojan, vous s'rez
pas dans la merde! Vous êtes en quelques sorte protégé pour l'avenir! Comme une maladie dont
on trouve par la suite le remède! Que penser donc...?
Quel but ont les hackers (en général!)... Il faut d'abord savoir que certains se prétendent
hackers, car ils savent juste nuker, d'autres se disent hacker alors que ils ne sont que des
crashers, etc... Le hacker pour une grande partie des hackers, hacke surtout par simple plaisir,
et par renfrognement à se trouver face à une protection qui semblerait infranchissable. Par défi
aussi. Si on regroupe les 3 ensembles on pourrait dire que c'est le plaisir d'affronter un défi,
qui est celui de passer une protection... Les hackers trouvent ça assez grisant! Ils tiennent
aussi à prouver par leurs explois, que rien n'est infaillible! Qu'à chaque nouveau programme,
il y a une faille! Que chaque nouveau système d'exploitation a une faille... Que TOUT a une
faille (rien n'est infaillible, si vous préférez). Certains (minorité) essayeront de faire
progresser les débutants dans ce domaine (en écrivant des E-mags, par l'envoi de mails, par icq
etc...). Certains essayent aussi de casser les préjugés que certains hackers ont sur d'autres!
Je prends l'exemple d'un mec du nom de Mx (raccourci pour garder en toute intégralité son
anonymat). Je l'ai intercepté par icq, en ayant son UIN grâce à un de mes contacts (il est
important d'avoir des contacts). Donc j'ai fais 3 requêtes de chat, ensuite je suis venu il m'a
presque "ejecté"... J'ai essayé de lui parler, mais c'est une vraie tête d'âne! J'ai eut le
droit a tous les compliments: lamer, débutant, t'es louche, je te fais pas confiance, qui tu es
pour m'aborder comme ça??? Ce mec là devait avoir des préjugés du tonnerre de dieu! J'ai bien
essayé de lui montrer qu'il ne devait pas se méfier de tout le monde, mais j'en suis toujours
au même stade avec lui... Bon, d'accord ce n'est qu'un exemple et y'en a d'autres. Ah oui!
Dernier point pour clore cette introduction: un hacker a pour habitude de ne pas faire chier
les gens, sauf nécessité, avec ses techniques de hack et ses programmes! Donc si un jour un mec
se ramène vous menaçant de tout et n'importe quoi, et en prétendant être hacker, ne vous y
trompez pas: ce n'est point un hacker, mais un emmerdeur! pigé?
page d'acceuille hackers 2020
<<<3- Les trucs utiles>>>
- Accéder aux comptes ftp d'un site: je vous explique uniquement comment accéder au ftp: je
ne vous dis ni comment avoir les passwords, ni les noms d'utilisateurs! On verra ça après...
Aller sous DOS puis écrire (les ">" ne sont pas à écrire!):
> ftp
> open
> www.nomdusite.com
ENTREE
Et voilà le tour est joué!
On peut faire ça avec l'adresse IP d'un site? Je réponds oui! La commande est la même mais à la
place du www.nomdusite.com vous mettez son adresse IP, démonstration en images sur le site de
zymark:
Là, l'accès a été réussi, mais c'est un accès autorisé: il est prévus à cet effet! Je vous expliquerais
après comment faire.
- L'adresse de l'U.S Navy par telnet: pirater la marine américaine par telnet!
AAARRRRFFF! Ca vous tente? Vous avez telnet? Alors voici son adresse:
navobs1.usnogps.navy.mil
Faites gaffe! Un de mes potes a essayé avec la NASA! Ca a pas tardé! Vous êtes tracés! Mon
pauvre copain a reçu un mail de menace comme quoi il ne devait plus se reconnecter à la NASA
par telnet!
- Tracer un site ou un particulier: Tracer un site ou un particulier, est une chose assez utile
parfois, il faut l'avouer! Je vous expliquerais après dans, piratage d'un site comment
l'utiliser à son maximum de possibilités! 'abord pour tracer il faut aller sous DOS, puis
écrire (les ">" ne sont pas à écrire!):
> tracert 123.123.123.123
ENTREE
123.123.123.123 n'est qu'un exemple: vous pouvez savoir comment avoir l'IP d'un particulier dans
l'issue 1 de HACKER2020, et vous aurez le traçage de sa bécane, par ou passe le signal!
Et pour les sites? Prenons l'exemple de Mygale:
faites (toujours sous Dos et les ">" ne devant pas être écrit):
> tracert www.mygale.org
ENTREE
La première ligne (avant la liste) donne, le nom du serveur et son IP entre crochets (utile
pour avoir l'IP du serveur).
La 1ere ligne de la liste, donne l'adresse IP d'ou part le signal, les autres lignes les
rooteurs intermédiaires, et la dernière ligne la cible atteinte, donc fin du traçage!
Pour obtenir d'autres utilisations du tracert faites (toujours sous Dos et les ">" ne devant
pas être écrit):
> tracert
ENTREE
Et vous aurez une série d'infos à faire sur le tracert.
- Pinger sous DOS: Pinger sert à savoir, si oui ou non, la cible à pinger existe et si la
connexion est de bonne qualité et pas trop lente. Pour pinger faites (toujours sous Dos et les
">" ne devant pas
être écrit):
> ping 123.123.123.123
ENTREE
Pour connaitre d'autres fonctions du ping faites (toujours sous Dos et les ">" ne devant pas
être écrit):
> ping
ENTREE
Et une série d'infos sur le ping vous sera données.
- Un outil très utile: WS_PINGPR: Essayez de le trouver sur le net et de le télécharger (sa
taille en zip est de: 69ko). Malgré sa petite taille, ce pinger, tracer, et autres.... peut
vous être très très utile! Je m'explique: Supposons que vous cherchiez à avoir les N° de tel
des mec de Multimania, avec leurs e-mails, les infos sur Multimania etc... a première vue,
celà parait impossible si on ne vous les donne pas! Faux. Ce petit engin vous le garantit!
Donc ici, vous avez les infos sur Multimania: nom des contacts, adresse IP du site, date de la
création, etc... Vous remarquez que vous avez des noms, leurs tels et leurs adresses e-mails.
Vous pouvez aussi tracer, pinger etc... Si vous essayez sur un particulier vous obtiendrez
uniquement son adresse IP et son adresse TCP. Cet outil est très utile dans le domaine du
hacking.
- Internet , Structure : Internet est avant tout un ensemble de reseaux interconnectes par
divers moyens : cartes reseaux, fibres optiques, sattelites ... Tel que l'utilisateur le voit,
il ne saura jamais comment sont connectees ces differentes machines: en effet, afin d'etablir
une compatibilite,un protocole de haut niveau a ete etablis: le TCP/IP (Transfert Control
Protocol/ Internet Protocol).Il recouvre de nombreux protocoles non visibles par l'utilisateur:
chaque machine possede une adresse IP,soit fixe, soit variable selon la connexion; ainsi un
serveur Web aura toujours une IP fixe puisqu'il doit etre consultable en permanence et que
celui qui consulte ne doit pas avoir a retrouver l'adresse a chaque fois.Les http (les adresses
de la forme www.truc.com, www.machine.org...) correspondent en fait a des adresses IP;elles
n'ont ete creees que dans un but de simplification:il est plus simple de retenir www.zymark.com
que 198.199.168.4 pour le site de la societe Zymark. Ainsi lorsque vous tapez une http dans un
logiciel internet quelconque,lors de la consultation d'un site,celle-ci sera convertie enune IP
par un serveur; ce sont les tables de routage qui referencent les correspondances http/IP. Les
IP variables sont en fait utilisees par les connectes ponctuels a Internet comme vous ou moi.
Ainsi a chaque connexion a Internet,votre provider vous delivre une IP au "hasard". Une IP est
en fait un champ de 32 bits: les 8 premiers determinent la classe du reseau et l'identifient,
les 24 suivants identifient des sous-reseaux et des machines.
Ces 32 bits sont, pour l'utilisateur courrant,repartis en 4 champs de 8 bits separes par des
points donc une adresse IP pourrait varier de 0.0.0.0 a 255.255.255.255. Toutes ces IP ne
servent pas, et certaines ont des significations particulieres. Ainsi l'adresse 127.0.01 est
en fait l'adresse de la machine elle-meme. Exemple:Si votre IP est 152.148..68.32,vous pourrez
identifier votre machine par 152.148.68.32 mais aussi par 127.0.0.1 pour vous connecter sur
vous-meme. Cependant, si quelqu'un d'autre se connecte sur le 127.0.0.1, il se connectera sur
sa propre machine.S'il se connecte sur le 152.148.68.32, il se connectera sur votre machine
TCP/IP est un protocole de haut niveau dans la mesure ou il recouvre plusieurs autres
protocoles .
Votre connexion passera en fait par plusieurs machines qui regulent et dirigent les informations
entre les reseaux meme si vous ne voyez pas ces machines. Si en passant entre tous ces reseaux,
vos informations aura probablement ete transferees sous differents protocoles et sur differents
types de reseaux physiques, mais pour vus, tout est reste transparent comme si un fil etait
tendu entre la machine distante et la votre. Bref aperçu sur les classes de reseaux: Les
classes de reseaux ont en fait ete definies lors de l'augmentation prodigieuse du nombre de
machine connectees a Internet de maniere quasi permanente.voici les différentes classes:
Classe :
Domaine d'IP
Spécificités :
A
0.0.0.0 / 127.255.255.255
1 bit d'identification de classe
7 bits d'identification du reseau
24 bits d'identification de la machine
B
128.0.0.0 / 191.255.255.255
2 bits d'identification de classe
14 bits d'identification du reseau
16 bits d'identification de la machine
C
192.0.0.0 / 207.255.255.255
3 bits d'identification de la classe
21 bits d'identification du reseau
8 bits d'identification de la machine
D/E
208.0.0.0 / 255.255.255.255
Reservees a des applications particulieres
et ulterieures en vu de l'accroissement
du reseau Internet.
(texte tiré de Back-Side issue1).
- Exploiter un sytème: L'exploitation du systeme est ce qui devient réellement interessant: en
penetrant un systeme, vous ne serez probablement pas root du premier coup ... Essayez quand
meme de choper le fichier /etc/passwd (par les ftp d'un site avec le navigateur. C.f.: issue1)
si vous ne l'avez pas ... Puis regardez de quel systeme d'exploitation il s'agit. En effet, de
nombreux systemes possèdent des bugs qui sont exploitables.C'est a dire qu'une série de
commandes mal configurées sur le systeme peuvent vous donner l'accès root apres leur execution:
cela va des scripts aux programmes. Cette serie de commandes s'appelle un exploit; vous en
trouverez plein sur le Net avec ftpsearch . Essayez d'abord ces commandes . Il est nécessaire a
ce niveau de connaitre la programmation en C et sous les shells. Le shell est l'interpreteur de
commandes: cela correspond au Dos; vous savez probablement que l'ont peut programmer des
fichier batch avec un langage restreint sous Dos.. C'est pareil sous Unix ... Je ne m'étendrais
pas plus sur les exploits cette fois-ci ... essayez deja un peu tout ce qui a été expliqué
ici ...
page d'acceuille hackers 2020
<<<<<4- Programmation en C>>>>>
Tiré de Back-Side
Avant de programmer,il est necessaie de comprendre ce qu'est un algorythme.En bref, c'est un
ensemble d'instructions ou d'opérationjs qui conduisent à un résultat donné. Au fil des No de
Back-SiDe, j'essaierais de vous enseigner en partie le C.Pour cela,je vais commencer par la
syntaxe generale du C, puis au fur et a mesure ,j'expliquerais les fonctions de chaque
librairie,d'abord disponibles sur les compilateurs pour les processeurs de la famille i86 puis
celles de Unix. Le C a la reputation d'etre assez dur et redibitoire,heu, je sais pas trop d'ou
elle vient.Je n'ai pas trouve que le C etait un langage plus difficile qu'un autre.Voila c'etait
le preambule =).
Alors comment ca marche le C ? Un programme comporte plusieurs parties:une premiere
destinee au compilateur, puis apres le programme lui-meme qui se compose d'une fonction
principale et eventuellement d'autres fonctions.Je claque tout de suite l'exemple classique:
#include
void main(void)
{
puts("Desole pour un exemple pourri comme celui-la.");
}
Alors les parties ?
La premiere partie destinee au compilateur contient juste la commande #include
Ca veut dire quoi ? En fait, en C, la plupart des fonctions de bases sont deja preprogrammees
et stockees dans des librairies de fonctions.Cette commande va donc inclure dans votre
programme toutes les fonctions deja preprogrammees et stockees dans le fichier stdio.h .
stdio.h, bizarre ce nom ...ca correspond a STanDart Input Ouput.Il comprend la plupart des
fonctions d'entree/sortie. Ensuite, le programme lui-meme: Ici il ne contient qu'une fonction,
la fonction principale: main .Tout programme en C contient obligatoirement une fonction main:
c'est elle qui sera lancee au demarrage de votre programme. Cette fonction principale ne
contient qu'une fonction: puts qui est definie dans stdio.h . Pour abreger, puts renvoit une
chaine de caracteres sur la sortie standard (en l'occurence, l'ecran). Une fonction est un
ensemble d'instructions;pour montrer ou commence cette ensemble, on le debute par une accolade
ouverte:{ et pour la fermer, une accolade fermee:} Une instruction est en fait une operation
simple directement executable par le processeur:une addition,une affectation memoire... Cela
explique donc que main soit suivi directement d'une accolade et qu'une autre fermee se trouve
juste apres puts. Une fonction peut admettre des parametres. Si vous voulez afficher quelque
chose a l'ecran, il faut preciser quoi: les parametres sont donc transmis a la fonction par le
biais de parentheses juste apres ,comme dans le cas de puts. Enfin,une fonction peut renvoyer
une information: si vous desirez calculer la racine d'un nombre, la fonction doit pouvoir vous
renvoyer la valeur de la racine.
Ainsi, une fonction est definie de la maniere suivante:valeur_renvoyee fonction(parametres).
puts est en fait define de cette maniere:
int puts(string);
Important en C sauf cas particulier, une instruction ou une fonction est toujours suivie d'un
point-virgule.int correspond a un entier: c'est un type de variable: en effet;lors de la
programmation ,la manipulation de parametres s'effectue par le biais de variables. Il existe
plusieurs types de variables selon le type de parametres a utiliser :selon que cela sera une
chaine de caracteres, un nombre entier de petite taille ou un reel de grande taille, nous
n'utiliserons pas le meme type de variable.
Une variable correspond en fait a un emplacement memoire d'une certaine taille selon la valuer
que nous vouons lui attribuer . Il est necessaire en C de declarer vos variables de chaque
fonction au debut de celles-ci .Vos variables vont dependre des donnees que vous vooulez
stocker a l'interieur.Ainsi, si vous voulez stocker des entiers de petite taille (compris
entre -128 et 127 ),vous choisirez le type char;si votre entier est plus grand (compris entre
-32768 et 32767), vous choisirez le type int ... De plus ,une variable peut-etre signee ou pas;
cela varie en fait de l'utilisation que vous comptez en faire.Par defaut, les variables sont
signees mais si vous choisissez qu'elle ne le soit pas,cela changera l'encadrement de votre
variable. Par exmple, si vous decidez de declarer une variable non signee de type char,
celle-ci sera alors comprise entre 0 et 255 . Une fois vos variables declarees, il faut encore
que vous puissiez les exploiter: soit les modifier, soit les afficher. Pour attribuer une
valeur a une variable, la sequence est la suivante :
variable=valeur;
De meme, pour attribuer a une variable la valeur d'une autre variable,on utilise la syntaxe
suivante:
variable1=variable2;
Vous pouvez ensuite effectuer les differentes operations de base sur vos variables: les
multiplier,les additionner ...
variable1=varible2*3; va mettre dans la variable1 le contenu de la variable2 multiplie par 3.
Enfin, pour afficher une variable( eventuellement integree a une chaine de caracteres...), on
utilise la fonction printf():
int printf(chaine,parametre);
Supposons que je veuille afficher la chaine Hello,j'utiliserais la sequence suivante:
printf("Hello");
Pour y integrer des variables, on utilise le signe %suivie de type de variable a afficher puis
apres la chaine, on met une virgule et la variable en question ce qui donne si la variable est
de type int: printf("Valeur de la variable = %i .",variable);
Les types de variables sont:char (%c),int (%i),float(%f),double (%d),long (%l) quant aux
chaines de caracteres, il faut declarer un tableau de variables.
La declaration s'effectue alors ainsi: char chaine[12]; qui va vous emettre un tableau de 12
caracteres... Vous pouvez acceder ensuite a chaque caractere independemment par chaine[i] ou i
est le caractere auquel vous desirez acceder Attention,l'indice du premier caractere est 0,
celui du second 1 etc... jusqu'a 11 pour l'indice du douzieme caractere.Supposons que notre
variable vaille 2035, nous obtenons l'affichage suivant: Valeur de la variable = 2035 . Par
ailleurs, il peut etre interessant de mettre en forme l'affichage de nos chaines de caracteres;
ceci se fait au moyen de caracteres particuliers precedes de \ inseres directement dans la
chaine de caracteres:Par exemple, le n sert a effectuer un saut de ligne et un retour chariot,
le a emet un bip sur le haut-parleur,le t marque une tabulation horizontale ...
Regardez donc les exemples fournis avec ce zine:exemple2.c,exemple3.c .Vous aurez remarquez
les lignes commencant par /* et finissant par */, ce sont des lignes de commentaires:le
compilateur n'en tient pas compte lorsqu'il compile votre programme;cela permet de mieux se
retrouver dans un gros listing.
Dans le dernier exemple, nous executons plusieurs fois la meme fonctions ce qui nous contraint
a taper de nombreuses fois la meme ligne et augmente de plus la taille de notre programme
inutilement. Nous allons donc voir les structures conditionnelles. Si vous avez lu la partie
sur les algorythmes,ca ira vite a expliquer:le principe est d'effectuer une operation,
d'incrementer une variable et de tester la valeur de cette variable . La structure la plus
connue est if(condition) then instructions end. Voici un exemple rapide: supposons que l'on
recherhe le premier caractere espace dans une chaine de 8 caracteres:
cela donnerait :
if(chaine[0]= =' ') trouve();
if(chaine[1]= =' ') trouve();
...
if(chaine[6]= =' ') trouve();
if(chaine[7]= =' ') trouve();
pastrouve();
C'est une facon de proceder cependant, la taille du fichier reste importante, et c'est assez
astreignant a taper.Voyons une forme plus optimisee: i est ici une variable de type unsigned
char.
i=0
processus:
if(char[i]==' ')
trouve();
else pastrouve();
i=i+i;
if(i<=7)
goto processus;
Nous avons ici une instruction de saut : goto processus; elle signifie que lorsqu'elle est
executee, le programme continue a la suite de la ligne processus: . Je vais un peu mieux
expliquer la structure if(condition). Si vous n'avez qu'une instruction a effectuer dans le
cas ou la condition est verifiee, alors la syntaxe est:
if(condition) instruction;
Cependant vous pouvez avoir plus d'une instruction a exectuer si cette condition est verifiee
auquel cas, vous devrez utiliser la syntaxe :
if(condition){instruction_1;instruction_2;...instruction_n;}
Mais un autre cas de figure peut se presenter:lorsque selon la condition, vous souhaitez
executer differentes instructions.Cela donne:
if(condition) instruction_1;
else instruction;
instructions_suivantes;
Dans ce cas de figure,le programme va tester la condition,si elle est vrai, il va executer
l'instruction 1, puis les instructions suivantes; si la condition est fausse,il va executer
l'instruction 2 puis les instructions suivantes. Dans ce cas, vous pouvez aussi utiliser des
accolades pour des suites d'instructions.Ces formes de d'instructions conditionnelles sont les
plus basiques qui soient;j'introduirais plus tard d'autres formes plus efficaces au niveau du
code... Nous avons vu comment afficher des variables ou comment les modifier ... mais
l'utilisateur doit avoir la possibilite de specifier ses propres valeurs lors des calculs.Pour
l'inviter a entrer le contenu d'une variable,on utilise la fonction scanf.Supposons que nous
donnions a l'utilisateur la possibilite de multiplier pi par un nombre de son choix,nous allons
lui demander d'entrer un entier de type float avec lequel le programme travaillera apres...
Cela donnerait:
float valeur;
scanf("%f",&valeur);
printf("Le resultat est %f",(3.14159*valeur));
Le symbole & precedant valeur dans la fonction scanf est important dans la mesure ou &valeur ne
concerne pas le contenu de valeur mais l'adresse memoire de la variable valeur.En fait scanf
attribue a l'emplacement memoire de valeur une donnee de type float...Il n'y a qu'un cas ou il
ne faut pas mettre le &, c'est quand on demande a l'utilisateur de saisir une chaine de
caractere:
char chaine[10];
scanf("%s",chaine);
Nous avons vu comment entrer des donnes,les modifier.Je vais tacher d'expliquer un autre mode
d'adressage:l'adressage memoire direct par les pointeurs.Nous avons vu que scanf lors de
l'entree de donnees les attribuer a un emplacement memoire par le biais du symbole &. Un
pointeur correspond en fait a l'adresse memoire d'une variable.On declare un pointeur en meme
temps que les donnes mais en rajoutant le signe * devant son nom: int *pointeur; pointeur va
alors contenir non pas un entier mais l'adresse d'un entier. Exemple:
int entier;
Declaration d'une variable de type int
int *pointeur;
Déclaration d'un pointeur sur une donnée de type int
entier = 12;
Adressage direct : Entier contient 12
pointeur = &entier ;
Attribution à pointeur de l'adresse mémoire de la variable entier
*pointeur = 45 ;
Attribution à l'emplacement mémoire référencé par pointeur de la
valeur 45 . Comme pointeur contient l'adresse de la variable entier,
celle- ci contient donc la valeur 45 .
*pointeur = 45 ;
Ces deux expressions sont donc équivalentes .
entier = 45 ;
On peut donc afficher la valeur de entier soit par
printf("%i",entier);
ou par
printf("%i",*pointeur);
Pour entrer la valeur de entier par scanf, on pourra soit utiliser :
scanf("%i",&entier);
soit
scanf("%i",pointeur);
Il est necessaire de bien maitriser le principe des pointeurs car ils servent dans la gestion
des chaines de caracteres. La plupart des fonctions de gestion des chaines de caracteres sont
placees dans le fichier stream.h.Une des plus importantes est probablement strcmp() qui compare
2 chaines de caracteres et renvoit un valeur selon les differences On l'utilise de cette
maniere:
comp=strcmp(*chaine1,*chaine2);
comp sera nul si les 2 chaines sont egales,positif si la chaine1 est superieur chaine2,negatif
si la chaine1 est inferieure a la chaine2.La comparaison s'ffectue caractere par caractere.Pour
comparer "albert" et "alfred", la fonction strcmp compare d'abord la premiere lettre de chaque
mot puis la seconde ... Ici,la chaine "albert" est inferieure a la chaine "alfred" car "b" est
inferieur a "f".Pour 2 chaines de longueurs differentes,par exemple "mais" et "maison", la
chaine "mais" est alors inferieure.Enfin,pour une majuscule et une minuscule, c'est toujours la
majuscule qui est superieure a la minuscule .Quant aux chiffres,ils sont inferieures au
majuscules mais superieurs aux minuscules. Nous avons vu que un programme se composait
principalement d'appel a des fonctions deja definies: main() pour la fonction principale ou
alors strcmp(), printf(),scanf() ...On ne trouve pas forcement de fonction deja definie pour
operation que nous souhaitons effectuer:il faut alors la realiser a partir de ses propres
ensembles d'instructions. Cette fonction peut alors renvoyer une valeur, admettre des
parametres. Une fonction se definit alors de cette maniere:
fonction()
{
ensemble des instructions...
}
Ainsi si votre fonction doit retourner comme valeur un entier et ne recevoir aucun parametre,
vous la definirez comme suit:
int fonction(void)
{
int i;
instructions
return(i);
}
Voici une bonne introduction au C... Je vous laisse potasser ca pour le moment.
page d'acceuille hackers 2020
<<<<<5- Piratage d'un site>>>>>
Le site que nous prendrons comme exemple sera hacker.com. La première chose à faire, avant
de ce mettre à cette tâche ardue, est de vérifier que l'on a le "matériel nécessaire", ce qui
revient à dire:
-Telnet
- DOS et les tracert, ping, etc...
- Un crackpass (puissant)
- WS_PINGPR (de préférence)
- Une connaissance sous Linux ou Unix (ou même aucune)
- L'url du site à pirater (ça parait bénin, mais... )
Pour commencer il faut obtenir le maximum d'infos sur le site et les répertorier sur un
carnet ou sur une feuille: elles sont nombreuses.
Avoir l'url du site, son adresse IP et TCP: pour avoir ces infos aller sous dos, taper (les ">"
ne devant pas être écrit):
> tracert www.hacker.com
ENTREE
- Vous n'avez pas l'adresse TCP du site, vu qu'il n'en a pas. L'adresse IP est: 209.195.130.87.
- Les infos sur les utilisateurs (grâce à WS_PINGPR):
Administrative Contact, Technical Contact, Zone Contact:Beckett, Jodi (JB11383)
jodi@NAUTICOM.NET
412-449-4600 (FAX) 412-449-4659
Billing Contact:Beckett, Jodi (JB11383) jodi@NAUTICOM.NET
412-449-4600 (FAX) 412-449-4659
- Ensuite essayez (ce n'est pas le cas pour ce site), essayez sur le navigateur:
ftp://www.nomdusite.com ou ftp://ftp.nomdusite.com. ensuite vous cherchez la rubrique password, si
l'accès aux ftp par ce chemin n'est pas protégé (rare). cette rubrique password vous donnera
les password pour les utilisateurs, sinon par défaut sortez votre crackpass... mais dans
quelles conditions doit dont mettre un nom d'utilisateur et un password, et où? On verra ça un
peu après.
- Puis accéder aux autres adresses IP qui sont les plus proches du site. En faisant un tracert,
l'adresse juste au dessus du site, vous donne l'adresse du rooter du site. Vous prenez son
adresse IP ou TCP, vous prenez Telnet et vous rentrez l'adresse IP. Vous voilà connecté au
rooter par telnet.
On vous demandera le nom d'utilisateur et son password.
Voilà! ca c'est pour le démarrage! Ensuite... Vous allez sous DOS et vous faîtes (les ">" ne
devant pas être écrit):
> ftp
> open
> www.hacker.com
On vous demandera un nom d'user. Vous pouvez rentrer en anonymous si le serveur le permet, et
télécharger les pages, mais ce ne sera pas du hack, je vous dis comment faire:
vous rentrez comme nom d'user: anonymous, ensuite vous tapez n'importe quel password et vous
tapez: ls
Donc vous regardez les infos obtenus avec WS_PINGPR et vous avez plusieurs noms qui vous sont
donnés: Beckett et Jodi.
Vous essayez les 2 noms d'utilisateurs et vous remarquez que "Jodi" répond! Très bien! vous
venez de faire la moitié: vous avez trouvez un nom d'user, il vous faut maintenant le
password... Inutile de vous casser la tête! Si la personne est prudente vous n'avez aucune
chance de le trouver. Sortez votre meilleur Crackpass et essayez. Par défaut rabattez-vous sur
le rooter par telnet. Bonne chance!
Voilà! Cet E-mag est bel et bien fini! Je pense en sortir encore d'autres, mais il faudra
attendre un peu! Pour tout commentaires vous pouvez écrire à : clad_strife@hotmail.com
page d'acceuille hackers 2020