emmmm...
pues de rapido, practicamente todas
Esos sitios usan bases de datos donde hospedan la informacion, desde los usuarios, hasta los mensajes entre comprador y vendedor pasando por los productos, precios, descripciones... asi pues, si necesitas mysql
Para trabajar con mysql o el tipo de bases de datos elegidos, necesitas un lenguaje de servidor, llamese php o asp y tambien para conectar servidor con cliente (php ayuda a crear paginas dinamicas como las de esos sitios)
el html es escencial y no dare mas informacion de este punto
javascript lo usan pero intenta no mal usarlo, ellos probablemente lo usen para las galerias fotograficas de los productos o para validar formularios, intenta no llevar el uso de javascript hasta un extremo feo
lo del cliente
ftp... ftp es un protocolo por el cual TU vas a interactuar con tu servidor, con el vas a subir archivos a tu servidor, no tus clientes, solo tu, ellos deberian solo de ver paginas creadas especificamente para ellos (formularios de carga de imagenes por ejemplo)
y pues, tu peticion es algo compleja, primero te aconsejo aprender MUCHO MUCHO antes de hacer algo a la ligera