• STATISTIQUES
  • Il y a eu un total de 0 membres et 43698 visiteurs sur le site dans les dernières 24h pour un total de 43 698 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Root-Me
    Notre équipe se base sur un constat : à l'heure actuelle ou l'information tend à devenir...
    Hacking
    [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges
    [FR] Root-me
    Script: 5, Système: 20, Cracking: 16, Cryptanalyse: 17, Programmation: 8, Réaliste: 11, Réseau: 10, Stéganog...
    Challenges
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    Hacking
    [EN] wechall
    Pour les gens n'étant pas familiers avec les sites de challenges, un site de challenges est un site propos...
    Hacking
    [FR] InfoMirmo
    Apprentissage de l'informatique par l'intermédiaire de challenges de sécurité. Venez app...
    Hacking
    [EN] Reddit
    Subreddit dédié à la sécurité informatique.
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[C] Socket + envoie de commande
24-04-2013, 17h00 (Modification du message : 24-04-2013, 17h00 par notfound.)
Message : #16
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 271
Inscription : Sep 2012
RE: [C] Socket + envoie de commande
En fait, y'a un truc CAPITAL dans bordel ! C'est de mettre à la fin, le caractère 0x0d (CR, carrier return) sinon ça push pas le merdier et rien ne se passe ...
+1 (0) -1 (0) Répondre
24-04-2013, 21h37 (Modification du message : 24-04-2013, 21h43 par Kiwazaru.)
Message : #17
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: [C] Socket + envoie de commande
Exact, si on regarde le stream en "C Array" on vois bien :
Code C :

/* Le seul qui ne contient pas de CR */
char peer0_0[] = {
0x45, 0x53, 0x43, 0x2f, 0x56, 0x50, 0x2e, 0x6e,
0x65, 0x74, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00 };

/* Tout les autres en contiennent */
char peer0_1[] = {
0x56, 0x45, 0x52, 0x3f, 0x0d };

char peer0_2[] = {
0x4c, 0x41, 0x4d, 0x50, 0x3f, 0x0d };

char peer0_3[] = {
0x50, 0x57, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53,
0x3f, 0x0d };

char peer0_4[] = {
0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x3f, 0x0d };

char peer0_5[] = {
0x56, 0x45, 0x52, 0x3f, 0x0d };

char peer0_6[] = {
0x53, 0x4e, 0x4f, 0x3f, 0x0d };

char peer0_7[] = {
0x4d, 0x42, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53,
0x3f, 0x0d };

char peer0_8[] = {
0x49, 0x4d, 0x50, 0x57, 0x52, 0x20, 0x4f, 0x46,
0x46, 0x0d };
 


Donc si tu veux que ça marche du coup, soit tu fait avec la technique j'envoie tout les paquets , soit tu fait la technique à gruik qui fait: Bonjour -> Shutdown

Code C :

/* Bonjour -> VP */
send(sock, "ESC/VP.net\x10\x03\x00\x00\x00\x00", len, 0);
recv(sock, reponse, MAX, 0);

/* Si on reçois une réponse "Bonjour" VP -> PC on essaye de l'éteindre */
if(strcmp(reponse, "ESC/VP.net\x10\x03\x00\x00\x20\x00") == 0){
      send(sock, "IMPWR OFF\x0d", len, 0);
      recv(sock, reponse, MAX, 0);
}

/* Si on reçois la requête disant que le VP a été éteint on affiche que VP est éteint */
if(strcmp(reponse, ":IMEVENT=0001 04 00000002 00000000 T1 F1\x0d\x3a:IMEVENT=0001 04 00000002 00000000 T1 F1\x0d\x3a") == 0){
      printf("[+] Vidéo-Projecteur Éteint !");
}
else{
      printf("[+] Erreur pendant la tentative !");
}
 


Je sais pas si le code est bon ou pas, j'ai enlevé les sprintf(); , ça servait pas à grand chose à part encombrer et ralentir l’exécution du programme Smile

PS : Pas eu le temps d'édit, juste remplace STRCMP(); par MEMCMP(); Smile
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (1) -1 (0) Répondre
25-04-2013, 12h59 (Modification du message : 25-04-2013, 12h59 par notfound.)
Message : #18
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 271
Inscription : Sep 2012
RE: [C] Socket + envoie de commande
Je paste mon code demain quand je retourne au boulot, il est fonctionnel Wink

Edit : Code fonctionnel copié dans le 1er post !
+1 (0) -1 (0) Répondre
25-04-2013, 13h32 (Modification du message : 25-04-2013, 13h33 par Kiwazaru.)
Message : #19
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: [C] Socket + envoie de commande
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (0) -1 (0) Répondre
25-04-2013, 13h43 (Modification du message : 25-04-2013, 13h43 par notfound.)
Message : #20
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 271
Inscription : Sep 2012
RE: [C] Socket + envoie de commande
Un peu what ? Smile
+1 (0) -1 (0) Répondre
25-04-2013, 13h45 (Modification du message : 25-04-2013, 13h46 par Kiwazaru.)
Message : #21
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: [C] Socket + envoie de commande
Bah scanf(); vérifie pas la taille de la chaîne envoyé donc si ton char choix[vaut 10] et que j'entre 012345678910AAAAAAAAAAAAAAAAAAAAAAAAAAA ça va planter :p. Certes c'est un code personnel mais c'est toujours bien de s'habituer :p

Là avec fgets(); tu peux limiter la chaîne , et faut vider après stdin qui sert de "buffer" , avec fseek(); donc :p
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (2) -1 (0) Répondre
25-04-2013, 15h56
Message : #22
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 271
Inscription : Sep 2012
RE: [C] Socket + envoie de commande
Ok ok je le saurai ! Thx Smile
+1 (0) -1 (0) Répondre
26-04-2013, 08h14 (Modification du message : 26-04-2013, 08h38 par gruik.)
Message : #23
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: [C] Socket + envoie de commande
+1 (0) -1 (0) Répondre
26-04-2013, 10h03 (Modification du message : 26-04-2013, 10h04 par Kiwazaru.)
Message : #24
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: [C] Socket + envoie de commande
Ah , je savais pas ça ! Sûrement trop d'idées reçues de dire que scanf(); == fonction horrible à oublier Smile
Mais pourquoi ça existe pour les decimal et pas pour les chaînes de caractères? :o
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (0) -1 (0) Répondre
26-04-2013, 10h33
Message : #25
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: [C] Socket + envoie de commande
Ben si y'a le %10s qui limite la taille de l'entrée à 10 caractères.

Par contre comme partout, faut penser à vider le buffer avant de refaire un autre appel à scanf ,sous peine de bugs "bizarres".
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (1) -1 (0) Répondre
26-04-2013, 10h40
Message : #26
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: [C] Socket + envoie de commande
Ah bah voilà, alors pourquoi tu me disais que scanf(); était à oublier? :p
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (0) -1 (0) Répondre
26-04-2013, 20h24
Message : #27
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: [C] Socket + envoie de commande
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
26-04-2013, 20h41
Message : #28
Kiwazaru Hors ligne
Padawan d'un super escargot
*



Messages : 284
Sujets : 26
Points: 139
Inscription : Mar 2012
RE: [C] Socket + envoie de commande
Yep effectivement :p
Oui donc en fait, c'est utilisable mais ça peut provoquer des erreurs de gestion donc fgets(); reste la meilleur solution pour avoir un programme fonctionnel et non "bugué" Smile
Toucher au Kernel, c'est un peut comme se shooter au LSD, on pense pouvoir tout faire mais ça finit souvent mal.
+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [shellcode] Reverse shell over reused socket ark 4 332 11-03-2014, 11h51
Dernier message: Ark
  [C] Socket Client-Serveur -> Write() + Read() sakiir 7 447 18-03-2013, 07h19
Dernier message: sakiir
  NEED HELP / SOCKET;FILTRES XDR; RPC notfound 4 316 21-01-2013, 02h18
Dernier message: notfound

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut