At least 32 Palestinians were killed after Israeli troops opened fire on crowds of refugees seeking food from distribution hubs in southern Gaza, according to witnesses.