I need to have a stub or test harness created that allows for a client application to make a TCP connection to the server stub on a defined port (should be able to be set via command line option) and interact as if the server was an actual SMTP server. Specific response strings will be provided for each step in the SMTP process including a modification at the end to allow for a non-spec response. Specifically, if the "message" value includes the string "EXEC", the server should respond with "EXEC=TRUE" instead of:
221 Closing Port / Mail queued for delivery
and wait for the client to terminate the connection rather than closing the connection on the server side. This is intended to simulate a backdoor application response to be used for demonstrating how to test for application vulnerabilities.
The server stub will not actually need to send any email, connect to any other SMTP system to forward data, or perform any other functions outside of providing these responses and logging any connection attempts. This logging should include _all_ interaction with the server stub including data received from the client as well as the server response.
I have no preference on language and this could be done using either compiled or scripted language. This needs to run on the most recent Ubuntu Linux distribution.
8 freelancers are bidding on average $153 for this job
Interesting job :) I've worked a lot with SMTP on the client part, but only occasionally on the server part. Will you need to come along with SMTP pipelining as well ?