"No or bad challenge for your address" -- I receive this message far too often for my tastes.
Mostly when I try to enter the 4Fishes CTF server.
I'd like to know what the hell is that "challenge" and why is it bad
A challenge is a special packet sent by the server to the client to establish a crypted data channel between clients and server.
The binaries used for OA085 ( both client and server ) contain a fix for an exploit that allows a valid challenge to be reused. The fix prevents this situation by assuring that every challenge is different for every client that tries to connect to a server and so making it unique for every client.
The problem that you had could be probably caused when you try to connect to a server using the oa081 binary ( which doesn't have this fix) with the new oa085 client and/or viceversa.
Another thing that could explain the invalidation of the challenge is that your UDP packets are not routed directly between your client and the server but they pass through a NAT/proxy/net node that operates IP address and or port substitution.
Something like this :
- your client sends a request
- it passes through a NAT/proxy/net node that operates IP address and/or port substitution ( not forwarding packets )
- the server generates the challenge with the address and the port of the NAT/proxy/net node as above
- the server sends back the challenge but the response doesn't pass through the same proxy/nat/net node
- the challenge is invalid for your client.