logo Homepage
+  NewbieContest
Username:
Password:
  Voir les messages
Pages: 1 ... 3 4 [5]
61  Programmation / Langages Web / Re : envoie de mail PHP le: 17 Juillet 2018 à 00:26:50
Salut flob,
j'ai installe php avec Apache2 sur debian.
De ce que j'ai pu voir, php inclu une fonction native mail() independante de sendmail:

Citation
"Il n'y pas d'installation nécessaire pour utiliser ces fonctions, elles font parties du coeur de PHP.",
 http://php.net/manual/fr/book.mail.php

Et en meme temps je viens de trouver le contre-exemple :
Citation
Configuration à l'exécution :
Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Options de configuration pour le mail:

Nom                     Défaut                                   Modifiable
(...)
SMTP                  "localhost"                             PHP_INI_ALL   
smtp_port           "25"                                      PHP_INI_ALL   
sendmail_from    NULL                                     PHP_INI_ALL
sendmail_path    "/usr/sbin/sendmail -t -i"       PHP_INI_SYSTEM
On voit bien ici l'appel a sendmail derniere ligne. Les deux trois lignes d'avant viennent pour appuyer mon code.

Du coup j'avais exim4 d'installe par defaut dans debian et non sendmail, dans un premier temps j'ai teste avec :
Code:
ini_set("sendmail_path","/usr/sbin/exim4");
mais sans succes. (Modifiable que par system? donc pas moi?)
Je l'ai donc desinstalle et remplace par sendmail, mais le mail n'arrive toujours pas.

