I'm sure that writing the script was a great way to gain knowledge of the
language but actively running this would be dangerous on many levels.
Running a script that takes an unencrypted username and password across the
internet and then runs a back-ticked is a waiting time-bomb.

-Dave

----- Original Message -----
From: "Martin, Greg (CSC)" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, December 23, 2002 3:50 PM
Subject: MSN client - (RE: IF help)


> You guys were so helpful, I want to share something I was hacking on
today.
> I saw an article last week on integrating instant messaging with an
> application and it got me thinking.  I found an MSN.pm and put together
this
> script which will log in to MSN Messenger and listen for connections.
When
> it receives a message, it will check to see if it is formatted correctly
> (that is "password::cmd") and that the password is correct.  If everything
> jives, it processes the command and returns the results to the sender.
>
> Notes:
>  - This is rough and ugly, but seems to work (ymmv).  (except
'password::dir
> c:\' will not return the results)
>
>  - requires MSN.PM from
> http://www.adamswann.com/library/2002/msn-perl/index.html
> (note, on line 135 of MSN.pm, change the host name.  I used the
> following:
> $Host = shift || 'baym-cs71.msgr.hotmail.com';
> #'msgr-ns14.msgr.hotmail.com';)
> - May be win32 specific
>
> - change the userid/password on line 5 to a valid msn messenger id
>
> - change the $strpwd as well!
>
> \\Greg Martin
>
>
> -----included script msncl.pl  (based on script at damjen.com)------
> #!/usr/bin/perl
>
> use MSN;
>
> my $client = MSN->new();
> $client->connect('[EMAIL PROTECTED]','msnpw', '', {
>     Status  => \&Status,
>     Answer  => \&Answer,
>     Message => \&Message,
>     Join    => \&Join }
> );
>
>
> sub Status {
>    print "Status() called with parameters:\n";
>    print "   " . join(",", @_), "\n";
>
> }
>
> sub Message {
>    $strpwd = "PassW0rd";
>    print "Message() called with parameters:\n";
>    my ($clnt, $usr, $nicename, $msgtxt) = @_;
>    print $msgtxt, "\n";
>    @fields = split /::/,$msgtxt;
>    $cmd = $fields[1];
>
>    if ($fields[0] eq $strpwd) {
> $outmsg = "Got pw, executing command";
> print $outmsg . "\n";
> $$clnt->sendmsg($outmsg);
> $output = `$cmd 2>&1`;
> print $output;
> $$clnt->sendmsg($output);
> }
>    else {
> $outmsg = "Bad pw";
> print $outmsg . "\n";
> $$clnt->sendmsg($outmsg);
>
> }
> }
>
> sub Join {
>    print "Join() called with parameters:\n";
>    print "   " . join(",", @_), "\n";
> }
>
> sub Answer {
>    print "Answer() called with parameters:\n";
>    print "   " . join(",", @_), "\n";
> }
>
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Monday, December 23, 2002 3:17 PM
> To: [EMAIL PROTECTED]
> Subject: Re: IF help
>
>
> [...]
> MGC> I'm certain this has an obvious answer.  Why does this "if" always
pass
> the
> MGC> test?
> MGC>    $strpwd = "C0ll\@b";
> ...
> MGC>    if ($fields[0] == $strpwd) {
> ...
>
> as compare operator use 'eq' (for strings) instead of '==' (for
> numbers)
>
>
> _______________________________________________
> ActivePerl mailing list
> [EMAIL PROTECTED]
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
>
>
>
> **************************************************************************
> This e-mail and any files transmitted with it may contain privileged or
> confidential information. It is solely for use by the individual for whom
> it is intended, even if addressed incorrectly. If you received this e-mail
> in error, please notify the sender; do not disclose, copy, distribute, or
> take any action in reliance on the contents of this information; and
delete
> it from your system. Any other use of this e-mail is prohibited. Thank you
> for your compliance.
>
>
>
> _______________________________________________
> ActivePerl mailing list
> [EMAIL PROTECTED]
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
>

_______________________________________________
ActivePerl mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to