The main problem is that the _real ip_ mIRC will try to connect to is not shown
uppon DCC CHAT or SEND request. This is pretty serious since anyone can spoof a DCC send
or chat request.
I don't understand why there is an IP parameter at all for DCC. Because of NAT?
Example (also done with mIRC :-) )
//quote privmsg fic :DCC CHAT CHAT $longip(127.0.0.1) 31337
That weird character is ASCII 1 (read the CTCP draft).
Now fic just sees that some user wants to DCC CHAT with him.
But that host is the real host of nick. There is not written anywhere that mIRC
will connect to 127.0.0.1 on port 31337. It is pretty probable that the user will now press
'accept' since he thinks nick just wants to chat with him. After he decides to accept
he will see where he has connected. But it is already too late now.
mIRC should display the ip and port and aditionaly a warning if the port is not in
the usual range of 1024-5000 (or maybe even if the users' ip on IRC doesn't match
the 'destination ip').
'DCC spoofing' could be abused in many ways. Let's say a drone sending tons of
dcc chat requests which would result in a huge DoS attack as soon as the 'dumb' users
press 'accept' and lots of connections will be established to the destination.
Or making somebody connect to www.fbi.gov
:22 a few times to get him busted.
I better don't think about those lusers who have auto accept turned on...
Grega "fiction" Pogacnik