Mohammad Hafeez has been dropped by Pakistan for their upcoming Test with South Africa in Abu Dhabi which gets underway on 14 October.