Hurricanes snatch late win in Jo'burg