Voici le contenu de mon php.ini:
Code:
[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
SMTP = smtp.orange.fr
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path = /usr/sbin/exim4
sendmail_path = "/usr/sbin/sendmail -t -i"
(teste avec exim4 puis commente apres installation de sendmail, du coup la valeur par defaut me semble bien.)

Pour le try/catch, en fait je cherchais un moyen de choper les messages d'erreurs possibles. Me disant que si la fonction mail() echouait j'aurai une exception.
Du coup comment je pourrais faire pour attraper les erreurs possibles?


Du cote de wireshark, j'ai ecoute sur wlan0. Etant donne la masse de resultats, j'ai filtre avec l'ip de smtp.orange.fr mais je n'ai rien vu. Rien non plus sur le port 25 ou le protocole smtp. Apres je cherche peut etre mal, je decouvre juste wireshark.

Mon probleme pourrait-il venir de ma configuration d'Apache?
Je vais continuer de creuser, peut-etre qu'en reprenant la doc a tete repose ca ira mieux. Merci de vos reponses!

PS: Desole, the lsd, je ne t'ai pas salue sur mon precedent message, je devais etre trop presse d'avoir une reponse...
Alors du coup j'en profite maintenant : Salut the lsd! Merci de ta reponse (en + si rapide!), et je te prie de m'escuser pour ce manque de politesse.  
62  Programmation / Langages Web / Re : envoie de mail PHP le: 16 Juillet 2018 à 17:28:57
Ok merci.
Oui, j'etais justement en train de simplifier tout ca :

Code:
<?php
ini_set
("SMTP","smtp.orange.fr");
ini_set("smtp_port","25");
ini_set("sendmail_from","test@gmail.com");
ini_set("display_errors");

$mail 'mon_adresse@mail.com';
$message "Message de test.";
$sujet "Test";

try
{
mail($mail,$sujet,$message);
}
catch (
Exception $e)
{
echo 
"Message could not be sent. ";
echo 
"Mailer Error: " $mail->ErrorInfo;
exit;
}

echo 
"Message has been sent";
?>


Citation
1. Le smtp orange écoute t-il bien sur le port 25
Oui, je l'ai deja utilise via un autre code en python est fonctionne parfaitement.

Citation
2. Regarde avec un outil comme wireshark si tes paquets partent bien
Alors c'est quelque chose que je ne maitrise vraiment pas... (l'occaz de s'y mettre me dira-t-on.)

Code:
3. Spam ?
Ce n'est vraiment pas mon idee ici. J'ai meme hesite un peu avant d'effectuer mon premier post. Non, c'est une reflexion faite a partir d'un challenge, qui me permet au passage de me faire la main en programmation.

Bon, je vais chercher du cote de wireshark alors. Sinon, dans le code, rien de choquant?

En tout cas merci bien!


63  Programmation / Langages Web / [Resolu] envoie de mail PHP le: 16 Juillet 2018 à 16:50:29
Bonjour a tous,

je voudrais parvenir a envoyer un mail via php. Mon script a l'air de bien s'executer, cependant, lors de ma phase de test je ne recois aucun message...

Code:
<?php
ini_set
("SMTP","smtp.orange.fr");                             // Utilisation du smtp ouvert de Orange
ini_set("smtp_port","25");
ini_set("sendmail_from","test@gmail.com");            // Devrait fonctionner avec n'importe quoi ici (Teste et approuve sur python)
ini_set("display_errors");

$mail 'mon_adresse@mail.com';                              // Declaration de l'adresse de destination.
$passage_ligne "\n";
$message_txt "Message de test.";

 
//Creation de la boundary
$boundary "-----=".md5(rand());

 
//Sujet.
$sujet "Test";

 
//Creation du header de l'e-mail.
//$header = "From: \"neib\"<adresse@mail.com>".$passage_ligne;       // Ici j'ai commente car pour moi c'est mes ini_set du debut, mais meme decommente ca ne marche pas...
$header "Reply-to: \"neib\"<mon_adresse@mail.com>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;

 
//Creation du message.
$message $passage_ligne."--".$boundary.$passage_ligne;

//Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;

//Fermeture boundary
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;


//Envoi du mail.
try
{
mail($mail,$sujet,$message,$header);
}
catch (
Exception $e)
{
echo 
"Message could not be sent.";
echo 
"Mailer Error: " $mail->ErrorInfo;
}

echo 
"Message has been sent.";
?>


Ce qui m'enerve c'est que je n'arrive pas du tout a comprendre ce qui ne va pas. J'ai essaye plusieurs variantes, mais ce code est le seul qui ne me retourne aucune erreur.
Au passage, je me demande meme si je pourrait pas completement me passer du header? (Meme resultat avec ou sans.)
Est-ce qu'une ame charitable pourrait m'aider a y voir plus clair?

Merci beaucoup.
64  Challenges / Aide Wargame / Re : Wargame - Bof bof le: 29 Juin 2018 à 23:12:10
salut roy_raider,

Citation
Comme d'autres le disent une épreuve intermédiaire serait pas de trop.

Il faut savoir qu'il existe bel et bien une epreuve intermediaire, meme si elle apparait en dessous, il s'agit de "Bof". Ca a ete un bon debut pour moi pour me pencher sur l'assembleur etc...

Citation
Sinon avec les tutaux de Pixis j'ai réussi l'exercice sans la sécurité, maintenant avec la sécurité je commence à ne plu voir de solution simple et je me demande si je vois pas trop compliqué.
J'ai essayé d'écrire autrement l'hexa mais du coup c'est pas interprété (ou je m'y prend mal);

Tu veux dire par securite, la detection de shellcode? Tu as essaye en local?
Comme dit plus haut, il y a plusieurs facons de proceder. Tu ne dois plus etre tres loin, mais la realisation de l'autre epreuve avant te mettra peut-etre dans une bonne logique, la detection de caracteres interdits ne fut qu'a peine l'objet d'une inquietude. (Cela dit, ca fait pas tout non plus, hein.)

Sur le net tu peux trouver de tres bonnes docs quant a la creation de shellcodes, et ca, c'est bien.
65  Programmation / Autres langages / Re : Transfert de fichiers via IRC en python3 : Probleme DCC SEND le: 29 Avril 2018 à 00:28:36
Merci pour toutes vos reponses qui m'ont permis d'y voir plus clair et apportent bien plus encore. Ca m'a permi d'aller voir des choses que je m'attendais pas et ca c'est cool! 

Sinon pour DCC je met de cote pour l'instant, ca m'a l'air trop complique pour le niveau ou j'en suis. Par contre je vois bien la direction a suivre, ce n'est que partie remise. J'ai quand meme la possibilite d'envoyer des fichiers par une fonction mail(), mais je me sens un peu limite quant a la taille des pieces jointes... Enfin bref, ca se fera petit a petit et ca sera bien quand meme!

Encore merci pour votre temps!
 
Je met un Resolu, je crois bien que toutes les explications ont ete donnes.
66  Programmation / Autres langages / Re : Transfert de fichiers via IRC en python3 : Probleme DCC SEND le: 27 Avril 2018 à 01:47:20
Code:
Attention ! Le serveur irc ne connait pas la commande dcc, ça ne sert donc à rien de lui envoyer.
Alors c'est pour ca, que quand moi je la tape dans mon client, ca marche, et que mon Bot ne sait pas gerer ca car c'est lui le client et donc a lui de faire le boulot.

Ok il me semblait bien aussi que ca allait etre un truc comme ca. J'esperais encore que ca allait etre facile mais c'est la vie!

Du coup si je veux l'implementer il faut que je redefinisse une nouvelle connexion.
Je crois que cette fois j'ai bien saisi le probleme. Autrement dit, je ne suis pas sorti de l'auberge...
Je vais voir ce que je peux faire maintenant.

Merci pour les infos, ca me debloque vraiment!
67  Programmation / Autres langages / Re : Transfert de fichiers via IRC en python3 : Probleme DCC SEND le: 26 Avril 2018 à 15:29:47
Ah, je ne savais pas.
Etant autodidacte il y a pas mal de choses qui peuvent m'echaper.
Je m'etais arreter a l'utilisation "\n" --> linux, "\r" --> mac et "\r\n" --> windows.

Du coup j'ai teste avec et sans le "\r", les messages sont bien postes.
Par contre sans rien du tout (ni "r" ni "n") bon ba la ca marche plus du tout.

Du coup ca m'a fait voir que je l'avais oublie dans ma fonction sendfile(), mais ce n'est pas ca qui pose probleme apparement. 

Lors de l'appelle de ma fonction je fais un "print("n'importe quoi")" qui ne s'affiche pas, comme si le programme avait saute la suite car il continue de recevoir et analyser les messages que je lui envoie...

Code:
		if name == "neib" and message == "sendfile" :
sendfile()
print("c'est bon")
68  Programmation / Autres langages / Re : Transfert de fichiers via IRC en python3 le: 26 Avril 2018 à 11:44:29
Salut Stockage.
Citation
Juste un détail mais qui a son importance : C'est "\r\n" et pas "\n\r"
En fait travaillant sur linux "\n" suffit. Mais je pensais au cote portage multi-plateforme. Enfin bref, du coup j'ai vire tous les "\r". Merci pour l'info!

Pour l'histoire de "DCC SEND".
J'ai essaye de simplifier mon code au maximum afin de ne garder que l'envoi de fichier, mais sans succes...

Code:
#!/usr/bin/python3
# -*- coding: utf-8 -*-

import socket
import os
import time

# Declaration des fonctions.
def pong():
  ircsock.send(bytes("PONG :pingis\n", "UTF-8"))

def sendfile():
ircsock.send(bytes("DCC SEND neib DCC.py" , "UTF-8"))

def rcvmsg():
ircmsg = ircsock.recv(2048).decode("UTF-8")
ircmsg = ircmsg.strip('\n')

if ircmsg.find ("PING :") != -1 :
pong()

elif ircmsg.find("PRIVMSG") != -1 :
name = ircmsg.split('!',1)[0][1:]
message = ircmsg.split('PRIVMSG',1)[1].split(':',1)[1]

if name == "neib" and message == "sendfile" :
sendfile()




# Parametrage de la connection.
# On determine le reseau sur lequel on va se connecter.
ircsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server = "chat.freenode.net" # Server
chan = "#TestDCCSEND" # Channel
botnick = "testdcc" # Nick

#
#
#
# Connection au reseau.
ircsock.connect((server, 6667)) # 6697 pour utiliser ssl ou sinon 6667.
ircsock.send(bytes("USER "+ botnick +" "+ botnick +" "+ botnick + " " + botnick + "\n", "UTF-8")) # Identification du bot.
ircsock.send(bytes("NICK "+ botnick +"\n", "UTF-8")) # Assigne le nick du bot

#
# Rejoindre un cannal.
ircsock.send(bytes("JOIN "+ chan +"\n", "UTF-8"))
ircmsg = ""
#ircsock.send(bytes("HELP\n", "UTF-8"))
ircsock.send(bytes("PRIVMSG "+ chan+ " :plop!\n", "UTF-8"))
ircsock.send(bytes("PRIVMSG neib :Ok.\n", "UTF-8"))

while 1 :
rcvmsg()

Etant donne que  DCC est un protocole utilise par IRC, ne faudrait-il pas creer une nouvelle connection entre le bot et l'admin sur un port specifique?

EDIT : De meme que :
Code:
def rcvfile():
ircsock.send(bytes("DCC GET neib", "UTF-8"))
ne semble pas fonctionner non plus. Il faudrait que j'arrive a trouver un message d'erreur...

Merci!
69  Programmation / Autres langages / Re : Transfert de fichiers via IRC en python3 le: 24 Avril 2018 à 21:56:25
Merci pour ces precisions, je vais etudier un peu ca.
Mais du coup dans :
 
Code:
def rcvmsg():
ircmsg = ircsock.recv(2048).decode("UTF-8")
ircmsg = ircmsg.strip('\n\r')

il faut bien que je lui indique la taille comme argument.
Pour moi la fonction se termine normalment a chaque message recu et 2048 est la taille maximum pour chaque message la communication.
Ce qui fait que globalment pas de probleme.

Citation
ircmsg.find ? si en tant qu'utilisateur de ton bot, j'écris des trucs sur IRC, du genre "PING PRIVMSG QUERY NICK". Il se passe quoi à ton avis ?  Tu devrais couper ta chaîne dès que tu la reçois, et une fois qu'elle est correctement splitée, vérifier que la commande correspond bien dans ton if.
En fait je trouve ca bien galere le traitement des messages recus. Ca marche a peu pres comme ca, je n'ai pas encore constate de problemes.
Mais du coup je vais le rajouter sur ma liste de modifications.

Sinon :
Citation
"/bin/sh: 1: DCC: not found
/bin/sh: 1: Syntax error: "(" unexpected"
ce message d'erreur a ete obtenu je pense grace a "print(message)" et en reponse a la commande manuelle dans mon client irc : "/dcc send monbot fichier" (ou en graphique via l'option adequat).
Peut etre est-ce du a une autre fonction ouverte en attente d'une commande et qui renvoie ce message d'erreur, mais tout le reste du programme semble fonctionner comme il faut.

Mais mon gros probleme est surtout le
Code:
def send(fichier) :
ircsock.send(bytes("DCC SEND "+ adminname + " " + fichier +"\n", "UTF-8"))
qui ne fonctionne pas.

Merci pour le coup d'oeil!

EDIT :  En fait j'ai compris pour l'histoire du "/bin/sh dcc not found". C'est du a mon "else :" de la fin qui accepte beaucoup trop de choses. Je vais y remedier.
Sinon pour mon "send()", si adminname a ete declare en dehors de la fonction, le connait-il a l'interieur? En meme temps oui, sinon j'aurais une erreur du genre "adminname not declared". J'ai plus trop d'idees... Bon, je vais continuer mes recherches.
70  Programmation / Autres langages / Re : Transfert de fichiers via IRC en python3 le: 24 Avril 2018 à 19:52:34
Salut!
Merci pour les explications.

Alors en fait, ce bout de code ne correspond pas a mon programme, j'ai essayer de virer un peu ce qui nous interresse pas.
Du coup :
Citation
message[0] correspond à l'index 0 de la variable messge, soit le caractère "s". Ainsi, ça équivaut à "s" == "send", ce qui est par définition faux.

Tu ne valides donc jamais la condition et n'appelles pas la fonction send.

j'ai transforme messge en list grace a
Code:
messge = message.split()

Effectivement, je vais le rajouter dans mon post No1.
Toutes mes commandes sont passees sur ce principe.

Citation
Au passage, même en fixant ce souci, tu essaie désespérément d’utiliser la variable messge... qui n'existe pas, vu qu'il manque un "a"
Pas de soucis la decu, c'est bien ca j'ai deja pas mal de msg message etc...

Citation
Tu ne boucles pas, donc de base, ça ne devrait pas pouvoir fonctionner très longtemps (juste le temps des 2048 octets à recevoir, ou d'une coupure de la socket). Un coup de while True devrait aider à ce que ton bot survive
Je boucle grace a
Code:
joinchan(channel)
while rcvmsg() != exitcode :
rcvmsg()
Pardon, peut etre que j'ai voulu trop en virer dans mon premier message, je vais editer.
Par contre l'histoire des 2048 octets c'est quelque chose que je ne maitrise pas vraiment.
En plus au debut du code j'ai un
Code:
BUFFER_SIZE = 1024
Je veux bien quelques explications si ca ne te gene pas?

Du coup, pour en revenir a mon send(), lors de la declaration de ma fonction, est-ce que ca parait correct?
Est ce que DCC utilise un autre port qui pourrait etre filtre par ma box?

En tapant la commande manuellement dans HexChat :
Code:
/dcc send neib fichier
pas de probleme pour l'auto-envoie.

Par contre pour mon bot :
Code:
/dcc send BOT fichier
j'obtient le message suivant dans mon retour du programme :
Citation
/bin/sh: 1: DCC: not found
/bin/sh: 1: Syntax error: "(" unexpected
Je sais que je n'ai encore rien prevu pour la reception mais je trouve ce message un peu bizzard.

Ok, je vais editer mon premier message pour y comprendre un peu mieux.

Merci.
71  Programmation / Autres langages / (Resolu) Transfert de fichiers via IRC en python3 : Probleme DCC SEND le: 24 Avril 2018 à 18:12:03
Bonjour,

Je ne sais pas si y'en a qui sont chaud de la programmation, enfin voila, je coince lors de la creation d'un bot en python.
La communication se fait nickel, la plupart des fonctions sont operationnelles, seulement, lorsque je souhaite envoyer un fichier rien ne se passe... Aucune reponse, mais le programme continue de fonctionner normalement.

Je vais essayer de resumer un peu mon code en gardant ce qui me semble utile ici :

Code:
#!/usr/bin/python3
# -*- coding: utf-8 -*-

import socket

# On determine le reseau sur lequel on va se connecter.
ircsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server = "chat.freenode.net" # Server
BUFFER_SIZE = 1024

# Preparation
channel = "#test" # Channel
botnick = "test" # Nick
adminname = "admin"

# Connection au reseau.
ircsock.connect((server, 6667)) # 6697 pour utiliser ssl ou sinon 6667.
ircsock.send(bytes("USER "+ botnick +" "+ botnick +" "+ botnick + " " + botnick + "\n", "UTF-8")) # Identification du bot.
ircsock.send(bytes("NICK "+ botnick +"\n", "UTF-8")) # Assigne le nick du bot

# Rejoindre le cannal.
def joinchan(chan):
ircsock.send(bytes("JOIN "+ chan +"\n", "UTF-8"))
ircsock.send(bytes("PRIVMSG "+ chan+ " :plop!\n", "UTF-8"))
ircsock.send(bytes("PRIVMSG "+ adminname + " :En attente.\n", "UTF-8"))

# Envoyer un message.
def sendmsg(msge, target=channel): # sends messages to the target.
ircsock.send(bytes("PRIVMSG "+ target +" :"+ msge +"\n", "UTF-8"))
# Ici tout marche bien.

# Envoyer un fichier.
def send(fichier) :
ircsock.send(bytes("DCC SEND "+ adminname + " " + fichier +"\n", "UTF-8"))

joinchan(channel)


def rcvmsg() :
        ircmsg = ircsock.recv(2048).decode("UTF-8")
        ircmsg = ircmsg.strip('\n\r')

# Ne pas oublier le fameux ping pong...
        if ircmsg.find ("PING :") != -1:
       ping()    # Bon, la, je met pas la fonction pour repondre au ping, elle existe bien

#  Recuperer le message ainsi que son expediteur.
        elif ircmsg.find("PRIVMSG") != -1:
       name = ircmsg.split('!',1)[0][1:]
       message = ircmsg.split('PRIVMSG',1)[1].split(':',1)[1]
       print(message)


                messge = message.split()  # Et voila! Effectivement c'etait important!

       if name == adminname and messge[0] == "send" :
       if len(messge) > 1 :
        send(messge[1])
# C'est ici que ca ne va pas... j'ai aussi essaye :

#        ircsock.send(bytes("DCC SEND "+ adminname + " :fichier\n", "UTF-8"))
#        ircsock.send(bytes("SEND "+ adminname + " :" + messge[1] + "\n", "UTF-8"))
#        ircsock.send(bytes("PRIVMSG "+ adminname +" :/dcc send "+ adminname + " " + messge[1] +"\n", "UTF-8"))
#         ircsock.send(bytes("DCC SEND "+ adminname + " :" + messge[1] +"\n", "UTF-8"))
#        ircsock.send(bytes("DCC SEND "+ adminname + " " + messge[1] +"\n", "UTF-8"))


joinchan(channel)
while rcvmsg() != exitcode :
rcvmsg()

# Voila, comme ca ca doit etre un peu mieux pour comprendre.

Voila, la fonction send() ne sert a rien...

J'ai vu aussi que irclib permettait d'utiliser dcc, mais pas evident de trouver de la doc, la plupart renvoie a des tutos pour pour le telechargement sur des servers xdcc...(pas bien! ) Enfin bref.

Est ce que quelqu'un a deja fait?
Ou alors peut etre que j'ai fait une erreur evidente, mais pour l'instant je ne trouve pas.

Merci d'avance!

EDIT : sur le meme principe, j'ai egalement cree une fonction mail() qui permet d'envoyer un fichier via smtp.
L'ajout de '/dcc send' ici est pour racourcir un peu les manips (ouvrir boite mail, puis dl piece jointe)
La comprehension de dcc permettra aussi la possibilite inverse : qui dit envoie dit aussi recoit.
En gros je pourrais m'en passer mais j'aimerais bien l'avoir quand meme.

EDIT2: Voila, j'ai un peu clarifie mon code, j'espere que ca va mieux, desole.
72  Challenges / Aide Wargame / Re : Wargame - Spéciale Stockage le: 25 Septembre 2017 à 23:42:53
/* A mettre dans l'after ! */
73  Challenges / Aide Wargame / Re : Wargame - Spéciale Stockage le: 25 Septembre 2017 à 18:46:35
Bonjour,

Alors voila, je me suis lance dans les wargames, celui-ci ayant l'air a ma portee.
J'arrive /* Modération : Ça en dit un peu beaucoup trop ! */

(Je suis desole, je ne sais pas trop ce qu'on a le droit de dire ou pas... En meme temps, peu nombreux ceux qui ont reussi a valider cette epreuve.)

Merci pour les challenges!
Pages: 1 ... 3 4 [5]